Beruflich Dokumente
Kultur Dokumente
Software Developer
Should Understand
www.construx.com
Also Known As
Copyright Notice
These materials are 1996-2014 Construx Software Builders,
Inc.
All Rights Reserved. No part of the contents of this seminar
may be reproduced or transmitted in any form or by any
means without the written permission of Construx Software
Builders, Inc.
Introduction
My Background
Construx
5
Construx
6
A History of
Attempts to Explain
Software
Development
Construx
8
Construx
9
they had just two weeks to test the site before all
the pieces from several contractors had to work
together the day of the launch.
Software
Engineering
Essentials
Lecture Series
CxLearn.com
Construx
11
The Goal
Talk Roadmap
Candidate
Top 7
Diagram
Construx
14
Core Influence:
Size
Productivity
Output
1 ~7
~50
~250-350
Team Size
Construx
18
2 people =
1 path
3 people =
3 paths
4 people =
6 paths
5 people =
10 paths
19
50
45
40
35
30
25
20
15
10
5
0
300
250
200
150
100
50
Schedule (Months)
1.5-3
3-5
5-7
9-11
15-20
Team Size
Schedule
Effort
Adapted from Lawrence H. Putnam and Ware Myers, Five Core Metrics: The Intelligence
Behind Successful Software Management
20
2 people =
1 path
3 people =
3 paths
4 people =
6 paths
5 people =
10 paths
50 people =
1225 paths
21
Productivity
~7
~50
~250-350
Team Size
22
Productivity
Output
~7
~50
~250-350
Team Size
23
90%
Percentage
80%
70%
Early
60%
On Time
Late
50%
Failed
40%
30%
20%
10%
0%
10 FP
500-1000 LOC
Construx
100 FP
5K-10K LOC
1,000 FP
50K-100K LOC
10,000 FP
500K-1M LOC
100,000 FP
5M-10M LOC
Source: Adapted from Applied Software Measurement, 3rd Edition (Jones 2008), Estimating Software Costs (Jones 1998).
24
120
Defects / KLOC
100
80
Low Error Rate
60
Productivity by Size
20
30,000
2-16
KLOC
16-64
KLOC
64-512
KLOC
512+
KLOC
25,000
LOC / Staff Year
<2 KLOC
20,000
High LOC/Staff Year
15,000
Nominal
Low LOC/Staff Year
10,000
5,000
1 KLOC
10
100
1,000 10,000
KLOC KLOC KLOC KLOC
Construx
25
Construx
26
Cocomo Factors by
Size
-27%
74%
-29%
42%
-24%
34%
Time Constraint
Personnel Continuity (turnover)
Multi-Site Development
0%
-19%
29%
-22%
22%
-18%
-19%
23%
-19%
22%
26%
-22%
17%
-13%
30%
Storage Constraint
0%
46%
Precedentedness
-19%
15%
Process Maturity
-19%
15%
-16%
Team Cohesion
20%
-10%
28%
-15%
19%
-18%
14%
-16%
Construx
63%
12%
-5%
-14%
24%
11%
28
Construx
29
Construx
30
Construx
31
Construction
is approx.
2/3
Construction
is approx.
1/3
Construx
33
Construx
34
Core Influence:
Uncertainty
Construx
36
100%
75%
Knowledge /
Understanding
50%
25%
0%
Effort Expended
37
Plan
Waste
Release
Construx
38
Feature Build Up
Value /
Functionality
Cost
Opportunity to
Add More
Value
Time
Diminishing returns when functionality is
delivered in priority order
39
Planned Work
Planned
Overhead
Unplanned,
Variable Work
40
Cone of Uncertainty
vs. Cloud of
Uncertainty
Project
schedule
4x
1.6x
2x
1.25x
1.5x
1.15x
1.25x
1.0x
0.8x
1.1x
1.0x
0.9x
0.67x
0.85x
0.5x
0.8x
0.25x
0.6x
Initial
Requirements
Detailed
product
design
definition
Approved
Product
product
design
definition
Product
complete
42
Construx
43
Intellectual Phases
Intellectual Phases
Discovery
Invention
Construction
Focus
Schedule
This figure is adapted from Grady Booch, Object Solutions: Managing
the Object-Oriented Project, Reading, Mass: Addison Wesley 1996
45
Intellectual Phases
Cost of Overlap
Discovery
Invention
Construction
Overlap =
Focus
Dependencies
Uncertainty
Risk
Rework
Higher costs
Longer
schedules
Lower quality
Schedule
Construx
46
Intellectual Phases
Degree of Overlap
Discovery
Invention
Construction
Discovery
Invention
Construction
Discovery
Invention
Construction
Focus
Time
Time
Time
Construx
47
Intellectual Phases
Invention Construction
Focus
Construx
48
Uncertain
Certain
Project is Treated As
Inefficient
Effective
Effective
Risks
Failure
Certain
Uncertain
Project Is
Construx
49
Core Influence:
Defects
Activity in which a
Defect Is
Introduced
Average
Cost to
Correct
Requirements
Architecture
Construction
Requirements
Architecture
Construction
System test
Post-Release
Fix Here
Dont Wait
to Fix Here
Activity in which a
Defect Is
Introduced
Average
Cost to
Correct
Requirements
Architecture
Construction
Requirements
Architecture
Construction
System test
Post-Release
Activity in which a
Defect Is
Introduced
Average
Cost to
Correct
Requirements
Architecture
Construction
Requirements
Architecture
Construction
System test
Post-Release
Quality is an Accelerator
Quality improvement
motivated primarily by economics
(quality is free)
Quality improvement
motivated by quality, per se
(quality costs more)
Effort/ Cost/
Schedule
Most Orgs
are Here
~95%
Percentage of Defects
Removed Before Release
100%
Construx
54
Typical Project
Cumulative
Defects
Well-Run Project
Risk of
Extra Cost
Risk of
Extra Cost
Time
Time
Defect creation
Defect removal
Schedule /
Cost
Savings
Construx
56
Construx
57
Core Influence:
Human
Variation
Note
This is not just
general humans
develop software.
This is specifically
about variation
across different
humans.
Construx
59
Construx
42%
-24%
34%
-19%
-19%
-78%
29%
22%
-16%
20%
Platform Experience
-15%
19%
Team Cohesion
-14%
11%
373%
60
Differences in Productivity
Productivity of Team A
Productivity of Team B
Productivity
Construx
62
Differences in Methods
Productivity
B
Team A Used
Pair Programming
Team B Used
Formal Inspections
Which
method is
better?
Construx
63
Differences in Capability
Team A Had
Star Performers
Team B Had
Average Performers
Productivity
Now
which
method is
better?
Construx
64
Productivity
Typical Variation in
Method Productivity (~20%)
Construx
65
Productivity
Typical Variation in
Method Productivity (~20%)
Construx
Example:
Chrysler C3 Extreme Programming Project
Range that Kent Beck and
Ron Jeffries would perform using
any methods whatsoever
Productivity
Construx
67
Construx
68
Summary
Size
Defects
Uncertainty
Human
Variation
Size
Defects
Uncertainty
Human
Variation
Construx
70
Construx
71
Software
Engineering
Essentials
Lecture Series
CxLearn.com
Construx
72
END