|
Figures and Tables xvii
Preface xix
Part I: A Software Engineering Culture 1
Chapter 1: Software Culture Concepts 3
Culture Defined 3
Growing Your Own Culture 6
A Healthy Software Culture 8
Individual Behaviors 8
Team Behaviors 8
Management Behaviors 9
Organizational Characteristics 9
A Less Healthy Software Culture 10
Individual Behaviors 10
Management Behaviors 11
Organizational Characteristics 11
Organizational Options 12
The Management Challenge 15
Summary 18
Culture Builders and Killers 18
References and Further Reading 19
Chapter 2: Standing On Principle 23
Integrity and Intelligence: With Customers
24
Integrity and Intelligence: With Managers 27
The Five Dimensions of a Software Project 28
Summary 33
Culture Builders and Killers 34
References and Further Reading 34
Chapter 3: Recognizing Achievements Great
and Small 35
The Importance of Being Visible 38
The Importance of Management Attitude 39
Rewards for a Job Well Done 40
Summary 41
Culture Builders and Killers 42
References and Further Reading 43
Chapter 4: So Much to Learn, So Little Time
45
What to Learn 47
Where to Learn 49
Professional Seminar Sources 49
Technical Conferences 50
Publications 51
Videotape Instruction 53
On-Line Information Sources 53
Professional Societies and Certification 53
Summary 55
Culture Builders and Killers 55
References and Further Reading 56
Part II: In Search of Excellent Requirements
59
Chapter 5: Optimizing Customer Involvement 61
Software Requirements: The Foundation of Quality
62
The Need for Customer Involvement 64
The Project Champion Model 66
Project Champion Expectations 69
When the Project Champion Model Fails 73
Summary 75
Culture Builders and Killers 75
References and Further Reading 76
Chapter 6: Tools for Sharing the Vision 78
Use Cases 79
Software Requirements Specifications 83
Dialog Maps 91
Prototypes 93
Requirements Traceability Matrices 96
From Requirements to Code 97
Summary 98
Culture Builders and Killers 99
References and Further Reading 100
Part III: Improving Your Processes 103
Chapter 7: Process Improvement Fundamentals 105
Principles of Process Improvement 106
Getting Started with Process Improvement 112
Summary 114
Culture Builders and Killers 115
References and Further Reading 116
Chapter 8: Process Improvement Case Study
117
Making Change Happen 122
Sustaining Momentum 123
Summary 125
Culture Builders and Killers 126
References and Further Reading 126
Chapter 9: Software Process Maturity 127
The Capability Maturity Model 128
Level 1: Initial 130
Level 2: Repeatable 131
Level 3: Defined 131
Level 4: Managed 132
Level 5: Optimizing 133
Dissenting Opinions 135
Process Assessments 137
Process Maturity and Culture 139
Summary 140
Culture Builders and Killers 141
References and Further Reading 141
Chapter 10: Software Development Procedures
146
Standards, Procedures, and Guidelines, Oh My!
147
Local Development Guidelines 149
Our Software Development Guidelines 151
IEEE Standards 155
Other Standards Sources 156
Summary 158
Culture Builders and Killers 159
References and Further Reading 160
Part IV: The Bug Stops Here 163
Chapter 11: The Quality Culture 165
The Cost of Quality 167
Assuring Software Quality 168
How Dense Are Your Defects? 170
Lines of Code versus Application Functionality
172
How Good Is Good Enough? 174
An Assault on Defects 178
Explicit SQA Responsibilities 181
Why Do We Think Quality Practices Pay Off? 184
Summary 185
Culture Builders and Killers 185
References and Further Reading 186
Chapter 12: Improving Quality by Software
Inspection 189
Inspections and Culture 190
Benefits of Inspections 190
Inspections, Walkthroughs, and Reviews 194
Guiding Principles for Reviews and Inspections
198
Keeping Records 201
Making Inspections Work in Your Culture 204
Summary 207
Culture Builders and Killers 207
References and Further Reading 208
Chapter 13: Structured Testing 211
Testing and the Quality Culture 212
A Unit Testing Strategy 215
Cyclomatic Complexity and Testing 218
Test Management and Automation 220
Structured Testing Guidelines 222
Summary 224
Culture Builders and Killers 224
References and Further Reading 225
Part V: Methods, Measures, and Tools 229
Chapter 14: The CASE for Iteration 231
Types of CASE Tools 233
Hypes of CASE Tools 235
Lessons from Our CASE History 236
Fitting CASE into Your Culture 244
Other Benefits from CASE 247
Culture Change for CASE 248
Summary 249
Culture Builders and Killers 250
References and Further Reading 251
Chapter 15: Control Change Before It Controls
You 254
Benefits of a Problem Tracking System 255
A Software Change Management Case Study 256
The Software Change Control Board 261
How Change Control Can Simplify Your Life 262
Learning from Bug Detection Trends 263
Proactive Failure Reporting 265
Making Change Management Work in Your Culture
267
Summary 268
Culture Builders and Killers 269
References and Further Reading 270
Chapter 16: Taking Measures to Stay on Track
272
Why Measurement Programs Fail 273
Metrics Programs Don't Have to Fail 276
What to Measure 276
How to Design Your Metrics Program 278
Summary 282
Culture Builders and Killers 283
References and Further Reading 284
Chapter 17: Case Study: Measurement in a Small
Software Group 287
Software Work Effort Metrics 287
Trends and Applications 295
Metrics-Based Project Estimation 297
Lessons from Work Effort Metrics 300
Predicting Maintainability with Metrics 300
Summary 301
Culture Builders and Killers 302
References and Further Reading 302
Chapter 18: If It Makes Sense, Do It 304
Summary 308
Culture Builders and Killers 308
References and Further Reading 309
Part VI: What to Do on Monday 311
Chapter 19: Action Planning for Software Managers
313
Action Item Menu 315
Summary 318
References and Further Reading 318
Chapter 20: Action Planning for Software Engineers
319
Action Item Menu 320
Building a Healthy Workplace 324
Summary 327
References and Further Reading 327
Epilogue 329
Appendix A: Sources for Continued Software
Learning 331
Appendix B: Contact Information for Selected
Resources 337
Bibliography 339
Author Index 349
Subject Index 351
Reviewers' Comments 359
Return
to Book Page
|