improving the development lifecycle with a quality-centric approach

21
© 2010 Seapine Software, Inc. All rights reserved. Improving the Development Lifecycle with a Quality-Centric Approach Seapine ALM Tour Huntsville, Alabama Peter Varhol Solutions Evangelist, Seapine Software

Upload: seapine-software

Post on 21-Aug-2015

1.318 views

Category:

Technology


2 download

TRANSCRIPT

© 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.

It’s Not Rocket Science

© 2010 Seapine Software, Inc. All rights reserved.

But It Requires Changes

© 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

© 2010 Seapine Software, Inc. All rights reserved.

Thank you