Saturday, January 16, 2010

Using Microsoft Project in Agile Environment

Several times I discussed with guys who are doing Scrum development how Microsoft Project helps track and manage projects. Some of the ideas were that using MS Project gives people wrong expectations about sprints and projects timeline.


But I still do believe MS Project should be used in Agile world! Even in a very short sprint you may face a lot of activities with complex interdependencies and performers. Sometimes these dependences are fixed in time and not dependent on team velocity (e.g. delivery of an external library, database deployment by a third party, etc). In such cases Microsoft Project allows you to see this on one page and plan your iteration.


Moreover – Gantt schedule in MS Project is traditionally used as a fixed artifact, but it should not. It should be dynamic and changeable almost in real time. Unfortunately this is not done because this task is too time consuming. The problem of MS Project in Agile is not the nature of the tool, but the absence of technical mechanisms, which should control the velocity and update the timelines, while keeping the dependencies unchanged and simply traceable.
Even for agile stories, Project could show estimates of the durations per story, basing on the history and automated calculation of velocity. In this assumption of a "live plan", the schedule is not able to give the expectations, but provide the team with a simple and usable tool to do the "what if" analysis and track changes in relation with their impacts.


The problem seems to may be solved by developing several macros for MS Project and using right templates... or in a separate implementation of Gantt planner in Projec.to.

No comments:

Post a Comment