Preface |
|
xiii | |
Acknowledgments |
|
xvii | |
About the Author |
|
xix | |
|
|
1 | |
|
2 Current Challenges in the Software Industry |
|
|
3 | |
|
|
4 | |
|
2.2 Software Project Management |
|
|
4 | |
|
2.3 The Iron TriangleScope, Schedule, Resources |
|
|
6 | |
|
|
6 | |
|
|
7 | |
|
|
7 | |
|
|
7 | |
|
|
8 | |
|
2.4.2 Usability/Aesthetics |
|
|
9 | |
|
|
9 | |
|
|
10 | |
|
|
10 | |
|
|
10 | |
|
|
10 | |
|
2.6 Global Competition and Market Challenge |
|
|
11 | |
|
2.7 Managing Project Constraints |
|
|
11 | |
|
|
12 | |
|
2.9 Geographically Distributed Teams and Attrition |
|
|
13 | |
|
3 Delivering a Successful Project |
|
|
15 | |
|
|
15 | |
|
|
15 | |
|
|
16 | |
|
3.4 Project Management Myths |
|
|
18 | |
|
3.4.1 Clarifying the Project Management Myths |
|
|
19 | |
|
3.5 Keys to a Successful Project |
|
|
21 | |
|
|
21 | |
|
3.5.2 Stakeholders (Communicate and Manage) |
|
|
21 | |
|
3.5.3 Team (Motivated and Involved) |
|
|
21 | |
|
3.5.4 Project Planning (First Step in the Project) |
|
|
22 | |
|
3.5.5 Set Expectations (Promise Low and Deliver High) |
|
|
22 | |
|
3.5.6 Design (Know Before You Code) |
|
|
22 | |
|
3.5.7 High Quality (Doing It Right the First meEverytime) |
|
|
23 | |
|
3.5.8 Iterate and Evolve (Start Small and Build on Top of It) |
|
|
23 | |
|
3.5.9 Testing (Test Early and Frequently) |
|
|
23 | |
|
3.5.10 Track (Are We on the Right Path to Achieve the Goal?) |
|
|
24 | |
|
3.5.11 Manage Change (Don't Let Change Manage You) |
|
|
24 | |
|
3.5.12 Continuous Improvement (Raise the Bar) |
|
|
25 | |
|
3.5.13 Positive Attitude (Keep an Open Mind!) |
|
|
25 | |
|
4 Personal Software Processsm (PSPsm) |
|
|
27 | |
|
|
28 | |
|
|
29 | |
|
|
29 | |
|
|
30 | |
|
|
30 | |
|
|
30 | |
|
4.3.1 PSP0: The Baseline Process |
|
|
32 | |
|
4.3.2 PSP1: Personal Planning Process |
|
|
32 | |
|
4.3.3 PSP2: Personal Quality Management Process |
|
|
33 | |
|
4.3.4 PSP3: Cyclic Personal Process |
|
|
34 | |
|
4.3.5 TSPsm: The Team Software Process |
|
|
35 | |
|
4.4 Key Measurements in PSP |
|
|
36 | |
|
|
36 | |
|
|
37 | |
|
|
40 | |
|
4.5 Software Project Planning and Tracking Using PSP |
|
|
40 | |
|
|
43 | |
|
5.1 TSP Executive Strategy Seminar (1 day) |
|
|
43 | |
|
5.2 Introduction to Personal Process (2 days) |
|
|
43 | |
|
5.3 PSP for Engineers (10 days) |
|
|
44 | |
|
5.4 Leading a Development Team (Managing TSP Teams; 3 days) |
|
|
44 | |
|
5.5 PSP Instructor Training (5 days) |
|
|
44 | |
|
5.6 TSP Coach Training (5 days) |
|
|
45 | |
|
6 Team Software ProcessSM (TSPsm) |
|
|
47 | |
|
|
48 | |
|
6.2 Understanding Team Dynamics |
|
|
48 | |
|
6.3 Building Self-Directed Teams |
|
|
48 | |
|
6.3.1 Team-Building Strategies |
|
|
48 | |
|
6.3.2 Building a Jelled Team |
|
|
49 | |
|
|
51 | |
|
7.1 Using the TSP Workbook |
|
|
51 | |
|
|
54 | |
|
7.3 Roles and Responsibilities of TSP Meetings |
|
|
54 | |
|
8 Meeting 1: Establish Product and Business Goals |
|
|
55 | |
|
Meeting Agenda (Discussion Leader) |
|
|
55 | |
|
|
55 | |
|
|
56 | |
|
8.3 Meeting DiscussionsApproach and Positive Attitude |
|
|
58 | |
|
8.3.1 Discuss with a Positive Attitude |
|
|
59 | |
|
8.3.2 Potential Meeting Discussion Questions |
|
|
59 | |
|
8.4 Introduction of Team Members |
|
|
60 | |
|
8.5 TSP and Presentation of Launch Process Overview |
|
|
60 | |
|
8.5.1 Purpose of TSP Launch |
|
|
60 | |
|
8.5.2 TSP Launch Meetings 1-9: An Overview |
|
|
61 | |
|
8.5.3 TSP Launch Artifacts |
|
|
63 | |
|
8.6 Marketing PresentationProduct Objectives and Goals |
|
|
63 | |
|
8.7 Management Presentationthe Business Need and Goals for the Product |
|
|
64 | |
|
|
65 | |
|
8.9 Potential Issues and How to Handle Them |
|
|
66 | |
|
8.9.1 Management Availability for Opening and Closing a TSP Meeting |
|
|
66 | |
|
8.9.2 Team Availability Throughout the Launch |
|
|
67 | |
|
8.9.3 Team Member and Management Training |
|
|
67 | |
|
|
68 | |
|
9 Meeting 2: Define Team Goals and Select Team Roles |
|
|
69 | |
|
Meeting Agenda (Discussion Leader) |
|
|
69 | |
|
|
70 | |
|
9.2 Reviewing Management and Marketing Stated Goals |
|
|
70 | |
|
|
71 | |
|
9.4 Importance of TSP Roles and Responsibilities |
|
|
74 | |
|
9.5 TSP Roles and Responsibilities |
|
|
74 | |
|
9.5.1 TSP Role: Team Leader |
|
|
76 | |
|
9.5.2 TSP Role: Customer Interface Manager |
|
|
79 | |
|
9.5.3 TSP Role: Design Manager |
|
|
81 | |
|
9.5.4 TSP Role: Implementation Manager |
|
|
83 | |
|
9.5.5 TSP Role: Planning Manager |
|
|
85 | |
|
9.5.6 TSP Role: Process Manager |
|
|
87 | |
|
9.5.7 TSP Role: Quality Manager |
|
|
89 | |
|
9.5.8 TSP Role: Support Manager |
|
|
91 | |
|
9.5.9 TSP Role: Test Manager |
|
|
92 | |
|
9.5.10 TSP Role: Team Member |
|
|
95 | |
|
9.5.11 TSP Role: Inspection Manager |
|
|
97 | |
|
9.6 Role Manager Commitments |
|
|
100 | |
|
|
101 | |
|
|
101 | |
|
9.7.2 Guidelines for Selecting TSP Roles |
|
|
102 | |
|
9.7.3 Role Selection Process |
|
|
103 | |
|
9.8 Entering Role Details on TSP Sheet |
|
|
105 | |
|
|
106 | |
|
|
107 | |
10 Meeting 3: Produce Development Strategy |
|
109 | |
|
Meeting Agenda (Discussion Leader) |
|
|
109 | |
|
|
110 | |
|
10.2 Produce Conceptual Design |
|
|
110 | |
|
10.3 Team's Development Strategy |
|
|
111 | |
|
10.4 List of Products to Produce |
|
|
112 | |
|
10.4.1 The SUMS Worksheet |
|
|
113 | |
|
10.5 Development Process Definition |
|
|
117 | |
|
|
119 | |
|
|
120 | |
|
10.8 Change Control Board |
|
|
121 | |
|
10.9 Define Role Tasks and Weekly Status |
|
|
121 | |
|
|
122 | |
11 Meeting 4: Building Overall Team Plan |
|
123 | |
|
Meeting Agenda (Discussion Leader) |
|
|
123 | |
|
|
124 | |
|
11.1.1 Available Hours in a Week and Task Hours |
|
|
124 | |
|
11.2 Work Breakdown Structure (WBS) |
|
|
125 | |
|
11.3 Size Estimation for All Parts of the Final Product |
|
|
125 | |
|
|
125 | |
|
11.3.2 Updating SUMS in TSP Workbook |
|
|
128 | |
|
11.4 Determine Overall Project Resources Requirements |
|
|
134 | |
|
11.5 Create List of Tasks |
|
|
135 | |
|
11.5.1 Development Phase Percentage Time Allocation |
|
|
136 | |
|
11.5.2 Generate Task List |
|
|
137 | |
|
11.5.3 Update Task List with Phase Information |
|
|
142 | |
|
11.5.4 Review the Updated Task List |
|
|
146 | |
|
11.6 Weekly Availability of Team Members |
|
|
146 | |
|
11.7 Generate Overall Team Plan and Review with the Team |
|
|
151 | |
|
|
155 | |
12 Meeting 5: Develop the Quality Plan |
|
157 | |
|
Meeting Agenda (Discussion Leader) |
|
|
157 | |
|
|
157 | |
|
12.2 Review Quality Goals |
|
|
158 | |
|
12.3 Estimate Defects Injected |
|
|
159 | |
|
12.4 Estimate Phase Yield (Defect Removal Rate) |
|
|
162 | |
|
12.5 Create and Review the Quality Plan |
|
|
167 | |
|
|
173 | |
13 Meeting 6: Build Individual Plans and Consolidate |
|
175 | |
|
Meeting Agenda (Discussion Leader) |
|
|
175 | |
|
|
175 | |
|
13.2 Allocate Tasks to Team Members |
|
|
176 | |
|
13.3 Create Individual Plans |
|
|
178 | |
|
13.4 Load Balance Individual Plans |
|
|
179 | |
|
13.5 Incorporate Internal Project Dependencies in the Plan |
|
|
181 | |
|
13.6 Consolidate and Create Team Project Plan |
|
|
182 | |
|
|
184 | |
14 Meeting 7: Conducting Risk Assessment |
|
185 | |
|
Meeting Agenda (Discussion Leader) |
|
|
185 | |
|
|
186 | |
|
14.2 Risk Identification and Assessment |
|
|
186 | |
|
|
189 | |
|
|
189 | |
|
14.2.3 Risk Priority Assessment |
|
|
189 | |
|
14.3 Create Risk Mitigation and Management Plan |
|
|
190 | |
|
|
190 | |
|
|
190 | |
|
|
193 | |
15 Meeting 8: Prepare TSPSM Project Launch Report for Management Briefing |
|
195 | |
|
Meeting Agenda (Discussion Leader) |
|
|
195 | |
|
|
196 | |
|
15.2 Plan the Management Briefing Presentation |
|
|
197 | |
|
|
198 | |
|
15.4 Review Presentation and Prepare for Management Briefing |
|
|
199 | |
|
|
200 | |
16 Meeting 9: Hold the Management Review |
|
201 | |
|
Meeting Agenda (Discussion Leader) |
|
|
201 | |
|
|
202 | |
|
16.2 Management Briefing of TSP Project Plan |
|
|
202 | |
|
16.3 Plan Review, Discussion, Questions, and Changes |
|
|
202 | |
|
16.4 Management's Project Plan Approval |
|
|
204 | |
|
|
204 | |
17 Postmortem and TSPSM Process Review |
|
205 | |
18 Managing TSPSM Teams |
|
207 | |
|
18.1 Entering Project Data in TSP |
|
|
207 | |
|
|
208 | |
|
18.1.2 Defects Data Entry |
|
|
210 | |
|
|
214 | |
|
|
215 | |
|
18.2 Project Data Consolidation |
|
|
218 | |
|
18.3 Weekly Project Status Meetings |
|
|
218 | |
|
18.4 Project Management with Data |
|
|
221 | |
|
|
221 | |
|
18.4.2 Planned versus Actual Hours per Week |
|
|
222 | |
|
|
224 | |
|
18.4.4 Inspection and Review Rates |
|
|
227 | |
|
18.4.5 Phase and Process Yield |
|
|
228 | |
|
18.4.6 Percentage Time in Phase |
|
|
228 | |
|
18.4.7 Project Quality Profile |
|
|
230 | |
|
|
231 | |
|
|
232 | |
19 Coaching TSPSM Teams |
|
235 | |
|
19.1 The Importance of Coaching |
|
|
235 | |
|
19.2 Individual and Team Coaching and Guiding in Right Direction |
|
|
235 | |
|
19.3 Improving Individual and Team Performance |
|
|
238 | |
|
19.4 Coaching the Team to Understand Their Own Data |
|
|
239 | |
|
|
239 | |
20 Overview of Six Sigma |
|
241 | |
|
|
241 | |
|
|
242 | |
|
20.1 The Need for Continuous Improvement |
|
|
242 | |
|
20.2 Solving the Right Problem the Right Way |
|
|
243 | |
|
20.2.1 Defects Are Inevitable |
|
|
243 | |
|
20.2.2 Fixing the Root Cause |
|
|
243 | |
|
20.3 The DMAIC Methodology |
|
|
243 | |
|
20.4 Using Six Sigma in Software |
|
|
244 | |
|
20.5 Project Case Study: Improve Product Specification Quality, Completeness and Effectiveness |
|
|
247 | |
|
20.6 Mentoring a Six Sigma Project |
|
|
248 | |
Index |
|
249 | |