Agile Requirements

33
Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 1 Agile Requirements Agile Consortium Benelux, sep 30, 2009 Ben Linders

description

 

Transcript of Agile Requirements

Page 1: Agile Requirements

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 1

Agile RequirementsAgile Consortium Benelux, sep 30, 2009

Ben Linders

Page 2: Agile Requirements

2

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 2

Contents / Agenda

Introduction

Conclusions

Agile Requirements

Business Cases

QualityFactors

Page 3: Agile Requirements

3

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 3

Problem Statement

Quality improvement needed in many organizations

Business case

• Identification of problem areas

• Selected improvement

• Decision

Quantified

• Costs & benefits

• Lead time to result

Introduction

Page 4: Agile Requirements

4

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 4

Quantification problems

Much time needed to gather data

Difficult to measure things

Hard to keep management commitment

Expensive

Required: Business case, with limited but sufficientmeasurement effort, to gain managementcommitment and funding

Introduction

Page 5: Agile Requirements

5

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 5

Affiliate Collaboration

SEI Pittsburgh, PA:Software Engineering Measurement & Analysis Group

Ericsson Netherlands:Market Unit Northern Europe & Main R&D Center

Introduction

The Software Engineering Institute Affiliate Program provides sponsoring organizations with an opportunity to contribute their best ideas and people to a uniquely collaborative peer group who combine their technical knowledge and experience to help define superior software engineering practices.

Affiliates: http://www.sei.cmu.edu/collaborating/affiliates/affiliates.html

Page 6: Agile Requirements

6

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 6

Two models

Defect Estimation Model

• Data, tuned with expert opinion

• Estimate Fault Slip Through

• Project/Product Quality

Quality Factor Model

• Expert opinion, extend with data

• Quick Quality Scan

• Prediction Fault Slip Through

• Improvement Areas

Introduction

ProcessInputs and outputsInfluencing factorsMeasurement

Defects Inserted (documentation,

code)

Defects Detected (Inspection, test)

(Un)happy customers

Design ProcessCompetence, skillsTools, environment

Test ProcessCompetence, skills

Test CapacityTools, environment

Resident Defects in Delivered Product

Resident Defects in Design Base

Detection Rate

Defect Density

Fault Slip Through

Defect Level

Defect Classification

Page 7: Agile Requirements

7

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 7

Measuring quality

Insertion: Where are defects made? How to prevent?

Detection: Where are defects found? Early/economic removal?

Quality: How many defect are left in the product at release?

Business Cases

Page 8: Agile Requirements

8

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 8

Process View

ProcessInputs and outputsInfluencing factorsMeasurement

Defects Inserted (documentation,

code)

Defects Detected (Inspection, test)

(Un)happy customers

Design ProcessCompetence, skillsTools, environment

Test ProcessCompetence, skills

Test CapacityTools, environment

Resident Defects in Delivered Product

Resident Defects in Design Base

Detection Rate

Defect Density

Fault Slip Through

Defect Level

Defect Classification

Business Cases

Page 9: Agile Requirements

9

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 9

Fault Slip Through

Fault Slip Through = Number of defects detected in integration & customer test that should have been detected earlier

“Should” implies that the defect is more cost effective to find earlier.

???

LeadTime

Quality

CostFST

???

???

Business Cases

Page 10: Agile Requirements

10

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 10

Quality Phase Performance

Management Factors

Defect Insertion

Defect Detection

QualityFactors

Quality Factor:

Influencing quality of the delivered product

Page 11: Agile Requirements

11

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 11

Management Factors

Management Context for Technical Activities

Direct:

• Project Management

• Process Management

Indirect:

• Strategic & Operational Line Management

QualityFactors

Page 12: Agile Requirements

12

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 12

Defect Insertion

Technical Activities where defects inserted

• Root Cause Analysis

• Defect Prevention

QualityFactors

Page 13: Agile Requirements

13

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 13

Defect Detection

Technical Activities where defects detected

• Early Detection

• Economy of Test

• Release Quality

Reduce Defect Slippage

QualityFactors

Page 14: Agile Requirements

14

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 14

Quality Factors - Requirements

Purpose

• Predict Quality

• Leading indicator

Sources

• Research

• Expert opinion

• Experience

QualityFactors

Requirements Performance

Commitment

RequirementManagement

CapabilityRequirement

Stability

Process Maturity

Roadmap Quality

Scope Stability

Requirement Definition Capability

Root Cause

Analysis

Page 15: Agile Requirements

15

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 15

Quality performance assessment

Survey based upon Quality Factors

• 34 respondents from management & technical roles

• 4 management areas & 7 technical areas

2 sub questions for each quality factor:

• How relevant is the factor when we want to improve quality?“little if any,” “moderate,” “substantial,” or “extensive,”

• How well are we doing currently?“poor,” “fair,” “good,” and “excellent.”

Agile Req.

Page 16: Agile Requirements

16

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 16

Findings Requirements

Requirements Performance

Commitment

RequirementManagement

CapabilityRequirement

Stability

Process Maturity

Roadmap Quality

Scope Stability

Requirement Definition Capability

Root Cause

Analysis

Agile Req.

Page 17: Agile Requirements

17

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 17

Pilot “Business Case for Quality”

Context:

• Process management

• Quality steering

• Starting with Agile

Pilot: Agile for Requirements

• Calculate value of process change

• Run the pilot

• Evaluate the result

Agile Req.

Page 18: Agile Requirements

18

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 18

Improve: Requirements Stability

Requirements Stability – Inverse of the amount of requirement changes over time. (The less changes, the higher stability.)

