manager is the name I have given to my new project management tool. Think Gantt chart. Think Microsoft Project. Then think the real world. Team members have different charge profiles – rates can change during projects. Team members can only provide given effort if they are partially assigned to other projects. Updating plans is largely manual, and tracking of hours spent takes a lot of the project managers time. Once underway, the plan becomes a reality, and things quickly change. The manager is continuously replanning, which is rather an administrative task. He wants to be managing, not administrating.

According to Prince 2, a project management methodology, the job of the project manager is to identify and then manage problems. He does so using thresholds. When a given threshold like overall cost, steps over a boundary, he alerts the next level and together they manage the problem, be it with added resources, reduced scope, increased budget, etc.

Getting information on when thresholds are over stepped, is again largely a manual and administrative job. In fact project cost analysis is also largely manual, and playing with scenarios, like removal of a feature (a set of related tasks) is largely theoretical, because without the right tools, it cannot take things like team members effort profiles, or holidays into account. Wouldn’t it be great if there was a tool that took all this administrative stuff away from the manager, automated it, and just alerted him when there were problems?

Well… now there is one. Or at least there will be soon, since I’m writing it. Once its finished, it will allow you to plan your use cases (including capturing them). Next, it allows you to split use cases into features (see FDD). If use cases are thought of as vertical processes, then features are the horizonal functionalities. For example, a use case would describe an entire business process as the user interacts with the application. A feature, describes some functionality that might be used by one or more use cases, for example a dialog box. The idea is that a feature is something that a developer can develop in around a weeks worth of work. A feature is analagous to a task in eXtreme Programming (XP).

After capturing features (in terms of a design document), you define how long you plan the five steps of a feature to take – design, development, testing, review and rework. You assign team members, who you have previously added to the model, with relevant roles, effort profiles and cost profiles. You also relate the features to each other in terms of their dependencies. What needs to be built first?

Now, the nice part is that we have all the information to automatically plan the project. Exactly how, is a bit complicated, and commercially sensitive, but it can be done.

At this stage, you can add mile stones and thresholds. Thresholds might be projected cost over run, time over run, etc. At this stage, you can also play with your model. If it turns out too expensive, you can remove features at the click of a button and see what cost savings you can make. You cannot simply put a cost on a feature or use case. It really depends upon when it is done and by whom. So you need to consider the entire plan. This tool is perfect for the job.

Now, when ready to start you publish a report. It emails your staff the features that they should start working on. The report, is a website where all the documentation is published, and accurate and up to date plans are available. As they complete work, the team members log their hours into the application.

Comparing the actual effort to the planned effort, for each team member, you can work out a "velocity", which is the ratio. This allows the tool to predict where you are headed, and to replan the future work. At the point when a threshold is over stepped, the manager gets an email. He can then play with the model to work out a way out. Dropping features or applying for more staff or more budget are easily analysed and the results can be simply displayed to the stakeholders.

Oh, and it tracks the critical path too. Here is a screen shot (click it to see an enlarged version). Watch out, it will soon be available for download at