Organizations moving into an agile development methodology often uncover other processes that can be
accelerated, such as delivery by DevOps and continuous testing. The acceleration set in motion via agile makes it necessary to speed up the release schedule as well.
In order to ensure a successful release, an organization must adopt continuous testing to make sure the conveyer belt does not break down. The modernization maturity model has these three distinct phases:
Agile software development is a different way of thinking about approaching the challenge of development time. Traditionally, applications are developed over a 12-month period and they go through distinct phases:
With agile, the same SDLC basics apply but the cycle is compressed and iterative. This has many advantages such as quicker feedback, the ability to react to the market, the ability to release whenever you want and most importantly, more accurate delivery.
DevOps is aimed at automating all the necessary steps required to take application code and deliver it to the end user. It works like a conveyor belt to move application code through the distinct phases.
These seven distinct phases are often referred to as the DevOps toolchain where a series of processes or “tools” are strung together in order to manage the delivery pipeline. The phases are as follows:
- Verify (test)
- Continuous testing
Continuous testing provides an automated, unobtrusive way to obtain immediate feedback on the business risks associated with a software release candidate. It guides development teams to meet business expectations and helps managers make informed trade-off decisions in order to optimize the business value of a release candidate.
Continuous testing isn’t simply more test automation. Given the business expectations at each stage of the SDLC, continuous testing delivers a quantitative assessment of risk as well as actionable tasks that help mitigate risks before they progress to the next stage of the SDLC.