Management's Role Short Version

advertisement
An overview of
Management’s Role in Achieving
Predictable Software Development
Q
Software Quality Consulting Inc.
Steven R. Rakitin
 Consulting
 Training
 Quality Systems
Phone:
Fax:
www.swqual.com
info@swqual.com
President
508.529.4282
508.529.7799
Copyright ©2001 Software Quality Consulting Inc.
Slide 1
Topics
• Motivation
– Economics of Software Development
• Balancing Quality, Features, and Schedule
– Management’s Role
• Balancing People, Process, and Product
– Management’s Role
Copyright ©2001 Software Quality Consulting Inc.
Slide 2
Motivation
Software Development is like the stock market
You’d be way ahead of the game if only
you could predict what will happen
Copyright ©2001 Software Quality Consulting Inc.
Slide 3
Motivation
• Many software development
organizations lack:
– Discipline
– Credibility
– Predictability
• As a result, these organizations are
unable to accurately predict when
products will be released.
When will
the software
be done?
• To be competitive in today’s global
economy, these issues must be
addressed.
Copyright ©2001 Software Quality Consulting Inc.
Slide 4
Motivation
• Managers have the ability to change the organization
and influence the behavior of developers, QA, and
project managers.
– How can you exert this influence?
– What behaviors should be encouraged and which
should be discouraged?
– How can you know if you are
the right track?
Copyright ©2001 Software Quality Consulting Inc.
on
Slide 5
The Goal
Delighting your Customers by consistently
delivering Quality products on time.
Predictable Software Development
Copyright ©2001 Software Quality Consulting Inc.
Slide 6
Unpredictable Organizations
– Planning new product releases is difficult
– Staffing projects difficult
– Customer frustrated from promises not kept
– Employees frustrated from promises not kept
– Many unplanned bug fix releases
– Product quality low
– Time to market goals consistently not met
– Costs higher than expected
– Revenue projections frequently not met
– Over-commit AND under-deliver
Copyright ©2001 Software Quality Consulting Inc.
Slide 7
Root Causes
• Inadequate training
• Lack of measurement
• Unrealistic schedules
• Poor project management skills
• Don’t understand Customers
• “Crisis mentality”
• Reward wrong behaviors
Copyright ©2001 Software Quality Consulting Inc.
Slide 8
Predictable Software Development
• Set achievable expectations
• Develop accurate, realistic schedules
• Meet them!
• Follow a documented Development process
• Hold people accountable
• Proactively Manage Risk
• Manage Internal and External
Commitments
• Measure what happens
Copyright ©2001 Software Quality Consulting Inc.
Slide 9
Characteristics of Predictable Organizations
• Measure Quality and Customer Satisfaction regularly
• Measure Employee Satisfaction regularly
• Make effective use of scarce, expensive resources
• Rarely in ‘fire fighting’ mode
• Few unplanned bug fix releases
• Follow a documented Development Process
• Actively Manage Risks
• Under-commit AND Over-deliver
Copyright ©2001 Software Quality Consulting Inc.
Slide 10
Predictable Software Development
Commitment Management
Quality
People
Predictable
Software
Development
Features
Schedule
Process
Product
Risk Management
Copyright ©2001 Software Quality Consulting Inc.
Slide 11
From a Management Perspective...
Culture
Process
Performance
Copyright ©2001 Software Quality Consulting Inc.
Slide 12
Economics of Software Development
•
•
•
•
How Startups Acquire Bad Habits
Cost of Software Defects
Time to Market vs. Quality
Economic Value of Quality
Copyright ©2001 Software Quality Consulting Inc.
Slide 13
Cost of Software Defects
Requirement
Analysis
Requirements
Definition
$1
Design
$5
Coding
Relative cost factor to find and
fix defects at each phase of the
Software Development Life Cycle
Source: Boehm, B., Software Engineering Economics,
Prentice-Hall, 1981
Copyright ©2001 Software Quality Consulting Inc.
$20
Testing
$50
Maintenance
$100
Slide 14
Software Defect Cost Model
Profit loss due to schedule slip
Software Defect Cost
Rework Cost
Design
Design Inspections
Coding
Code Inspections
Integration Testing
Validation Testing
Documentation
Copyright ©2001 Software Quality Consulting Inc.
Ward, J., “Calculating the real cost of
software defects”, AAMI 27th Annual
Conference Proceedings, 1992.
Slide 15
Pre-release Find/Fix Cycle
This cycle can take from
10-30 hours per defect
Using an average of $150
per hour for Software
Engineering time...
Max cost per defect is:
Testing uncovers a potential defect
Potential defect reported
Dev. investigates & verifies defect
Dev. fixes defect & does some testing
30 * $150 = $4,500
For a product with 100
defects, the cost is:
Development includes fix in next baseline
New release to SQA
100 * $4,500 = $450,000
SQA performs regression testing
Copyright ©2001 Software Quality Consulting Inc.
Slide 16
Post-release Find/Fix Cycle
Pre-Release
Find/Fix Cycle
This cycle can take from
20-60 hours per defect
Using an average of $150
per hour for Software
Engineering time...
Defects?
No
Update documentation
Max cost per defect is:
New version released to Mfg
60 * $150 = $9,000
For a product with 100
defects, the cost is:
100 * $9,000 = $900,000
Yes
New version distributed to Customers
Customers install new version
Copyright ©2001 Software Quality Consulting Inc.
Slide 17
Economic Motivation
How do you want to allocate Engineering resources?
Develop New Projects
OR Rework Existing Products
$$
Generates revenue
Copyright ©2001 Software Quality Consulting Inc.
$
Doesn’t generate revenue
Slide 18
Balancing Quality, Features, and Schedule
• Software Quality Myths/Facts
• “Good Enough” Quality Debate
Quality
• Economic and Competitive Value of
Quality
• Creating accurate, realistic
schedules
• Management’s Role
Features
Schedule
Copyright ©2001 Software Quality Consulting Inc.
Slide 19
Creating Accurate, Realistic Schedules
• Understand why estimates
and schedules wrong most
of the time
• Identify “Best Practices”
for estimating and
scheduling
• Provide staff with training
in “Best Practices”
• Allow them to do it!
Copyright ©2001 Software Quality Consulting Inc.
Slide 20
Why are estimates and schedules wrong?
• We play ridiculous negotiating games...




