Foreword |
|
xvii | |
Acknowledgments |
|
xix | |
About The Author |
|
xxi | |
Introduction |
|
xxiii | |
|
Chapter 1 Software Development Explained: Creativity Meets Complexity |
|
|
1 | (6) |
|
A Definition of Software Development |
|
|
1 | (1) |
|
Why Is Software Development So Difficult? Hint: It's Not Like Building a House |
|
|
1 | (1) |
|
The Simple, the Complicated, and the Complex |
|
|
2 | (4) |
|
Metaphor #1 Piles of Snow |
|
|
3 | (1) |
|
Metaphor #2 The Ikea Desk |
|
|
4 | (1) |
|
Metaphor #3 Heart Surgery |
|
|
5 | (1) |
|
Using the Three Metaphors in Project Management |
|
|
6 | (1) |
|
Chapter 2 Agile, Waterfall, and the Key to Modern Project Management |
|
|
7 | (10) |
|
|
7 | (1) |
|
|
7 | (1) |
|
|
8 | (1) |
|
The Requirements Requirement |
|
|
9 | (1) |
|
|
9 | (1) |
|
Loss of Opportunity and Time to Market |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
10 | (2) |
|
Lack of Up-Front Planning |
|
|
12 | (1) |
|
|
12 | (1) |
|
|
13 | (1) |
|
|
13 | (1) |
|
|
14 | (1) |
|
The Need for Up-Front Requirements in Many Projects |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
15 | (1) |
|
The Software Development Life Cycle |
|
|
15 | (2) |
|
Chapter 3 Project Approaches; Off-the-Shelf and Custom Development; One Comprehensive Tool and Specialized Tools; Phased Launches and Pilots |
|
|
17 | (12) |
|
The Custom vs. Off-the-Shelf Approach |
|
|
18 | (1) |
|
|
18 | (1) |
|
The Benefit of Off-the-Shelf |
|
|
19 | (1) |
|
|
19 | (1) |
|
Thinking You're Editing When You're Actually Creating |
|
|
20 | (1) |
|
Common Challenges with Off-the-Shelf Software |
|
|
20 | (1) |
|
|
21 | (1) |
|
Discovering You Made the Wrong Choice with Packaged Software |
|
|
21 | (1) |
|
Breaking the Upgrade Path |
|
|
21 | (1) |
|
Locked into a Partnership and the Product Roadmap |
|
|
22 | (1) |
|
|
22 | (1) |
|
Where Packaged Software Works Well |
|
|
23 | (1) |
|
Frameworks and the Blurring Worlds of Custom and Packaged Software |
|
|
23 | (1) |
|
Integrations vs. One Tool for the Job |
|
|
24 | (1) |
|
|
25 | (1) |
|
Bigger Is Not Always Better |
|
|
26 | (1) |
|
|
26 | (1) |
|
|
27 | (2) |
|
Chapter 4 Teams and Team Roles and Responsibilities Defined |
|
|
29 | (26) |
|
Teams and the Roles on Teams |
|
|
29 | (1) |
|
|
30 | (1) |
|
The Key Business Stakeholder |
|
|
31 | (1) |
|
|
31 | (1) |
|
|
32 | (1) |
|
|
32 | (1) |
|
Multiple Project Managers |
|
|
33 | (1) |
|
Confusion About the Project Manager Role; It's More Limited than You Think |
|
|
34 | (1) |
|
|
34 | (1) |
|
|
35 | (1) |
|
|
35 | (1) |
|
|
35 | (1) |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
36 | (1) |
|
Team Member Choice and Blending Roles |
|
|
37 | (1) |
|
Getting All the Roles Covered |
|
|
37 | (1) |
|
Real-World Examples for Role-Blending |
|
|
38 | (2) |
|
Project Sponsor as Program Manager |
|
|
38 | (1) |
|
Program Manager as Business Analyst |
|
|
39 | (1) |
|
Front-End Programmer as User Experience |
|
|
39 | (1) |
|
Design, UX, and Business Analysis |
|
|
40 | (1) |
|
Back-End Programmer as Architect |
|
|
40 | (1) |
|
|
40 | (1) |
|
Professionals and Personalities |
|
|
40 | (3) |
|
|
40 | (1) |
|
|
41 | (1) |
|
Business Analysts and User Experience People |
|
|
42 | (1) |
|
Architects and Systems Administrators |
|
|
42 | (1) |
|
Insource or Outsource: Whether to Staff Roles with Internal People or Get Outside Help |
|
|
43 | (1) |
|
The Myth that Insourcing Programming Is Better |
|
|
43 | (1) |
|
Inexperience with Projects |
|
|
44 | (1) |
|
|
44 | (1) |
|
|
44 | (1) |
|
When to Use Internal or External Teams |
|
|
45 | (1) |
|
Roles Easiest to Outsource |
|
|
46 | (1) |
|
|
46 | (1) |
|
Roles that Are Usually Internal |
|
|
47 | (1) |
|
Vendors and Hiring External Resources |
|
|
47 | (1) |
|
Some Tech-Types to Avoid: Dot Communists and Shamans |
|
|
47 | (1) |
|
|
48 | (1) |
|
Boundaries, Responsibilities, and Driving in Your Lane |
|
|
49 | (1) |
|
Techies Who Don't Drive in Their Lane |
|
|
50 | (1) |
|
Business Stakeholders Who Shirk Responsibilities |
|
|
50 | (1) |
|
Business Stakeholders, Step Up! |
|
|
51 | (1) |
|
Have a Trusted Technology Partner |
|
|
52 | (1) |
|
How Best (and Worst) to Work with Your Technology Partner |
|
|
52 | (1) |
|
|
53 | (2) |
|
Chapter 5 Project Research and Technology Choice: Conflicts at the Start of Projects; Four Additional Project Delays; Initial Pitfalls |
|
|
55 | (22) |
|
Choice of Technology, a Definition |
|
|
56 | (1) |
|
The Project's Research Phase |
|
|
56 | (1) |
|
|
56 | (1) |
|
Integrations and Current State |
|
|
57 | (1) |
|
|
57 | (1) |
|
|
58 | (1) |
|
Possible Technology Solutions |
|
|
58 | (1) |
|
|
59 | (1) |
|
|
59 | (1) |
|
Talk to Other People, a Journalistic Exercise |
|
|
60 | (1) |
|
How Do You Know When Your Research Is Done? |
|
|
61 | (1) |
|
|
62 | (1) |
|
You Can't Run the Control |
|
|
62 | (1) |
|
|
63 | (1) |
|
|
64 | (1) |
|
Business Stakeholders and Controlling Ego |
|
|
64 | (1) |
|
How to Stop a Technology Religious War |
|
|
65 | (1) |
|
|
65 | (1) |
|
Preventing a Technology Religious War |
|
|
65 | (1) |
|
|
66 | (1) |
|
Stopping a War in Its Tracks |
|
|
66 | (1) |
|
Detente and Finally Ending a Technology Religious War |
|
|
67 | (1) |
|
|
67 | (1) |
|
|
68 | (1) |
|
Two Most Important Factors in Core Technology Decisions |
|
|
69 | (2) |
|
|
69 | (1) |
|
|
69 | (1) |
|
Choosing Technology and What NOT to Consider: The Future |
|
|
70 | (1) |
|
Other Conflicts that Delay the Start of Projects |
|
|
71 | (3) |
|
Business Strategy and Organizational Authority |
|
|
71 | (2) |
|
|
73 | (1) |
|
|
73 | (1) |
|
|
74 | (1) |
|
The Project Charter, a Key Document |
|
|
74 | (3) |
|
Chapter 6 Final Discovery: Project Definition, Scope, and Documentation |
|
|
77 | (24) |
|
Budgeting and Ongoing Discovery; Discovery Work Is Real Work |
|
|
78 | (1) |
|
Budgeting Final Discovery |
|
|
78 | (1) |
|
|
79 | (1) |
|
What Comes Out of Final Discovery: A Plan |
|
|
79 | (1) |
|
|
80 | (1) |
|
|
80 | (1) |
|
|
81 | (1) |
|
The Plan for the Plan---Company A |
|
|
82 | (2) |
|
|
82 | (1) |
|
|
82 | (1) |
|
|
82 | (1) |
|
Content Pages and Features |
|
|
83 | (1) |
|
|
83 | (1) |
|
|
83 | (1) |
|
|
84 | (1) |
|
How Anyone Can Make a Plan for the Plan |
|
|
84 | (1) |
|
Different Approaches to Elicit the Plan for the Plan |
|
|
85 | (1) |
|
|
86 | (1) |
|
|
87 | (1) |
|
The Weeds Are Where the Flowers Grow |
|
|
87 | (1) |
|
Not All Questions Will Be Answered |
|
|
88 | (1) |
|
Agile, Waterfall, and Project Documentation |
|
|
89 | (1) |
|
|
90 | (1) |
|
|
90 | (1) |
|
|
90 | (1) |
|
|
90 | (1) |
|
|
91 | (1) |
|
|
91 | (1) |
|
|
91 | (1) |
|
|
92 | (1) |
|
Budget, Scope, Timelining, and Horse-Trading |
|
|
93 | (1) |
|
|
93 | (1) |
|
|
94 | (1) |
|
Defining and Visualizing and Project Scope |
|
|
94 | (3) |
|
|
95 | (1) |
|
|
95 | (2) |
|
|
97 | (1) |
|
Where Does Design Fit In? |
|
|
97 | (1) |
|
Working with Marketing Stakeholders |
|
|
98 | (1) |
|
How You Know You're On the Wrong Track |
|
|
98 | (1) |
|
A Word About Ongoing Discovery |
|
|
99 | (2) |
|
Chapter 7 Budgeting: The Budgeting Methods: Comparative, Bottom-Up, Top-Down, and Blends: Accurate Estimating |
|
|
101 | (14) |
|
|
102 | (1) |
|
What Goes on Behind the Scenes; a Scene |
|
|
102 | (1) |
|
Budgeting Type 1 Comparative Budgeting |
|
|
103 | (1) |
|
Gotchas with Comparative Budgeting |
|
|
104 | (1) |
|
Budgeting Type 2 Bottom-Up Budgeting |
|
|
104 | (1) |
|
The Rub in Bottom-Up Budgeting |
|
|
105 | (1) |
|
Budgeting Type 3 Top-Down and Blends |
|
|
105 | (1) |
|
|
106 | (1) |
|
Accurate Estimating and Comparison Budgeting |
|
|
107 | (1) |
|
Effective Estimating in Top-Down and Bottom-Up Budgeting |
|
|
108 | (1) |
|
Establish a Base Budget for Programming, Ongoing Discovery, Unit Testing, Debugging, and Project Management |
|
|
108 | (1) |
|
|
108 | (1) |
|
Programming Hours---Raw and Final |
|
|
109 | (1) |
|
|
109 | (2) |
|
Additional Items to Consider |
|
|
111 | (1) |
|
|
112 | (3) |
|
Chapter 8 Project Risks: The Five Most Common Project Hazards and What to Do About Them; Budgeting and Risk |
|
|
115 | (14) |
|
Five Always-Risky Activities |
|
|
116 | (3) |
|
|
116 | (1) |
|
|
117 | (1) |
|
|
118 | (1) |
|
Unproven Technology/Unproven Team |
|
|
119 | (1) |
|
|
119 | (1) |
|
|
119 | (1) |
|
Want Versus Need: Programmers |
|
|
120 | (1) |
|
Want Versus Need: Business Stakeholders |
|
|
120 | (1) |
|
Optimism Is Not Your Friend in Software Development |
|
|
120 | (1) |
|
|
121 | (1) |
|
|
121 | (1) |
|
|
121 | (1) |
|
Identifying Risks Up Front |
|
|
122 | (1) |
|
|
122 | (1) |
|
|
123 | (1) |
|
|
124 | (1) |
|
Bad Technology Team; Wrong Technology Choice |
|
|
124 | (1) |
|
Too Many Opinions and Lack of Leadership |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
125 | (1) |
|
Contingency Percentage Factors |
|
|
126 | (1) |
|
|
126 | (1) |
|
|
127 | (1) |
|
|
127 | (1) |
|
Long-Term Working Relationships and Contingency |
|
|
127 | (2) |
|
Chapter 9 Communication; Project Communication Strategy; from Project Kickoff to Daily Meetings |
|
|
129 | (16) |
|
|
130 | (1) |
|
|
130 | (1) |
|
|
130 | (1) |
|
|
131 | (1) |
|
|
131 | (1) |
|
|
131 | (1) |
|
High-Level Project Definition |
|
|
132 | (1) |
|
Business Case and Metrics |
|
|
132 | (1) |
|
|
133 | (1) |
|
|
133 | (1) |
|
|
134 | (1) |
|
|
134 | (1) |
|
|
134 | (1) |
|
|
135 | (1) |
|
Risks, Cautions, and Disclaimers |
|
|
136 | (1) |
|
Monthly Steering Committee |
|
|
137 | (1) |
|
Monthly Steering Committee Attendees |
|
|
137 | (1) |
|
Monthly Steering Committee Agenda |
|
|
137 | (2) |
|
Weekly Project Management Meeting |
|
|
139 | (1) |
|
Weekly Project Management Attendees |
|
|
139 | (1) |
|
Weekly Project Management Agenda |
|
|
139 | (1) |
|
|
140 | (1) |
|
|
140 | (1) |
|
|
140 | (1) |
|
|
140 | (1) |
|
|
141 | (1) |
|
Needs to Be Kicked Upstairs |
|
|
141 | (1) |
|
Poor Quality Sound---Speakerphones and Cell Phones |
|
|
142 | (1) |
|
|
142 | (1) |
|
|
143 | (2) |
|
Chapter 10 The Project Execution Phase: Diagnosing Project Health; Scope Compromises |
|
|
145 | (14) |
|
What Should Be Going on Behind the Scenes |
|
|
145 | (1) |
|
The Best Thing You Can Ever Hear: "Wait. What Was It Supposed to Do?" |
|
|
146 | (1) |
|
|
147 | (1) |
|
What If Things Aren't Quiet? |
|
|
147 | (1) |
|
|
148 | (1) |
|
How to Listen to the Programmers |
|
|
149 | (1) |
|
The Programmer's Prejudice |
|
|
149 | (1) |
|
SneakerNet and the Fred Operating System |
|
|
150 | (1) |
|
|
150 | (1) |
|
The Fred Operating System |
|
|
151 | (1) |
|
|
151 | (1) |
|
Demos and Iterative Deliverables |
|
|
151 | (1) |
|
Why Iterative Deliverables Are Important |
|
|
151 | (1) |
|
Why Iterative Deliverables Are Hard |
|
|
152 | (1) |
|
What You Can Do to Achieve Iterative Deliverables Even if It's Hard |
|
|
153 | (1) |
|
|
154 | (1) |
|
|
154 | (1) |
|
Dealing with Scope Creep; Early Is Better |
|
|
155 | (1) |
|
Scope Creep and Budgeting |
|
|
155 | (1) |
|
Scope Creep and Governance |
|
|
155 | (1) |
|
|
156 | (1) |
|
|
157 | (2) |
|
Chapter 11 First Deliverables: Testing, QA, and Project Health Continued |
|
|
159 | (10) |
|
The Project's First Third |
|
|
159 | (1) |
|
|
159 | (1) |
|
A First Real Look at the Software |
|
|
160 | (1) |
|
|
161 | (2) |
|
Distinguishing a Good Mess from a Bad Mess |
|
|
163 | (1) |
|
|
163 | (1) |
|
|
164 | (1) |
|
First Testing and the Happy Path |
|
|
164 | (1) |
|
|
165 | (1) |
|
|
165 | (1) |
|
|
166 | (1) |
|
|
166 | (1) |
|
Testing: The Right Amount for the Job |
|
|
166 | (1) |
|
|
167 | (1) |
|
|
167 | (1) |
|
|
168 | (1) |
|
Chapter 12 Problems: Identifying and Troubleshooting the Three Most Serious Project Problems; Criteria for Cancellation |
|
|
169 | (14) |
|
|
169 | (1) |
|
|
170 | (2) |
|
|
172 | (1) |
|
Common Late-Stage Problems |
|
|
172 | (6) |
|
Business User Revolt: "We Talked About It in a Meeting Once" |
|
|
172 | (1) |
|
Managing Business User Revolt |
|
|
173 | (1) |
|
What If No or Little Documentation Exists? |
|
|
174 | (1) |
|
Risk Chickens Come Home to Roost |
|
|
175 | (1) |
|
Managing the Risk Chickens |
|
|
176 | (2) |
|
When Programmers Ask for More Time |
|
|
178 | (1) |
|
|
178 | (2) |
|
|
179 | (1) |
|
How to Manage a Bad Technology Team |
|
|
179 | (1) |
|
|
180 | (1) |
|
Managing a Wrong Technology Choice |
|
|
180 | (1) |
|
|
181 | (1) |
|
|
181 | (2) |
|
Managing Lack of Leadership |
|
|
181 | (2) |
|
Chapter 13 Launch and Post-Launch: UAT, Security Testing, Performance Testing, Go Live, Rollback Criteria, and Support Mode |
|
|
183 | (18) |
|
User Acceptance Testing: What It Is and When It Happens |
|
|
183 | (2) |
|
Controlling UAT and "We Talked About It in a Meeting Once," Part Deux |
|
|
185 | (1) |
|
|
185 | (1) |
|
|
186 | (1) |
|
Not Working as Expected---The Trickiest Category |
|
|
186 | (1) |
|
|
187 | (1) |
|
|
188 | (1) |
|
Conflict Resolution and Final Launch List |
|
|
188 | (1) |
|
|
189 | (1) |
|
|
189 | (1) |
|
|
189 | (5) |
|
|
194 | (1) |
|
Questions to Ask Regarding Launch Readiness |
|
|
195 | (1) |
|
Not Knowing Is Not Acceptable |
|
|
195 | (1) |
|
|
196 | (1) |
|
Singing the Post-Launch Blues |
|
|
196 | (2) |
|
Was It All a Big Mistake? |
|
|
198 | (1) |
|
|
198 | (1) |
|
|
198 | (1) |
|
|
199 | (2) |
Appendix |
|
201 | (14) |
Glossary |
|
215 | (8) |
Index |
|
223 | |