SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
This is the digital version of the printed book (Copyright © 2003).
To succeed in the software industry, managers need to cultivate a reliable development process. By measuring what teams have achieved on previous projects, managers can more accurately set goals, make bids, and ensure the successful completion of new projects.
Acclaimed long-time collaborators Lawrence H. Putnam and Ware Myers present simple but powerful measurement techniques to help software managers allocate limited resources and track project progress.
Drawing new findings from an extensive database of software project metrics, the authors demonstrate how readers can control projects with just Five Core Metrics–Time, Effort, Size, Reliability, and Process Productivity. With these metrics, managers can adjust ongoing projects to changing conditions–surprises that would otherwise cause project failure.
The Intelligence Behind Successful Software Management: “I Want Predictability”
Download the sample pages (includes Chapter 3 and Index)
&>
Introduction 3
The Evolution of the Metrics 5
Computing Nuclear Weapons Effects 6
Computer Budgets in the Pentagon 7
Applying the Rayleigh Concept to New Projects 10
The Rayleigh Concept Leads to the Software Equation 12
Second Key Relationship: Manpower Buildup Equation 15
The Rayleigh Curve As a Process Control Vehicle 16
Part I What Software Stakeholders Want 19
Chapter 1 Some Software Organizations Are Doing Very Well 21
Maturity Assessments Reflect Hope 24
Has Software Development Mired Down? 26
Way Down Low 27
Intelligence Can Guide Us 28
Chapter 2 A Finite Planet Makes Measurement Essential 31
What Makes Metrics Effective? 33
What the Right Metrics Are 33
How the Core Metrics Relate 34
The Management of Software Projects Is Very Difficult 34
Specifications 35
Capability Maturity Model 35
Process 36
Measure What Has Been Done 36
These Five Metrics Work Together 37
Chapter 3 Integrate Metrics with Software Development 40
Metrics Meter Limited Resources 40
What Is the Process? 42
Phase One: Inception 44
Phase Two: Elaboration 45
Phase Three: Construction 48
Phase Four: Transition 50
Chapter 4 "I Want Predictability" 52
The Software Situation Is Serious 53
Department of Defense Calls for Predictability 54
The Underlying Reasons Are Complex 54
Competition Stirs the Pot 55
The Limits of the Possible 56
There Are Certain Limits 60
Part II The Metrics Needed for Effective Control 63
Chapter 5 The Measurement View 65
The Profound Difference 67
One Fact Is Minimum Development Time 68
The Core Measurements Underlie "Getting Work Done" 68
The Key Concepts 69
Expressing the Key Concepts in Metrics 71
Time 71
Effort 71
Quality 72
Amount of Work 72
Process Productivity 73
Chapter 6 Estimating Size as a Measure of Functionality
Shannon's Path 78
Representing the Amount of Functionality 81
Sizing Functionality by Calibration 82
Sizing Implications of Reuse 83
Estimate Size 84
Get the Facts 85
Get the People 86
Get the Data 86
Allow Time 86
Employ an Estimating Method 86
Chapter 7 Penetrating the Software Productivity Jungle 89
Finding the Right Relationship 90
The Relationship of Time to Size 90
The Relationship of Effort to Size 91
The Software Equation 92
The Effect on Productivity 92
Conventional Productivity Varies Widely 93
Schedule Is a Factor in Productivity 94
How Conventional Productivity Behaves 94
How Process Productivity Behaves 97
Obtain Process Productivity by Calibration 98
Don't Do It This Way! 101
Do It with Process Productivity 101
Chapter 8 Defect Rate Measures Reliability 103
The Fifth Core Metric 104
Software Development Is in Trouble 106
Why Do We Commit Errors? 107
Plan Projects to Minimize Error-Making 107
Limit Functionality 108
Allow Sufficient Schedule Time 108
Allow Sufficient Effort 109
Improve Process Productivity 109
Find Defects 110
Some Defects Remain at Delivery 110
Part III Control at the Project Level 113
Chapter 9 Do the Hard Stuff First—Establish Feasibility 115
The Vision Comes First 116
What to Build 116
Risk 117
Economic Constraints 117
An Endless Task 117
How We Got into This Leaky Boat 119
The Inception Phase Establishes Feasibility 120
Delimit Scope 121
Select an Architecture Possibility 122
Mitigate Critical Risk 123
A Feasibility Decision, 150 Years Later 123
Make the Business Case 124
Where Do the Resources Come From? 126
Were Our Ancestors Shrewder? 127
Chapter 10 Do the Tough Stuff Next—Functional Design 128
The Tough Stuff 129
Meshing the Activities 131
Formulating Requirements Is No Longer Simple 132
Difficulties Fixing Requirements 133
What We Need to Do 134
Key Requirements Lead to Functional Design 134
Identify Significant Risks? 135
The Business Case at Phase Two 136
Supporting Phase two Itself 136
Nearing the Bid Decision 137
Chapter 11 The Power of the Trade-Off 138
Avoid the Impossible Region 140
Stay Out of the Impractical Region 141
Trade-Off Time and Effort 141
Trade-Off Time and Defects 142
Small Is Beautiful 143
Once More with Emphasis: Small Is Beautiful! 144
Selecting the Software Relationship 151
There Must Be a Relationship 152
The Relationship Must Be Reasonably Accurate 153
Management Must Use the Relationship 156
The Bid Is Different from the Estimate 158
Chapter 12 Turning Your Range Estimate Into Your Client's Point Bid 159
The Uncertainty Drivers 160
The Time-Effort Curve Is Uncertain 160
Estimators Face Constraints 161
Manage Estimating Risk 163
Get Out of the Uncertainty Trap 164
Work with Uncertainty, Not in Defiance of It 166
Chapter 13 The Main Build Leads to Operational Capability 169
Staff Allocation 171
Projecting Functionality 175
Detecting Defects in Test 177
Apply Statistical Control to the Core Metrics 177
Track System Size 180
Track Defects 182
The Essential Point: Control 185
Chapter 14 The Operation and Maintenance Phase 186
Where Does Phase Four Begin? 187
What Goes On in the Phase? 188
Find and Fix Defects 189
Improve Reliability 189
Adapt the System 190
Modify the System 190
When Does the Phase End? 191
How to Estimate the Phase 192
Chapter 15 Replan Projects in Trouble 195
The Award Differs from the Original Estimate 196
The Award Reflects the Estimate 199
Replan Troubled Projects 200
Replan Periodically 201
Part IV Control at the Organization Level 203
Chapter 16 A Telecommunications Company Evaluates Its Software Suppliers 205
Lessons from Construction 206
Lack of Facts Leads to Pain 206
Lower Tier, the Same 208
PTT Telecom BV Gets Real 209
The PTT Faces Competition 210
The Telecom Considers What to Do 210
How to Do It? 211
Purchasing Alerts Management 212
The Telecom Gets Results 213
Results on Sample Projects 215
Chapter 17 Evaluate Bids on the Facts 217
The Reality Is Research and Development 217
Getting to the Facts 218
The Bidder Cooperates 219
The Evaluators Consider Schedule 219
The Evaluators Consider Effort 222
The Evaluators Consider Reliability 223
The World of Wild Bidding 223
The Vendor Tries to Buy In 224
The Vendor Gold Plates 225
Experience Supports the Factual Approach 225
Who Needs the Facts? 226
Chapter 18 Managing a Portfolio of Projects 227
A Senior Manager Can Master-Plan 228
Good Project Plans Underlie a Good Master Plan 229
What a Master Plan Does 232
The Master Curve Shows Declining Staff 232
The Master Curve Shows Increasing Staff 233
Control of Project Backlog 233
Coping with Powerful Project Managers 234
Planning Staff at the Enterprise Level 234
Chapter 19 Improving the Software Development Process 236
Performance Comes from the Entire Process 237
Pre-Phase: Needs 238
Inception Phase (or Feasibility) 239
Elaboration Phase (or Functional Design) 240
Construction Phase (or Main Build) 241
Transition (or Operation and Maintenance) 241
Phases Are Implemented by Workflows 241
Process Improvement Comes Hard 242
Process Productivity Rises Slowly 243
Process Productivity Extends Over a Great Range 243
Why Has Process Improvement Been Hard? 244
Trapped in the Economy 245
Need for Client Participation 245
Software Development Is Difficult 246
Some Organizations Are Improving Their Process 247
The Place to Start Is Where You Are 250
Chapter 20 Managing Reusable Components 251
The Five Stages of Reuse 252
Hip-Pocket Reuse 252
Reuse from a Repository 252
Product-Line Reuse 254
ERP Systems Are a Form of Reuse 255
Architecture-Wide Reuse 255
What Are the Essential Supports for Reuse? 257
Architecture Accommodates Components 257
Interfaces Enable Inter-Component Communication 258
Variation Mechanisms Multiply Adaptability 258
Process Provides Locations for Selection 258
Modeling Language Provides the Means 259
Tools Implement These Needs 260
Internet-Hosted Services 260
Estimating in the Age of Reuse 260
Components from a Repository 261 Product-Line and ERP Reuse 261
Any Metric Measuring Functionality Will Do 261
Finding That Metric 261
Calibration to the Rescue 262
Fundamental Principle Reinforced 263
Architecture-Wide Components Increase Reuse 264
Functionality or Process Productivity? 264
Size Adjustment Seeks "Effective" Size 266
Second Approach Adjusts Process Productivity 266
Chapter 21 Metrics Backstop Negotiation 269
Negotiation Bridges Gaps 270
The Principal Gaps 272
Different Interests at Stake 273
A Job for Negotiation Man! 273
The Core Metrics Support Negotiation 274
Software Development Depends on Negotiation 276
Negotiation Depends Upon Metrics 277
Chapter 22 Motivating Participants in the Software Development Process 278
People Are the Ultimate Resource 279
Hire Good People 279
Build Organizations 280
Keep People 280
Give People Time 281
Five Essential Motivating Factors 282
Extending Estimating Wisdom More Widely 282
Ten Great Truths 284
The Five Great Truths About Metrics 284
The Five Great Truths About Software Development 285
Appendix A Good Enough Is Better Than Floundering 287
Appendix B Behavior of the Core Metrics 290
Study Results 291
Size 292
Effort 293
Time 294
Staff 295
Process Productivity 296
Mean Time To Defect 297
Will the Next Period Reverse Again? 298
Bibliography 301
Index 305