CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
1
A man is flying in a hot air balloon and realizes he is lost. He reduces height and spots a man down below. He lowers the balloon further and shouts:
"Excuse me, can you help me? I promised my friend. I would meet him half an hour ago, but I don't know where I am."
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
2
The man below says, "Yes, you are in a hot air balloon, hovering approximately 30 feet above this field.
You are between 40 and 42 degrees North latitude, and between 58 and 60 degrees West longitude."
"You must be a programmer," says the balloonist.
"I am," replies the man. "How did you know?"
"Well," says the balloonist, "everything you have told me is technically correct, but I have no idea what to make of your information, and the fact is I am still lost."
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
3
The man below says, "You must be a project manager"
"I am," replies the balloonist, "but how did you know?"
"Well," says the man, "you don't know where you are or where you are going.
You have made a promise which you have no idea how to keep, and you expect me to solve your problem.
The fact is you are in the exact same position you were in before we met, but now it is somehow my fault."
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
4
Chapter 15 – Completing the Project
1. Managing Requests for Early Release
2. Managing Beta Releases
3. When You Know You Can’t Meet the
Release Date
4. Shepherding the Project to Completion
5. Canceling the Project
CSc 233/171 Fall 2013
5
Continuous Integration
• Team members integrate their work frequently…
usually each person integrates at least daily - leading
to multiple integrations per day.
• Each integration is verified by an automated build
(including “smoke test”) to detect integration errors
as quickly as possible.
• Many teams find that this approach leads to
significantly reduced integration problems and
allows a team to develop cohesive software more
rapidly.
http://martinfowler.com/articles/continuousIntegration.html
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
6
Early Release Methods, but…
• How do you turn a serial life cycle into a staged
delivery cycle?
• How do you manage the coding phase?
• The answer is …
what would you say?
The Sutherland (Scrum) video…
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
7
Alpha Testing
A very early version of a software product that may not
contain all of the features that are planned for the
final version.
Typically, software goes through two stages of testing
before it is considered finished.
1. Alpha Testing, often performed only by “users”
within the organization developing the software.
2. Beta Testing, generally involves a limited number
of external users.
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
8
Beta Testing
• A test for a computer product prior to commercial
release.
• Beta testing is the last stage of testing, and normally
can involve sending the product to beta test sites
outside the company for real-world exposure or
offering the product for a free trial download over the
Internet.
• Testing to ensure that the product “runs” in the wide
variety of environments in which it is used.
Testing that is not practical to be done “in house”
• Beta testing is often preceded by a round of Alpha
testing.
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
9
Managing Beta Releases
• Beta: purpose
• Beta: customer selection
• Beta: entry criteria
• Beta: exit criteria
• Overall Beta: schedule
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
10
When you cannot meet the release date!
Review the release criteria (do you have any?)
The “done” criteria (Sutherland video):
Production ready:
• Feature complete
• Code complete
• No known defects
• Approved by product owner
• Production ready
• Decide how long it will take to finish a minimal set of features.
• Change development to one feature at a time:
Develop
Integrate
Test
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
11
“Take no small slips.”
Slipping a week each week is hell!
• Find out what is causing the delay!
• You are late… get everyone's attention to make sure
the team is not interrupted & remains focused.
• Replan… back to the stickies!
You want inch-pebble planning (which requires a WBS)
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
12
Estimating System Test time
• If you have been using “Test Driven Development”
and have integrated system testing into each iteration,
how much system testing do you have at the end?
• What should you expect for a serial project? Why?
• Also estimate “time to fix”.
A 9-day test and fix cycle
Testing cycle 6 days
Time to fix 3 days
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
13
What to do when you don’t have enough time?
1. You can not accomplish the original testing
planned!
2. Develop a plan of attack
Exploratory (but strategic) testing
Rank order what to test
Plan to test the high value parts first
3. Also explain what could go wrong
Critical bugs identified that cannot be fixed
Bugs may be missed that will be found by customers
Bug identified that prevents testing a particular area
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
14
4. Evaluate progress each week.
If fixes have been made, plan completion for week 4.
If fixes are not made, continue into week 5.
5. Week 5… if bugs are not fixed continue into week 6
6. Week 6… report status/progress.
“… in a pickle, where you don’t have enough time to test
everything, use timeboxing to … evaluate how little
you can do and still deliver something of value”
Why does system testing takes so long
at the end of the project?
Easy answer…
“… not integrating testing into the project as the project proceeded.”
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
15
Managing the “end game”
• Trade-offs… end up taking on “technical debt”.
• Defect Triage – assessing each defect and fixing what
is necessary.
Point Releases
• [common] A minor releases of a software project,
especially one intended to fix bugs or do minor
cleanups rather than add features.
• The term implies that such releases are relatively
frequent, and generally used with respect to Open
Source projects.
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
16
The retrospectives
Five step approach:
1. Set the stage
2. Gather the data
3. Generate insights
4. Decide what to do
5. Close the retrospective
A plan!
All involved … plan & pay for the time
http://www.youtube.com/watch?v=qqtPZYigfNI First 18 min (total 51)
CSc 233/171 Fall 2013
Google Tech Talks, January 25, 2007
Project retrospectives help teams examine what went right and
what went wrong on a project. But traditionally, retrospectives
(also known as "post-mortems") are only performed at the end of
the project -- too late to help. In organizations where teams
develop using iterative, incremental methods, Agile
retrospectives at the end of each iteration or increment stimulate
continuous improvement throughout the project. Exceptional
software process and project improvement grows out of solid data
and good planning.
Esther Derby and Diana Larsen, authors of Agile Retrospectives:
Making Good Teams Great, will introduce you to a framework
for effective...
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
17
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
18
Plan to celebrate
• Why?
• What does it accomplish?
• What form should it take?
“Celebrations have to fit the people on the project.”
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
19
Professional ways to stop work!
1. Explain to the people on the project why you're canceling the
project and what happens to them.
People want to know that you appreciate their efforts. And
they want to know what work they'll be doing now.
2. Give people time to clean up their work before starting on
their new work.
That means checking in the code that's checked out with
comments that explain the state of the code, or noting on a
design which alternatives were under discussion, or which
tests were or were not completed.
Cleaning up work is not the same as finishing up work… this
step should take less than a day to perform.
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
20
It’s all over…
3. Cancel all meetings associated with the project.
Once people clear their schedules of these project-related
meetings, they'll see other time they have available for the
new work.
4. Assign someone to handle the inevitable questions about the
canceled project, preferably someone high up in
management.
If a technical person has the project information, he or she
might start working on it again.
If a manager is assigned to be the point person, the manager
is less likely to start working on the project.
CSc 233/171 Fall 2013
Manage It! Your Guide to Modern, Pragmatic Project
Management. Johanna Rothman
21
Canceled Project…
5. If you're canceling a project that's had some substantial work
(sometimes as little as a few weeks or more), take the time to
perform a project retrospective and see what people learned
from this project.
6. Start people on their new project as soon as they've cleaned
up their work.
7. Appreciate each person for the work they performed.