Doubling and Add Some
Reverse Doubling
Spanish Inquisition
“Guess the date I'm thinking...”
 We don’t teach people how to do it!
 We allow feature creep without assessing impact
 We don’t hold people accountable
 Accountability = Responsibility + Authority
Source: Yourdon, E., Death March: The Complete Software Developer’s Guide to
“Mission Impossible” Projects, Upper Saddle River, NJ: Prentice-Hall PTR, 1997
Copyright ©2001 Software Quality Consulting Inc.
Surviving
Slide 21
Why are estimates and schedules wrong?
• Management frequently OVER-commits
• Project teams have not been taught estimating and
scheduling techniques
• Project Management skills are lacking
• Interdependencies are frequently ignored
• “People issues” are frequently ignored
• Known risks are frequently ignored
Copyright ©2001 Software Quality Consulting Inc.
Slide 22
Typical “scheduled-backwards” Project
• Project starts with predetermined end date
• Tasks estimated based on time available rather than
time required
• Task interdependencies not identified
• Unexpected things that ALWAYS happen on every
project not anticipated...
•
•
•
•
•
•
•
the requirements WILL change
key members of the project team will leave
a key assumption about the product will prove wrong
needed training for new tools / technology not provided
dependencies arise that were previously unknown or ignored
key resources pulled off to fight most recent “fire”
etc...
Copyright ©2001 Software Quality Consulting Inc.
Slide 23
Typical “scheduled-backwards” Project
• Sooner or later, the schedule slip becomes so large it
can’t be ignored
– Project Manager panics and starts paring down features
and cranking up coding
– Whatever process the project was following is abandoned
– Activities like Design Reviews and Code Inspections are
eliminated. Testing time curtailed.
• Usual outcome is a lose-lose situation
– Organization loses
– Customers lose
Copyright ©2001 Software Quality Consulting Inc.
Slide 24
Some Observations...
• Projects that are late are almost always “scheduled
backwards”
• “Scheduling backwards” has a negative impact on
project morale, product quality, and productivity
• Scheduled backwards projects frequently require
unplanned bug fix releases
• Many people have personal “Quality Standards” that are
significantly higher than Management’s...
Copyright ©2001 Software Quality Consulting Inc.
Slide 25
Estimation and Scheduling “Best Practices”
• COCOMO II
• Function Points
• Feature Points
• Wideband Delphi
• Yellow Sticky Method
Copyright ©2001 Software Quality Consulting Inc.
Slide 26
Balancing Quality, Features, and Schedule
• Management’s Role:
– Work to create culture - under-commit / over-deliver
– Train staff in estimating and scheduling techniques
– Manage commitments made to Customers
– Require schedules be developed going forwards by
people who will be doing the work
– Negotiate schedule based on fact not fiction
– Hold project team accountable
– Reward teams that meet commitments!
Copyright ©2001 Software Quality Consulting Inc.
Slide 27
Balancing People, Process, and Product
• Software Development Best Practices
• People Issues
People
Process
• Product Issues
Product
Copyright ©2001 Software Quality Consulting Inc.
Slide 28
Best Practices
•
•
•
•
•
Risk Management
Define Requirements FIRST
Peer Reviews
Binary Quality Gates at the inch-pebble level
Project-wide visibility of project plan and progress vs.
plan
• Defect tracking against Quality Targets
• Configuration Management
Source: Ed Yourdon, Rise & Resurrection of the American Programmer, Prentice-Hall, 1998
Web sites: www.spmn.com www.christine.com
Copyright ©2001 Software Quality Consulting Inc.
Slide 29
Binary Gates at the Inch Pebble Level
The Problem...
Scheduled Ship Date
Project Start
Management made aware
that there is a “crisis”
Copyright ©2001 Software Quality Consulting Inc.
Slide 30
Binary Gates at the Inch Pebble Level
• Beware of the “90% done” syndrome
• Use binary measures (done / not done)
• Precisely define what is meant by “done”
• Define gates at each major stage of development
• Proceed “at risk” when gates not met
Copyright ©2001 Software Quality Consulting Inc.
Slide 31
Binary Gates at the Inch Pebble Level
Gate
Requirements
Complete
Design
Complete
Code Complete
Testing
Complete











