6.1. What Is WhatWhat Status?
WhatWhat Status is a project management application, but it's not your average project management application. Rather than focusing on creating Gannt charts, work breakdown structures, and calculating project costs, it focuses on helping the people involved in a project better communicate what they are working on, the risks they face, and the overall status of the project.
Before we embark on our code walk through of the WhatWhat Status application, it's a good idea to get a big-picture overview of how WhatWhat Status is designed to work and what problems it tries to solve.
Here is how Jonathan LeCour, creator of WhatWhat Status, described the purpose of his application: "WhatWhat Status is less of a project management application, and more of a communication tool. We found that all of the things that are associated with 'project management tools' were MS Word templates, charts, graphs, and other complexities. When we started moving toward agile processes and were still using these kinds of things, it didn't make any sense!"
The new agile methodologies (Scrum, XP, and so on) create a different kind of project process. It's one that involves the developers much more directly in the selection of when and how to do the various project tasks. Rather than create a huge work breakdown structure with complex dependency charts, and then start assigning work, dividing up responsibility and creating a gigantic project plan with associated Gannt charts, an agile team breaks the project down into shorter iterations, and then asks the customer to help them decide which features to implement in each iteration.
Agile teams need to be populated with enough people with the right skills to finish the expected features in that iteration, and it is the team's responsibility to keep track of what is happening and get those features completed within the iteration.
This means that the problem of communication is much more important than the problem of dependency tracking. (Actually, I think this is true of any project team of more than five people, but it is particularly true when you use agile methodologies!)
You have group code ownership, and you work on delivering features one user story at a time, and you expect people from the team to choose which stories from this week's work to do next on their own. Traditional tools require daily updates just to stay in sync with what's really going on, so they slow you down.
However, there's still a need to track and manage project status and project risks, and that's where WhatWhat Status comes along. WhatWhat Status was the first major open-source project built in TurboGears, and it provides an ideal way for us to see how you can build larger applications in TurboGears.