JFrog announced a new machine learning (ML) lifecycle integration between JFrog Artifactory and MLflow, an open source software platform originally developed by Databricks.
DEVOPSdigest asked experts from across the IT industry for their opinions on what steps in the SDLC should be automated. Part 2 covers the coding process.
Start with Steps You Should Be Automating in the SDLC - Part 1
CODING
Companies should automate development as much as possible without compromising security. Key to this is reducing the amount of manual coding through low-code platforms, or eliminating it entirely with a no-code system.
Colin Earl
CEO, Agiloft
Automation has permeated many aspects of the software development life cycle. You need infrastructure? Operating systems? Applications? No problem — all it takes is the click of a button. Testing? Deployment? Monitoring? Plenty of automation going on there also. But what about that large bit in the middle — the development. Most organizations still write code by hand and this is biggest opportunity when we're talking about automation. Low-code or high-productivity platforms help organizations bring automation to this, the most significant part of the SDLC, through a visual assembly approach to development. This isn't about replacing developers. This is automation to empower developers to do more — to focus on delivering business value instead of the syntax of a language that, in a few years, will probably be considered "legacy technology."
Mike Hughes
Principal Platform Evangelist, OutSystems
CODE CHECK IN AND CHECK OUT
As part of your DevOps process, an area that would benefit from automation: Code check in and check out process to eliminate circumventing critical tests and steps in the CICD pipeline.
Jeanne Morain
Author and Strategist, iSpeak Cloud
FIXING ERRORS
The bureaucratic toil associated with large-scale software efforts should be fully automated. Adherence to policy and governance practices is important for scaling software development, but it often results in a lot of toil for human developers. This toil — fixing small errors detected by linters, almost-but-not-quite adhering to the style guide — is the kind of thing that is tedious to do manually. It adds friction to development, which slows things down. It's important, but not urgent, so it tends to get put off unless you have super-human levels of discipline.We have robots to vacuum the lint off our floors, so why not do the same thing with the codebase? Automated repairs of common errors are like Roombas for code: they keep things clean so developers are free to work on other, more interesting, tasks.
Ryan Day
Co-Founder and COO, Atomist
THE BUILD
The most straightforward and valuable area to automate is the build, deploy. These tasks provide the greatest opportunity to remove waste and also highlight potential friction points when deploying into production. Removing people from these activities not only increases quality but improves the architecture by shining a spotlight on the way in which the software is constructed. Great way to test this automation is to get EVERYONE in the team to do the build and NOT leave it to a single person, or small group. That would ensure that the kick off process is simple, documented and with luck transparent to everyone.
Dave West
CEO and Product Owner, Scrum.org
DevOps groups should seek to automate processes that eliminate "spaghetti code" that agile programming is supposed to address in the code-building practice itself. Lack of standardized workflows can slow down the overall development process with bad check-ins, integration errors and Q/A out of sync with production. To begin with, they should automate the multitude of objects, packages and pieces of code that need to stay working together.
Steve Garrison
VP Marketing, ZeroStack
API MANAGEMENT
Automating the API management process will help developers increase their velocity of pushing out new API releases as well as streamline access to partner API clients. Developers should look to API automation for creating or importing their own API definitions when rapid releases are demanded. Developers should choose an API gateway that can effortlessly scale with their business needs as well snap into their existing DevOps workflow.
Nick Tran
VP, Developer Relations, Akamai
When an API signature changes, or an API version is retired, the application could become unstable or lose functionality. Implementing automated identification of API dependencies and monitoring for changes in signature and availability help insulate from API contract issues. When coupled with an understanding of data flowing to and from the API, supporting increasingly complex data management and privacy regulations becomes simpler.
Tim Mackey
Technology Evangelist, Synopsys
APPLICATION WORKFLOW
Companies should automate testing of workflows, making sure these processes function properly and nothing is broken or missed when the code comes together.
Anand Subramanian
SVP of Delivery, Ness
One area getting more focus from DevOps teams is automating and orchestrating the workflows that actually run the application in the operational stage. Too often application workflow orchestration is still being done right before release to production. This typically causes a fire-drill because the workflows were not tested with the rest of the code through the earlier phases. DevOps teams are now adopting a Jobs-as-Code approach that simply adds application workflow instrumentation as a code artifact with the business logic. This means one complete code set flows through the full CI/CD automation pipeline and is ready for production, with automation and orchestration governance already built it. Avoiding the fire-drill means DevOps teams avoid unplanned rework and deliver the business service into production faster.
Gur Steif
President, Digital Business Automation, BMC Software
PROJECT MANAGEMENT
Other non-obvious, but extremely helpful automation can be applied around software project management like automated state transition for tasks on a project board (e.g. move all newly added issues to "To-do" or to move all reopened issues to "In-Progress").
Lee Calcote
Head of Technology Strategy, SolarWinds
Read Steps You Should Be Automating in the SDLC - Part 3, covering the development environment and the infrastructure.
Industry News
Copado announced the general availability of Test Copilot, the AI-powered test creation assistant.
SmartBear has added no-code test automation powered by GenAI to its Zephyr Scale, the solution that delivers scalable, performant test management inside Jira.
Opsera announced that two new patents have been issued for its Unified DevOps Platform, now totaling nine patents issued for the cloud-native DevOps Platform.
mabl announced the addition of mobile application testing to its platform.
Spectro Cloud announced the achievement of a new Amazon Web Services (AWS) Competency designation.
GitLab announced the general availability of GitLab Duo Chat.
SmartBear announced a new version of its API design and documentation tool, SwaggerHub, integrating Stoplight’s API open source tools.
Red Hat announced updates to Red Hat Trusted Software Supply Chain.
Tricentis announced the latest update to the company’s AI offerings with the launch of Tricentis Copilot, a suite of solutions leveraging generative AI to enhance productivity throughout the entire testing lifecycle.
CIQ launched fully supported, upstream stable kernels for Rocky Linux via the CIQ Enterprise Linux Platform, providing enhanced performance, hardware compatibility and security.
Redgate launched an enterprise version of its database monitoring tool, providing a range of new features to address the challenges of scale and complexity faced by larger organizations.
Snyk announced the expansion of its current partnership with Google Cloud to advance secure code generated by Google Cloud’s generative-AI-powered collaborator service, Gemini Code Assist.
Kong announced the commercial availability of Kong Konnect Dedicated Cloud Gateways on Amazon Web Services (AWS).
Pegasystems announced the general availability of Pega Infinity ’24.1™.