How Automation Is Changing ALM
The DevOps model has become ubiquitous in product development, integrating teams that historically have worked in silos — to enable faster, more effective responses to business needs.
At the heart of a successful DevOps pipeline is a clear workflow that is derived from the development lifecycle. While existing tools are essential to track requirements and artifacts throughout product development, these tools have not always kept up with the complexities of a CI/CD working practice.
With automation, however, your ALM lifecycle management system can provide the balance between quality, scale, and velocity that are needed to meet business drivers around speed and alignment.
Let’s look at these pieces individually to understand why automation is needed in DevOps and how ALM the right set of requirement and test management modules solves the greatest challenges here.
DevOps is a set of practices that combines the hardware and software development together with IT operation. The overall purpose of this is to try and shorten the overall development lifecycle system, and also provide continuous delivery and high quality to ensure customer fidelity and high product standards.
The building blocks of the DevOps model are people, technology, and processes. More specifically, it’s how people interact with technology, and how both of those come together to create a solid process for DevOps to move forward.
According to the analyst firm Gartner, “By 2023, 60% of organizations in regulated verticals will have integrated compliance as code into their DevOps toolchains, improving an IT organization's lead time by 20%.”
Regardless of the industry you work in, your business is adopting DevOps culture to some extent. Some companies are more DevOps-forward than others. But we live in an exciting time where technological and procedural transformation is happening continually, and at a fast pace. The integrated nature of DevOps is becoming more and more necessary to keep up with that pace.
Business and technology go hand in hand, but they are two separate hands that have to come together. DevOps is driven by clear business needs. And one of the main business directives is to release faster. So, while you’re dealing with rapid delivery schedules, you also must understand how to scale up items, make them secure, and produce the highest quality product at the end of the day. By making automation a key player within your process, you can find this balance between quality, scale, and velocity.
Benefits of Automation
Obviously, automation introduces more speed into your process while eliminating human error. But your DevOps team also relies on automation to:
- Eliminate bottlenecks.
- Avoid blind spots that lead to quality gaps.
- Minimize communication gaps between the development, operations, and quality assurance teams.
- Introduce mechanisms that facilitate agility through standardized processes.
You’re probably used to automation in some way or another, but no matter where you work, automation will be used in your company in the future. It’s simply the only way to accomplish your business goals and stay competitive.
As mentioned above, ALM tools are already used in product development — especially in regulated industries — to help streamline development, create visibility across teams, ensure accuracy, and create traceability.
When you use a solution like Helix ALM, however, there are a number of processes you can automate both because of and within the system for a wide variety of benefits. For example, within the system, admins can automate a number of processes like:
- Locking Workflow States
- Change Control Loops
- Security Permissions
- Viewing / Auditing History
- Email Notifications
- Slack Integration
But the system itself is set to automatically track and document everything that happens within product development — from requirements to testing to issues management. This frees people within development of certain administrative tasks, which reduces errors and saves time. Simultaneously, the system automatically collects and tracks data that lets you see how various items are related, as well as what’s happening within the process. A few things this helps you do:
- Clearly identify what needs to be fixed when a test fails.
- Confirm what has been completed, by whom.
- Know when approvals have been given.
- Avoid starting from scratch when a change is deployed.
One of the most important features of an automated ALM lifecycle management tools is traceability. This is the underlying functionality that provides visibility and the ability to track activity. However, an ALM solution will also create traceability matrices and reports as needed for various tracking purposes.
A major reason that companies want this traceability is for compliance. Automation plays a big role in simplifying compliance management — especially when it comes time to prove compliance.
ALM automation goes beyond traceability, though. Let’s review a more granular application that makes a significant impact on DevOps: Testing.
ALM Lifecycle Management Automation Example: Testing
When you consider the classic image of the DevOps loop, we’ve learned that testing is the area with the greatest opportunity to significantly reduce time through automation.
In fact, one of the most critical initiatives businesses currently face is to reduce overall regression testing duration from weeks to days, or in some cases, even hours. In the Perforce webinar How DevOps Automation is Reshaping ALM, Director of Product Management — Tzvika Shahaf — and Solutions Engineer for Helix ALM — Charles Lane — discuss a real example of this.
They explain how a large, well-known financial institution was spending eight days every month on regression testing. With automation, they were able to cut that time about in half, to 3-5 days. And they continue to work towards a goal of 1-2 days. This is not only a massive reduction in time, but also provides a process that allows them to accurately estimate how long this testing will take when they need to, for example, release a hot fix.
Manual Late-Cycle Testing
Shahaf and Lane also point out that the most common reason businesses tell them that testing is inhibiting their ability to trim down regression sweeps is that they rely heavily on a manual testing cycle that only happens when the development activity is completed.
This labor-intensive process places testing so late in production, development is already two features ahead by the time tests are completed. This makes it almost impossible for developers to get the right information to reproduce or dive deeper into root cause analysis. So, it slows down the process and turns testing into a liability rather than enabling faster delivery.
Another common bottleneck is in the ability to interpret and track data. Some important questions you need to ask yourself are how much data do you have to keep track of, and what is it telling you? If you’re running thousands of tests on a daily or nightly basis, are you able to understand whether the data indicates you are ready to release right now? You should have a process that provides some sort of a go or no-go gauge so that you understand what the data means.
As for other tracking, understanding exactly when something fails is important, as well as understanding what issues pop up from that failure. But those issues may lead to future requirements or changes in current requirements. Your ALM solution should automatically put all of this in one interface: from the test to the issue to the requirements, you want to know how all of those trace together. And this information should be centrally available to all of production.
To understand more clearly how automated testing impacts DevOps, download the free on-demand webinar How DevOps Automation is Reshaping ALM >>
Start Automating ALM
No matter how closely your development model resembles the DevOps concept, the ability to automate will always be important. Automation by Perforce can help you consistently meet your release dates, and with a high-quality product.
While there are several solutions available to address DevOps needs, it is important to look at how your ALM tools can support your efforts. Start by setting up your teams for success with a 30-day free trial of Helix ALM.