Agile deployment

• Backlog with Prioritized User Stories

• Product manager as Product Owner

• (Pre-) Planning game

• Architecture team

• Stand up meetings

Agile Req.

Page 19: Agile Requirements

19

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 19

Improve: Scope Stability

Scope Stability – Impact of major changes in projects that are related to changes in the product roadmap, including stability of the products to be developed, development teams involved in projects, and major changes in project funding or delivery dates.

Agile deployment

• Backlog

• Responsibility of Agile teams and Product Owner

• (Pre-) Planning game

• Retrospectives

Agile Req.

Page 20: Agile Requirements

20

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 20

Improve: Requirement Definition Capability

Requirements Definition Capability – The skill and experience level of the people doing requirements definition (e.g., product managers).

Agile deployment

• (Pre-) Planning game

• Stand up meetings

• Collaborative Culture

• Retrospectives

Agile Req.

Page 21: Agile Requirements

21

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 21

Steering Agile Quality

• Estimate latent defects after demo (planning game)

• Collect defects during test (after demo).

• Classify defects:

• “introduction phase“

• “should have been detected phase”

• Root cause analysis: Prevention

• Decide improvement actions and communicate

• Re-estimate and predict release quality.

Agile Req.

Page 22: Agile Requirements

22

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 22

Results Agile for Requirements

• Very low number of requirement defects

• Previous projects also had a low number

• Based upon the data no conclusion could be drawn

Root Cause Analysis:

• understanding requirements increased: planning game & stand-up meetings.

• Improvements from retrospectives increased cooperationbetween development team and product owner.

Requirements quality performance increased!

Agile Req.

Page 23: Agile Requirements

23

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 23

Conclusions

Quicker Business Case:

• Quality Factors/Performance

• Fault Slip Through

• Combining data and expert opinion

Improved Requirements Performance

• Agile increased requirements quality

• Less defects after release

• Increased flexibility and collaboration

Conclusions

Page 24: Agile Requirements

24

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 24

More information

Publications:• Building Process Improvement Business Cases

SEI Technical Note: http://www.sei.cmu.edu/library/abstracts/reports/09tn017.cfm

• Controlling Project Performance by Using the Project Defect Modelin proceedings PSQT West Conference 2005

• The Business Benefit of Root Cause Analysis in proceedings SM/ASM conference 2003

• SPI, the agile way!To be presented at the SPIder conference, october 2009www.spiderconferentie.nl

Contact:

• Email: [email protected]

• http://www.linkedin.com/in/benlinders

Conclusions

Page 25: Agile Requirements

25

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 25

Backup Slides

Page 26: Agile Requirements

26

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 26

Solution

Technologies

• Bayesian Belief Networks (BBN)

• Monte Carlo Simulation

• Root Cause Analysis

• Cost of Quality, Defect Slippage

Six Sigma DMAIC Approach

• Modeling Business Cases

• Research Quality Factors & quantify Quality Improvement

• Validate “Business Case for Quality”

Introduction

Page 27: Agile Requirements

27

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 27

BBNQuality Phase

Performance

FaultSlip

Through

HistoricalProjectData

IndustryData

MonteCarlo

CurrentQuality PhasePerformance

SubjectiveExpertOpinion

ImprovedQuality PhasePerformance

Quality FactorQuality

FactorQuality FactorQuality

Factor

Business Cases

Building a business case

Page 28: Agile Requirements

28

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 28

Bayes Belief Network (BBN)

• Probabilistic graphical model, to model uncertainty

• Diagnose and explain why an outcome happened

• Predict outcomes based on insight to one or more factors

Used:

• Modeling Quality Factors

• Predicting Quality Phase Performance

• What if Scenario

Business Cases

Page 29: Agile Requirements

29

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 29

Monte Carlo Simulation

• Compute a result based on random sampling

• Modeling distributions of data

• Can make uncertainty visible

Used:

• Calculate value of process changes

Business Cases

Page 30: Agile Requirements

30

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 30

Quality Prediction

Current Model: Estimation

• Extrapolate past performance

• Based on inserted/detected defects

• Plan & track

Wanted: Prediction

• Causes of defects

• What if Scenarios

• Decision taking

All models are wrong

Some models are useful

Deming

Business Cases

Page 31: Agile Requirements

31

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 31

Step 2: Defect Prediction

Fault Slip Through

Defect found in a (later) test phase that should have been found earlier

“Should”: More Cost effective (economical)

Predict Defect Reduction

• Determine process impact

• Simulate quality change

• Predict savings

Pilots

• Agile

• Model Driven Development

Business Cases

Page 32: Agile Requirements

32

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 32

Quantify Quality Improvement

Connect defect data with Quality performance

• Maximum quality factor => Industry best in classPublished industry data from various sources

• Distribution: Linear (keep it simple)

Extend BBN to calculate remaining defects after each phase

Result: Model for “what if scenario’s”

• Calculate defects in release products, when quality performance improves

• Cost of Quality data to calculate savings

QualityFactors

Page 33: Agile Requirements

33

Agile Requirements Agile Consortium Benelux, sep 30, 2009 (C) Ben Linders 33

Monte Carlo: Quality performance

Monte Carlo simulation

• Input from 5 experts

• Estimated chance of occurrence and impact on FST (1-5 scale)

• Simulation done to calculate impact on quality factors

• Result used in BBN model to calculate effect on defect slippage

Expected result:

• Reduced number of requirement defects introduced

• Increased effectiveness of late testing phases

• Less defects in products shipped to customers

• Cost saving:

— Limited saving in the project

— Major saving during maintenance

QualityFactors