DevOps helped dev and operational teams bridge a deep moat between the speed agile dev teams want to deliver releases and the site reliability, performance, and security charted to IT Ops and SREs.
But are applications working better for end-users? Is enabling frequent deployments to quickly address bugs, defects, and errors sufficient to improve software quality? Are developers more productive and happier a decade into CI/CD, IaC, and other DevOps transformations?
I've been writing about the need to automate more testing, implement continuous testing in CI/CD, and shift-left security as agile development and DevOps best practices. Now I have some data showing how important error monitoring and testing are today.
Testing Impacts Experiences, Productivity, and Happiness
No one wants to release buggy software, but the impact on how organizations manage quality assurance and testing goes beyond software quality.
In the 2021 State of Software Code Report, I found some key data points
- 88% of respondents say that end-users are the first to report bugs and errors
- 37% of developers report spending 25% or more of their time fixing bugs
- 31% of developers state that fixing bugs is frustrating, and 17% say it leads to burnout
If you are a CIO, lead application development, or an agile technical lead, I hope you see the bullseye painted by this data. Rarely can you impact end-user experiences PLUS improve developer productivity PLUS address their happiness with one set of transformative improvements.
But it requires a mindset change:
- Automation, in itself, does not address software quality
- Developers need better tools and more QA capabilities to improve software quality
- While testing may reduce bugs, it doesn't enable fixing them faster and easier
Fix Bugs Easier, Faster, and Less Painfully
Going into someone else's code to find and fix defects is one of the worse software development jobs. You face the constant pressure to fix issues quickly and not break things along the way. You're in a grind of fixing other people's code and problems that you didn't create. And the work is so time-consuming that you rarely get the opportunity to work on new features, innovations, and longer-term improvements.
So what can leaders do to address the gaps?
- Ensure QA is an equal partner in the development process - See my classic posts on 10 ways to Enable QA in Agile and DevOps Teams and Giving QA a Seat at the DevOps and Digital Transformation Table.
- Invest in modernized testing, error monitoring, and release management tools - Reach out to me if you want to see my recommendations.
- Establish quality KPIs and metrics for agile DevOps teams - This is one of the key topics that I cover in StarCIO's DevOps Workshops.
I rarely find win-win-win situations, and so I hope you are all paying attention!
No comments:
Post a Comment
Comments on this blog are moderated and we do not accept comments that have links to other websites.