Steps You Should Be Automating in the SDLC - Part 1
November 05, 2018

DevOps, Agile, CI/CD, all the buzz words that define software development today are about speed and quality. If you plan to survive in the digital economy, you need to bring your applications to market faster, and you want to ensure quality. Automation is a key to help you achieve both goals. In a recent blog on DEVOPSdigest, Nigel Kersten, VP of Ecosystem Engineering at Puppet, provided survey results that showed "69 percent of C-level respondents strongly agree automation is a competitive advantage."

Everyone talks about automating the software development lifecycle (SDLC) but the first question should be: What should you automate? With this question in mind, DEVOPSdigest asked experts from across the IT industry — from analysts and consultants to the top vendors — for their opinions on what steps in the SDLC should be automated.

Many experts said "automate everything." Dave West, CEO, Scrum.org, disagrees: "When deciding on what to automate in your development process it is important to balance flexibility with removing waste. Wasteful tasks should be automated, but only if the cost of that automation is not reduced agility. Sometimes flexibility is more important than efficiency."

We cannot truly automate every task currently performed by humans. So some decisions must be made. The purpose of this list is to provide you with insight from a multitude of experts in the field, to help you make those decisions.

The list of "Steps You Should Be Automating in the SDLC" will be posted in 5 parts this week. Part 1 starts with by-far the most popular recommendation: Testing.

TESTING

Definitely testing. Developers often treat testing as an afterthought and, when they actually do testing, the parameters aren’t realistic. Good use of automation in all aspects of testing ensures the right tests happen and are effective in ensuring application quality.
Jim Rapoza
Research Director, Aberdeen

The one elusive area is testing. Realistically none have able to accomplish automation to a high degree (90%+). Over time we will improve in test automation, but seeing completely automated testing is still elusive.
Jonah Kowall
VP of Market Development and Insights, AppDynamics

Automated testing at all levels gives everybody more confidence in the life cycle, saves from expensive production bugs, and allows creation of new features. Test automation is often thought of much later in the life cycle which means that teams often test manually and create decisions that make automation much harder in the future.
Abhinav Asthana
CEO, Postman

Knowing what to automate during the testing phase is where true DevOps success can be achieved. Unlike automating portions of the lifecycle — like package dependency, code analysis, and infrastructure — automated testing, if not properly implemented, can result in a significant increase in the total build time and inhibit the success of DevOps initiatives.
Ryan Lloyd
VP of Products, Test & Development, SmartBear

The more development teams can focus on developing software that provides customer value, the better the business outcome. The biggest inhibitor in this process is manual testing. Shifting left and incorporating automated testing into the development lifecycle earlier enables developers to reduce cycle times and iterate more quickly. When combined with Continuous Integration, test automation provides a quick, reliable, repeatable process to test new ideas and fixes. This enables faster feedback, increases developer productivity and allows development teams to deliver better software faster.
Mark Levy
Director, Product Marketing, Micro Focus

Test Automation. Any DevOps team cannot be 100% productive if it still has to rely largely on manual testing. Of course it is important to define and analyze certain quality attributes manually; for e.g. if a customer reports a critical bug and the DevOps team is working on a fix, a good understanding of the application functionality and the underlying development landscape can facilitate a smooth resolution. However, for most repeated test operations, the development and testing teams should work together to develop test scripts that can be safely automated. This can help increase overall testing efficiency, fasten the deployment time and reduce the risk of certain errors missed during manual testing to be released in the build.
Anugraha Benjamin
Market Analyst, ITOM-Applications Manager, ManageEngine

Software testing is a crucial part of any modern software development life cycle. As such, it's critical that teams automate their testing in the development process. Manual testing is inefficient and time consuming, and can become a serious bottleneck in the software delivery pipeline. With automated testing, teams save time, catch bugs early when they are easier to fix, and are enabled to test much more comprehensively than they can when relying on manual testing alone. Automated testing allows companies to focus on building and deploying code so that their customers can have a seamless experience.
Lubos Parobek
VP, Sauce Labs

For starters go with testing. Automated testing is a big gap in many environments and can significantly delay an automated CI/CD process. Whether it is Unit Testing, Functional Testing, Regression Testing or even Smoke Testing it will truly benefit from automation. Not only will the automation of testing speed your application delivery time, it will improve code quality throughout its lifecycle for better performing and more available applications.
Allen Vailliencourt
DevOps Solutions Architect, Forty8Fifty Labs

I would say test automation is the most important part of the SDLC because manual testing takes a long time and it's expensive, and if issues are missed the customer impact is huge. So test automation not only allows developers to deliver software faster but also in a more secure way. It gives you the best bang for the buck.
Isabel Vilacides
Director of Quality Engineering and Developer Productivity, CloudBees

UNIT TESTING

Unit testing (across all platforms, including the mainframe) is prime for automation. Unit testing breaks applications down into their smallest testable parts, enabling problems to be identified earlier. This ultimately prevents bugs from being baked into software and becoming more costly and time-consuming to resolve. Creating unit tests for mainframe code has traditionally been a slow, manual process that many developers chose to ignore. However, because of the critical back-end processing performed by mainframe code, any quality issue will affect the end user experience. Importantly, mainframe unit tests can and should be integrated into modern, automated DevOps toolchains to ensure continuous quality.
David Rizzo
VP of Product Development, Compuware

MOBILE APP TESTING

