Part one Understand the Basics
1. Manage Your People 3
1.1 Managing Project Culture 4
1.2 Managing Good People 8
1.3 Making Good People Better 11
1.4 Leading Good People 17
Key Points / 19 Definitions / 19 Self Check / 20
Exercises / 21 Projects / 22 Further Information / 22
References / 23
2. Implement Your Process 25
2.1 Putting a Process in Place 26
2.1.1 Tailoring a Process 29
2.1.2 Specifying a Process 33
2,2 Implementing a Process 37
2.3 Adopting an Agile Process 39
2.4 Assessing a Process 40
Key Points / 41 Definitions / 42 Self Check / 42
Exercises / 43 Projects / 46 Further Information / 46
References / 47
3. Leverage Your Tools 49
3.1 Choosing Tools 50
3.2 Training to Use Tools 54
3.2.1 Training Time 55
3.2.2 Training Method 55
3.2.3 Training Content 57
3.3 Leveraging Tools 58
Key Points / 60 Definitions / 60 Self Check / 60
Exercises / 61 Projects / 61 Further Information / 62
4. Use Your Measurements 63
4.1 Selecting Measurements 64
4.1.1 Measurements for All Projects 66
4.1.2 Measurements for Specific Projects 75
4.2 Planning Measurement 79
4.3 Leveraging Measurements 80
Key Points / 82 Definitions / 82 Self Check / 83
Exercises / 83 Projects / 85 Further Information / 85
References / 86
Part two Prepareto Manage
5. Form Your Vision 89
5.1 Analyzing Stakeholders 90
5.2 Balancing Project Needs 93
5.3 Assessing Project Risks 96
5.4 Specifying Project Payoffs 100
5.5 Specifying and Communicating a Project Vision 102
5.6 Examining a Case Study 105
Key Points / 107 Definitions / 107 Self Check / 108
Exercises / 108 Projects / 109 Further Information / 109
References / 110
6. Organize Your Resources 111
6.1 Identifying Hardware 112
6.2 Identifying Software 114
6.3 Identifying Support 116
6.4 Examining a Case Study 118
Key Points / 119 Definitions / 120 Self Check / 120
Exercises / 121 Projects / 121 Further Information / 122
References / 122
7. Sketch Your Schedule 123
7.1 Estimating Project Size and Effort 125
7.1.1 Function Points 126
7.1.2 COCOMO I 131
7.1.3 COCOMO II 136
7.2 Scheduling Immovable Milestones 142
7.3 Scheduling Synchronization Points 145
7.4 Facilitating Communication 148
7.5 Examining a Case Study 150
Key Points / 152 Definitions / 153 Self Check / 154
Exercises / 154 Project / 155 Further Information / 155
References / 156
8. Write Your Plan 157
8.1 Organizing the Plan 158
8.2 Covering All the Bases 164
8.2.1 Project Overview 164
8.2.2 High-Level Functionality 165
8.2.3 Project Staffing 166
8.2.4 Software Process 168
8.2.5 Schedule and Effort Estimates 169
8.2.6 Measurements 170
8.2.7 Risks 170
8.2.8 Software Tools 171
8.2.9 Hardware, Software, and Personnel Support 172
8.3 Reviewing the Plan 172
8.4 Examining a Case Study 174
Key Points / 176 Definitions / 176 Self Check / 176
Exercises / 177 Projects / 177 Further Information / 178
References / 178
Part three Launch Your Project
9. Roll Out Your Roles 185
9.1 identifying Roles 186
9.2 Matching People to Roles 191
9.3 Highlighting Commitments and Dependencies 196
94 Examining a Case Study 199
Key Points / 202 Definitions / 203 Self Check / 203
Exercises / 204 Projects / 20S Further Information / 205
References / 205
10. Schedule Your Schedule 207
10.1 Identifying and Scheduling Tasks 208
10.1.1 Up-front Tasks 210
10.1.2 Software Engineering Tasks 214
10.2 Assigning Tasks to Roles 220
10.3 Creating a Backup Plan 223
10.4 Examining a Case Study 227
Key Points / 228 Definitions / 229 Self Check / 230
Exercises / 230 Projects / 231 Further Information / 231
References / 232
11. Get Your Support 233
11.1 Getting Hardware Support 235
11.2 Getting Software Support 238
11.3 Getting Tool Support 240
11.4 Examining a Case Study 243
Key Points / 244 Definitions / 245 Self Check / 245
Exercises / 246 Projects / 246 Further Information / 247
12. Leaving the Starting Line 249
12.1 Directing the Team 251
12.2 Implementing the Technology 255
12.3 Capturing the Measurements 258
12.4 Monitoring the Project 262
12.4.1 Cultural Status 263
12.4.2 Engineering Status 265
12.4.3 Task Status 267
12.5 Examining a Case Study 269
Key Points / 271 Definitions / 271 Self Check / 272
Exercises / 273 Projects / 273 Further Information / 273
References / 274
Part four Manage to Stability
13. Monitor Your Project 277
13.1 Gathering,Information 278
13.2 Understanding the Information 285
13.3 Avoiding Problems 292
13.4 Finding Solutions 296
13.5 Examining a Case Study 299
Key Points / 301 Definitions / 301 Self Check / 302
Exercises / 302 Projects / 303 Further Information / 303
References / 304
14. Reschedule Your Schedule 305
14.1 Making the Schedule Important 306
14.2 Knowing when the Schedule Slipped 310
14.3 Rescheduling Correctly 314
14.4 Examining a Case Study 319
Key Points / 320 Definitions / 321 Self Check / 321
Exercises / 322 Projects / 322 Further Information / 323
References / 3;>3
15. Engineer a Great Product 325
15.1 Requiring Your Requirements 326
15.2 Designing in Quality 331
15.3 Implementing Smartly 337
15.4 Testing Effectively 341
15.5 Examining a Case Study 348
Key Points / 350 Definitions / 350 Self Check / 351
Exercises / 352 Projects / 353 Further Information / 354
References / 354
Part five Complete a Project
16. Deliver Your System 357
16.1 Planning to Finish 358
16.1.1 Planning an Install 361
16.1.2 Planning Deployment 365
16.2 Finishing a Plan 369
16.3 Supporting a Product 371
16.4 Examining a Case Study 373
Key Points / 374 Definitions / 375 Self Check / 376
Exercises / 376 Projects / 377 Further Information / 377
References / 377
17. Assess Your Project 379
17.1 Planning a Project Assessment 381
17.1.1 Asking the Right Questions 382
17.1.2 Examining Measurements and Information 383
17.1.3 Allocating the Team 385
17.1.4 Creating the Assessment Products 386
17.1.5 Recording the Missing Information 387
17.2 Analyzing Measurements 387
17.3 Presenting the Assessment Results 393
17.4 Examining a Case Study 395
Key Points / 397 Definitions / 398 Self Check / 398
Exercises / 399 Projects / 399 Further Information / 399
References / 400
INDEX 401