© 2010 Seapine Software, Inc. All rights reserved.
Improving the Development Lifecycle with a Quality-Centric Approach
Seapine ALM Tour
Huntsville, Alabama
Peter VarholSolutions Evangelist, Seapine Software
© 2010 Seapine Software, Inc. All rights reserved.
Agenda
The problem with software quality
What is quality-centric ALM and how can it help?
How do I implement quality-centric ALM?
Benefits of quality-centric ALM
Wrap-up and questions
© 2010 Seapine Software, Inc. All rights reserved.
“Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.”
- Rick Cook, The Wizardry Compiled
Why Quality in ALM?
© 2010 Seapine Software, Inc. All rights reserved.
Cost of Poor Software Quality
• NASA lost a $125 million Mars orbiter because one engineering team used metric units while another used English units for a key spacecraft operation, according to a review finding.
• "Our inability to recognize and correct this simple error has had major implications," said JPL Director Edward Stone.
© 2010 Seapine Software, Inc. All rights reserved.
Software Quality by the Numbers
•There can be as many as 20 to 30 bugs per 1,000 lines of software code.—Sustainable Computing Consortium
•There are no methods of removing software defects or errors that are 100% effective.—“Software Quality: Analysis and Guidelines for Success,” by
Capers Jones
•32% of organizations say that they release software with too many defects.—Cutter Consortium
•38% of organizations believe they lack an adequate software quality assurance program.
—Cutter Consortium
•27% of organizations do not conduct any formal quality reviews.—Cutter Consortium
•Formal design and code inspections average about 65% in defect removal efficiency. Most forms of testing are less than 30% efficient.
—“Software Quality: Analysis and Guidelines for Success,” by Capers Jones
•Developers spend about 80% of development costs on identifying and correcting defects.
—The National Institute of Standards and Technology
•Peer reviews of software will catch 60% of defects.—Institute of Electrical and Electronics Engineer
© 2010 Seapine Software, Inc. All rights reserved.
So Why Don’t We Do it Better?
“Testing will find the problems”
“We don’t have the time to look for any problems”
Management perceives little ROI from an investment in QA personnel and testing tools
Developers want to work on new, cool features rather than on bug fixes
QA is not involved from the beginning of the project so they are always behind
© 2010 Seapine Software, Inc. All rights reserved.
So Why Don’t We Do it Better?
We Don’t Know Where to Begin
© 2010 Seapine Software, Inc. All rights reserved.
There are Solutions
A solution to these problems is a quality-centric approach, like quality-centric ALM
In quality-centric ALM, quality is central to the application development lifecycle
Not testing, but quality
Testing flows from quality practices
© 2010 Seapine Software, Inc. All rights reserved.
Quality-Centric ALM
Key Concept:
Software development needs to be transformed into a managed, quality-centric business process where quality is a fundamental part of every phase of the software development lifecycle.
© 2010 Seapine Software, Inc. All rights reserved.
Quality-Centric ALM Tenets
Engineering is a discipline
You cannot test your way to quality
Error prevention is cheaper and better than error detection
Begin with the end in mind
Software quality needs to be factored in to every part of the design and development process
Quality is more a culture or philosophy than a process
Investment in quality more than pays for itself
© 2010 Seapine Software, Inc. All rights reserved.
Quality-Centric ALM Keys to Success
People
Process
Metrics
Continuous Improvement
Automation
Satisfying the Customer Chain
© 2010 Seapine Software, Inc. All rights reserved.
Keys to Success: People
Quality starts at the top
The CEO and top management define the culture
Pride of work
The culture enables people to care about their work and results
© 2010 Seapine Software, Inc. All rights reserved.
Keys to Success: Process
A process defines your practice
It’s a guide, not a rule book
No single ‘correct’ process
It’s got to work for your unique circumstances
Any process is better than no process
If your process is documented and repeatable, you can measure and improve it
© 2010 Seapine Software, Inc. All rights reserved.
Keys to Success: Metrics
When you can measure what you are speaking about, and express it in numbers, you know something about it.
Baron William Thomson Kelvin
© 2010 Seapine Software, Inc. All rights reserved.
Keys to Success: Continuous Improvement
Requires repeatable process and key metrics
Review metrics and the process periodically Make the process review a team activity
Document the changes and begin measuring again
© 2010 Seapine Software, Inc. All rights reserved.
Keys to Success: Automation
Automation removes manual activity from repetitive tasks
© 2010 Seapine Software, Inc. All rights reserved.
Keys to Success: Customer Chain
Satisfy the End User
“The one number you need to grow [related to customer satisfaction is] “‘Would you recommend this company/product/service to friends and colleagues?’”
– Harvard Business Review, December 2003
End User
Product Manage
r
Designer
Coder Tester
© 2010 Seapine Software, Inc. All rights reserved.
Benefits of Quality-Centric ALM
Lower development costs
Bugs fixed earlier in the development cycle cost less to fix
Teams understand product goals and can do their jobs right the first time
Higher product quality
Fewer bugs at each stage of the development process
Better understanding of causes of poor quality and changes needed to correct them
Top Related