Performance Metrics That Matter: Eliminating Surprises in Agile Projects
• Presentation
Publisher
Software Engineering Institute
Abstract
Agile projects can have issues with quality just as waterfall oriented projects. This talk will focus on how the government can experience true agility with quality. I will discuss the challenges that we faced and how we successfully overcame them.
Most agile projects have sprints of less than 4 weeks, and monthly status reports are of limited value to track progress. In addition, many agile projects accumulate technical debt with every sprint. In many organizations, up to 80% of maintenance spending is for bug fixes.
Our agile teams consistently deliver substantially defect-free software on budget and on schedule. Our developers collect and report size, time, defects, and tasks precisely and accurately. The teams uses Earned Value Management at the individual and team levels with the ability to detect as little as one day of schedule slip weekly.
Our teams avoid technical debt by not relying on testing alone for defect removal. The teams conduct team inspections and personal reviews for early effect removal and put the highest quality code into test. Individual developers strive for more than 80% of the components they develop to have zero defects in integration, system, and acceptance test, thereby minimizing and in many cases totally eliminating technical debt. We provide data from our projects to illustrate the use of these practices.
What this means to customers is a dramatically reduced number of security incidents attributable to poor quality software code. In addition to improved security, customers benefit from significantly reduced software operations and maintenance costs. Instead of investing time and money to fix bugs in the production software, customers can then reallocate spending on new features and enhancements.
The government and its contractors should make a commitment to quality from the boardroom on down. Quality should be the number one goal for every project. This means empowering software developers and teams with the proper skills and training needed to minimize the number of defects in their software and deliver products with fewer vulnerabilities the first time around. With quality at this level, the government can reasonably require contractors to provide a warranty against defects in production use.