Testing should be automated, especially important for mobile apps. Automated testing continues to be mission critical for scaling mobile apps, fast. Today's consumers run mobile apps on a countless number of devices, so developers must have access to every device imaginable in order to deliver the highest level of performance. This point is especially important when you consider that the cost of regaining a customer is four times higher than winning them in the first place. Getting software right the first time through a culture of Continuous Integration and Continuous Deployment (CI/CD) is critical to success.
Kalpessh Doshi
Senior Product Manager, BrowserStack

CUSTOMER-DRIVEN TESTING

You should be using information from live production, e.g. the most common user journeys and data, to automatically generate test scripts that focus on what users really care about. Test Automation is great, but most teams have a very manual and unsophisticated approach to deciding which user journeys they should test. This should all be based on what real users are doing NOW in live.
Antony Edwards
CTO, Eggplant

ACCEPTANCE TESTING

Everyone is automating their CI processes and unit testing these days. If I were to run a team, one of the things I would ask them to focus on is Acceptance Testing Automation, a significant bottleneck development teams face today.
Logan Daigle
Director of DevOps Strategy and Delivery, CollabNet VersionOne

REGRESSION TESTING

The most important part of the DevOps pipeline that should be automated is regression testing. Running manual regression tests for every new product feature and release can consume an enormous amount of valuable time. Also, developers don't get early feedback and are not aware if their new code contains bugs in places they did not expect. Automation is the key to fast feedback and thorough coverage, which are essential for successful regression testing.
Chris Breitwieser
Innovation Manager, Ranorex

PRE-PRODUCTION ROLLOUT

DevOps creates a new software build and tests it in their lab but then it is often questionable as to whether the network wide rollout will work correctly. Many DevOps rollout issues can be reduced, if not eliminated, by using proactive monitoring solutions with automated synthetic traffic generators that mimic production network busy hours to pretest new software releases.
Keith Bromley
Senior Manager, Solutions Marketing, Ixia Solutions Group a Keysight Technologies business

CI/CD

Real users who recently reviewed DevOps solutions in the IT Central Station community recommend automating common tasks in the CI/CD pipeline.
Russell Rothstein
Founder and CEO, IT Central Station

Click here to learn more

Invest time in building out the CI/CD pipeline. Have it build, test, package, and deploy your services to a test environment. Make it trivial to deploy to production with a click of a button and with confidence. Increasing the development velocity has a clear and direct impact on delivering software to production and that typically correlates with business success.
Otis Gospodnetić
Founder, Sematext

MONITORING

Manual monitoring remains the only part of the CI/CD process that isn't automated, and continues to be a pain point for DevOps teams. Automatic monitoring would finally allow the entire CI/CD process to become automated. An automatic CI/CD process would enable DevOps teams to realize their full potential and allow organizations to become quicker with the delivery of their applications.
Mirko Novakovic
CEO, Instana

Read Steps You Should Be Automating in the SDLC - Part 2, covering the coding process.

Share this

Industry News

October 03, 2023

Parasoft announced new advancements in its Continuous Quality Platform for functional solutions, which include Parasoft Virtualize, SOAtest, CTP, and DTP.

The latest releases introduce capabilities including:

- GenAI integration for API testing

- Comprehensive microservices code coverage

- Web accessibility testing

- Powerful learning mode for creating and updating virtual assets

These innovations are set to transform the landscape of software testing for enterprise application development and test teams.

October 03, 2023

LinearB announced the release of free DORA Metrics dashboards.

October 03, 2023

PerfectScale, a provider of Kubernetes optimization, has successfully closed $7.1 million in seed funding.

October 02, 2023

Spectro Cloud announced Palette EdgeAI to simplify how organizations deploy and manage AI workloads at scale across simple to complex edge locations, such as retail, healthcare, industrial automation, oil and gas, automotive/connected cars, and more.

September 28, 2023

Kong announced Kong Konnect Dedicated Cloud Gateways, the simplest and most cost-effective way to run Kong Gateways in the cloud fully managed as a service and on enterprise dedicated infrastructure.

September 28, 2023

Sisense unveiled the public preview of Compose SDK for Fusion.

September 28, 2023

Cloudflare announced Hyperdrive to make every local database global. Now developers can easily build globally distributed applications on Cloudflare Workers, the serverless developer platform used by over one million developers, without being constrained by their existing infrastructure.

September 27, 2023

Kong announced full support for Kong Mesh in Konnect, making Kong Konnect an API lifecycle management platform with built-in support for Kong Gateway Enterprise, Kong Ingress Controller and Kong Mesh via a SaaS control plane.

September 27, 2023

Vultr announced the launch of the Vultr GPU Stack and Container Registry to enable global enterprises and digital startups alike to build, test and operationalize artificial intelligence (AI) models at scale — across any region on the globe. \

September 27, 2023

Salt Security expanded its partnership with CrowdStrike by integrating the Salt Security API Protection Platform with the CrowdStrike Falcon® Platform.

September 26, 2023

Progress announced a partnership with Software Improvement Group (SIG), an independent technology and advisory firm for software quality, security and improvement, to help ensure the long-term maintainability and modernization of business-critical applications built on the Progress® OpenEdge® platform.

September 26, 2023

Solace announced a new version of its Solace Event Portal solution that gives organizations with Apache Kafka deployments better visibility into, and control over, their Kafka event streams, brokers and associated assets.

September 26, 2023

Reply launched a proprietary framework for generative AI-based software development, KICODE Reply.

September 26, 2023

Harness announced the industry-wide Engineering Excellence Collective™, an engineering leadership community.

September 25, 2023

Harness announced four new product modules on the Harness platform.