Build the Right Things and Build Them Fast: Accelerate the Continuous Delivery Pipeline

Acceleration

When most people think about continuous delivery, they think of improving the build-test-deploy-operate cycle. They don’t think about how to accelerate and improve the intake process. There is not a lot of focus on whether teams are using the right inputs (i.e., clear, unambiguous requirements) before they start coding, testing, and deploying.

Ensuring that quality is built into the application—not tested for after the fact—is the key to achieving the desired acceleration in continuous delivery (CD).

Testing, quality assurance, and quality engineering organizations are trying to transform themselves in order to enable acceleration in the CD pipeline while continuing to build quality into the application. Actually, these organizations are in a prime position to drive changes across their employee culture, process, and technology because their resources are inherent across the entire software development lifecycle. Organizations that have already realized this have put in place programs to upskill the testing staff.

Organizations working to achieve CD quickly know they are great at building things right and with speed, but they are still unsure about whether they are building the right things. There is a difference between the two, and in my experience, this is a gap in CD initiatives.

So, how do you ensure you are building the right things and you’re building them fast? You focus on improving and accelerating the requirements-gathering process, regardless of whether you’re in a traditional or agile organization.

A good example is the way requirements are communicated across different teams. Requirements are the foundation of everything in the software development lifecycle, yet after thirty years, most are still being communicated through writing. They are written in Word or Excel documents or in requirements management tools—all completely manual processes.

Naturally, a manual process becomes a bottleneck in a highly automated CD pipeline where the ultimate goal is speed with quality. Not only that, but requirements written in text format many times are unclear and open to interpretation. Ambiguity is the cause of many defects introduced in the application code.

Instead of trying to run more tests in order to improve quality by finding defects—a reactive solution—what if we ran fewer tests because we have built things correctly from the beginning, therefore being proactive and preventing the high amount of defects from getting into the code? We’d be achieving maximum acceleration of the continuous delivery pipeline by reducing waste caused by defect troubleshooting and rework and ensuring much higher quality. Software engineering practices are mature enough today to deliver on this old promise!

Alex Martins is presenting the session Use Layered Model-Based Requirements to Achieve Continuous Testing at the STAREAST 2017 conference, May 7–12 in Orlando, FL.

Up Next

About the Author

TechWell Insights To Go

(* Required fields)

Get the latest stories delivered to your inbox every month.