Agile SDLC is quite frequently used and it would be fine to call it as ‘mainstream’ methodology. But that is just for the Software Development Life Cycle (SDLC) part, which gives you the process and frameworks for creating a software application. The methodology still has to be managed.
When it comes to Agile project management, there are certain typical project management issues which crop up during the Agile SDLC too. One of the issues is tracking the project.
How do you ensure that your Agile project is on track? Here are a few tips:
1. Let us take the technical approach first.
There is a metric called “Burndown Charts” (figure 1). It is a very good and a simple metric to track your agile project against a given period of time. The fundamental of a Burndown chart is that it helps you plot a graph that displays remaining effort (in terms of hours or points) for a given period of time. Based on the period of time in question, the Burndown charts could be a “Daily Burndown Chart” or a “Release Burndown Chart” or a “Project Burndown Chart”.
Figure 1: Burndown Chart. Adapted from “Burn down chart”, Wikipedia (2012).
Based on your Agile Work Breakdown Structure (WBS), you would have developed user stories around any particular user functionality and would have a subsequent development schedule and a release plan. Whether it is about tracking a project release plan or one sprint or the entire project, you can track an Agile project by plotting subsequent story points on Y-axis vs. iterations on X-axis. This will clearly show you if you are on track or not. For e.g., you can draw a target line for a weekly sprint based on the estimated number of hours required for various tasks. Then every day you can plot your actual line against the actual work completed. If your actual line is below the target line, then you are on schedule. But if your actual line is above the target line, then you are off track.
2. Now let us get on with the non-technical approach required, which tackles Agile project management from the subjective angle to keep projects on track.
Here comes the ‘unstructured’ role of a Scrum Master. A Scrum Master acts more like a facilitator or a coach, and in many ways is different from a traditional project manager. The key is to understand that a Scrum Master has to ensure that she is able to remove all the impediments that threaten to reduce developers’ productivity and obstruct them from achieving a sprint goal.
Now this has an endless scope and cannot be defined or curtailed in a few bullet points. For e.g., a Scrum Master may have to ensure that the working conditions for the team are right, even if that means controlling the ventilation of the room or ensuring that proper chairs are provided to reduce rapid fatigue.
A Scrum Master’s role is to do a continuous multidimensional analysis of the project – objectively and subjectively – so that she can support the Product Owner in maintaining backlog, release plans and radiating Scrum artifacts such as product backlog, sprint backlog or the sprint Burndown chart.
In short, an effective Scrum Master is also a necessary pedal to keep an Agile project on track.
What is your take?