CPS 108 Project Retrospectives
Adapted from CPS 108, Fall 2000, by Robert Duvall
"Those that do not know history are doomed to repeat it."
It is important for each team member to take stock at the end of a
project and review your project's history analyzing its positive and
negative aspects. Typically such reviews are called post-project reviews
or "post mortems." or retrospectives. The goal of a retrospective is to draw
meaningful conclusions to help you learn from your past successes and
failures. A retrospective is an
extremely productive method of improving your development practices
For each project, you are to individually analyze your experience
once you have turned it in and had a few hours to relax and
reflect. Your analysis should include an honest, thoughtful evaluation
of the progress of your team. Its aim should be to identify specific
actions with the project that either helped or hurt later in the
process. This document should not attempt to assign blame for
failure. In most cases, the team as a whole should accept
responsibility. Your retrospective may be
due when your project is due, it may be due later; it's always due
soon after finishing. The individual retrospective to
your project should be submitted using an
assignment name set up separately for
each project. You may submit a text file, a web page, or a pdf file of
your document --- in other words, do not feel you need to limit how you
express yourself.
At least the following sections must be
included in your analysis. Questions are provided to get you started
thinking about what to consider within each section.
Don't be
limited
by these questions, but include them at least.
- Project description
- Begin the retrospective document with a brief overview of your project,
including a design overview, estimated time spent on project, and project
start and finish dates. Describe the product's purpose, intended customer,
and other general information. This is intended to refresh your memory about
the project when you read this analysis again later in the semester as well
as let the course staff know what problem you thought you were solving.
- Initial expectations
- Document your initial thoughts about the project, including how hard you
thought it might be, what you thought would be the easy and hard parts, and
what specifications you thought were clear or ambiguous.
- Current status
- Document the quantifiable details of your project. Look over the entire
project and document the purpose and invariants for each class used within
the program. List everyone who worked on the project and document their
role.
- Did we have the right people assigned to all project roles?
Describe any early warning signs of problems that occurred
later in the project?
How should you have reacted to these signs?
How can you be sure to notice these early warning signs next time?
- Future work
- No project is ever completely finished. Document at least five parts of
your project that still need fixing, that you wish you could understand
better, or could be extended or made more flexible.
- What defect types occurred most frequently?
What defect types were most time-consuming?
What can you do to reduce the occurrence of those defects
in your future projects?
Which parts required the most rework?
If you could work on one part right now to improve your grade, what would it
be?
- Lessons learned (both good and bad)
- Document what went right with your project. List at least five things that
met or beat your initial expectations for your project. Make a detailed list
of your project's shortcomings. List at least five things that turned out
worse than expected. Document unpleasant mid-project surprises as well.
- Did you overestimate or underestimate the size of this project?
By how much?
Did you overestimate or underestimate the
time required for this project?
By how much?
What does the difference in planned vs. actual size tell
you about your design of the system? What problems were there
in your design? How would you fix them?
What does the difference between planned vs. actual time
tell you about the method you used to estimate time from size? What
would you do differently next time?
Review your previous personal goals, did you meet them when working on
this project?
-
- Personal goals for later projects
-
It would be a great waste of time to create a beautiful project
retrospective, archive it, and forget about it. You should develop an
action plan that can be applied to your next project. Review your
project history, reflect on the lessons you've learned, and specify new
guidelines to follow in the future.
What conclusions can you draw from your project history that will help you
improve in the future?
What should you start doing, keep doing, or stop doing?
- Grading
- Finally, based on your answers to the questions above, or the effort
needed to discover the answers, what grade would you give the team's project?
This is primarily intended to see if our assessment meets your expectations,
not to influence your grade. Please note that it is rare that everyone in
the course gets an A+.
Are you proud of our finished deliverables (project work
products)?
If yes, what's so good about them?
If no, what's wrong with them?
Examples
Here are some examples of analysis' from other projects not related to this
course. These examples are not endorsed in any way, but are meant to serve as an
example.
Resources
Here are some other resources available online about project retrospectives/postmortems.
Owen L. Astrachan
Last modified: Tue Sep 18 22:29:18 EDT 2001