Precise Definition
SRS conforms to standard.
SRS reviewed and approved.
SDD conforms to project standard.
SDD reviewed and approved.
All features coded and checked into source control
All modules compile with no errors
Unit testing completed and bugs fixed
All planned tests have been executed
Bugs reported fixed and validated
Planned regression testing completed
Release criteria defined in Test Plan met
Copyright ©2001 Software Quality Consulting Inc.
Slide 32
Best Practices Summary
•
A Written Software Development Process...
– The “wrapper” that encompasses Best Practices
– Best Practices are only BEST if they work for you
– Measurement is essential - You can’t know what you
don’t measure
– A written Development Process DOES NOT limit
people’s ability to do creative work
– Software Development Process should
include Development, QA, and Doc
Copyright ©2001 Software Quality Consulting Inc.
Slide 33
Software Development Best Practices
• Management’s Role
– Work to create “process-oriented” culture
– Require written process that’s appropriate and flexible tailored to meet specific needs of each project.
– Require people who must follow the process be actively
involved in creating it.
– Ensure the process is communicated and understood. If
necessary, provide training.
– Hold project teams accountable for following
the process.
– Require the process be reviewed periodically
and changed based on process measures.
Copyright ©2001 Software Quality Consulting Inc.
Slide 34
The Goal...
Delighting your Customers by consistently
delivering Quality products on time.
Predictable Software Development
Copyright ©2001 Software Quality Consulting Inc.
Slide 35
Thank you...
...for taking time to attend this meeting!
If you have any questions on the material in this presentation,
please don’t hesitate to call or e-mail
Q
Software Quality Consulting Inc.
Steven R. Rakitin
 Consulting
 Training
 Quality Systems
Phone:
Fax:
www.swqual.com
info@swqual.com
President
508.529.4282
508.529.7799
Copyright ©2001 Software Quality Consulting Inc.
Slide 36
Download