Here’s an interesting little quandary; if we all work closely together, and everyone knows everything, why would we do status reports? Well, if the team and the project are small, you probably don’t need them. I would however propose that the need for status reporting is the wrong question to ask particularly when doing larger, complex work and (this is arguably the most important part) for money. Traditional approaches use status reporting to retell the customer, and all too frequently themselves, what it is that they have done. Agile’s short iterations keep the horizon close and uses daily interactions to make sure everyone know what is happening right then and what will be happening next.
Right now you are probably asking yourself… self, if Agile has a short horizon and everyone knows everything, how can you possibly justify status reporting? Well… status reporting is a historical record, but if your project, not the iteration but the entire project, runs for more than 60 days you will eventually run into a misunderstanding when recalling the past.
Everyone is a bit of a historical revisionist. We tend to remember things the way we need them to be and in the software world that may be the customer forgetting that they agreed to a schedule slip due to discovered requirements, or developers forgetting to add deferred stories back into the back log.
As good Agilest we need to find a way to record important decisions that;
- Works in the current environment,
- Captures just enough information but no more,
- Burdens only the management, not the team,
- Does not impact velocity, and
- Is universally available to Customers, Users, Partners, and team.
Personally I like to add notes in my project plan. Yes that’s Microsoft Project which, while not inherently agile, is a tool I am both proficient with and it has been accepted by my customers. I update my plans, one per release (there are many iterations in a release), every week. It usually takes about an hour to add in what I know about the current state of things. The resulting project file is then posted where everyone can go look at it if they choose to.
Want to know history, go the plan and look at the baseline for that week in question. Want to see cost or schedule variance, look at the plan. Want to know who is on leave or has a planned vacation, look at the plan… see the pattern. Status is no longer a push activity, it’s pull.