How’s your software factory running these days? Are you keeping up with agile development cycles? And by keeping up, I don’t mean just in velocity or volume, but in the quality of the applications.
Delivering fast and frequently can adversely affect the quality of the code getting released, as well as expose debilitating friction in your end-to-end release pipeline. Teams end up expending significant effort on fixing bugs, rework and unplanned work, which can delay or reduce the release of innovative, revenue-generating features that will help drive the business and engage customers.
Some rework is inevitable, but it should be relegated to a small fraction of the software lifecycle. In the 2016 State of DevOps Report, medium IT performers reported spending 32% of their time on unplanned rework and the least amount of time on new work (approximately 35%). That’s about one third of development and test efforts in the release cycle going to fixing code versus delivering more and better features. DevOps Research and Assessment (DORA) recommends the unnecessary rework number be closer to 20%.
What’s a DevOps team to do?
Pipeline Productivity Killjoys
In a recent DevOps survey conducted by SpiceWorks for CA, we uncovered what’s causing the rework and unplanned work, and thwarting a productive continuous delivery pipeline. The app release challenges included everything from cutting costs to improving app quality to reducing release failures to handling urgent fixes.
But the survey also revealed some key areas that create bottlenecks for DevOps teams:
- Manual, spreadsheet-based, ad hoc release processes
- Undiscovered application dependencies
- Lack of test data and automated testing
- Inability to capture and re-use release best practices
How can you release applications daily or weekly (as 66% in our survey cited) and still use the very manual spreadsheet as a primary release tool (as 66% also cited)? If you are tracking and inputting data manually to move releases through the pipeline, the risk of error is high and level of visibility is low.
This is where a tool like CA Continuous Delivery Director can change the game. It becomes your super-charged spreadsheet replacement, orchestrating all releases through the pipeline—all the while managing dependencies and conflicts, and providing visibility to every stakeholder (see you later manual processes!). It becomes your automated testing workflow and automated feedback purveyor. And it becomes your blueprint for release planning and management best practices.
This end-to-end orchestration tool integrates with your tools-of-choice from planning through production triggering actions, enhancing collaboration and gathering data for reporting and analytics.
First Priority: Fix Your Testing
Testing is too often an island unto itself, and it’s the number one quagmire in the continuous delivery pipeline today. In our survey, DevOps teams cite improving application quality as a top challenge. And their top two improvements to application delivery are improving access to test data and streamlining and automating test processes.
Testing needs to span the software lifecycle—uncovering unexpected behaviors right when they enter the pipeline and fixing them immediately. Why wait to define the test cases after developers start coding? Define them in planning and ensure they’re automatically loaded into the test process. Why wait until staging (or heaven forbid production) before performance testing your app? Do it early and often with every iteration. Why wait until you have available environments for testing? Virtualize services anywhere during the release cycle to ensure adequate test coverage.
But to manage a continuous testing workflow, you need an end-to-end orchestration tool that can trigger the execution of testing tasks, automate promotion of applications based on testing status, and provide feedback to key stakeholders along the release cycle—even in production—to accelerate improvement.
CA Continuous Delivery Director is your end-to-end, continuous testing orchestration tool that includes the testing support and integrations needed to speed and improve testing processes. Once you get testing established as an “always on” part of the continuous delivery pipeline, you can start to see clear improvement in your application quality—and the results of happier customers and fewer defects hitting the WIP.
Deliver Better App Experiences with a Modern Software Factory
In a modern software factory, testing is not a silo or stage unto itself. It’s an integral, robust, continuous part of the process that ensures the highest quality output. Teams are relieved of manual, delay- and error- riddled testing and release processes. Instead, they are reinvesting the time spent fixing and reworking poor quality efforts into innovative features for their customers (and more revenue-generating features for their business!).
See how CA Continuous Delivery Director can help you modernize your software factory:
Check out the full infographic here: Fix or Feature | Shift the Focus of Your App Delivery Process.
Stop by CDDirector.io to try out CA Continuous Delivery Director SaaS for yourself and share with your team.
Visit CA in person @VelocityConf booth #901 to see a CDDirector.io demo and learn how easy it is to get started!