Over the past few years project management methodology has evolved into what is known as the Agile Methodology. As companies strive to adopt lean techniques throughout their business, Agile Project Management allows results to be delivered in increments and changes to be adopted quickly and with less back tracking. Agile Methodology is best suited for projects where there is a final product to be developed, which is the case with most technology related engagements.
To adopt Agile Project Management as the core for your projects you need to first understand its components. In this blog we will look at the stages a project goes through if managed using the old Waterfall Methodology and how it changes if we choose to use the Agile Methodology.
STAGE 1: Planning
In this stage, the Project Managers (PMs) and Analysts get together with the Stakeholders to define requirements for the final product. These requirements are then listed in a Requirements Document which in turn defines the Statement of Work for the project. The planning stage has to be quite comprehensive and is the key to any project. The list of requirements must be as detailed as possible so that the project can stay on course. The PMs’ job, in this case, is also to list the tasks that need to be completed in order to meet the requirements of their client. The next step is to define the dependencies between these tasks and to give them a Start and End Date, hence forming the Project Plan.
In the Agile Method the requirements and features of the product are called User Stories. They are defined using value statements such as “As a (role), I want (feature), so that (benefit).” An example of this can be “As an Outside Sales Representative, I want Mobile Functionality, so that Sales Quotes can be created on the spot.”
Once all the User Stories are put together, they form the Product Backlog. Next, we must take these user stories and group them based on their priority to the client, each group is defined in such a way that the end result is a deliverable product. It may not be the complete solution but it is something that can be handed off to the client for testing and feedback. This job is completed by the individual designated as the Product Owner.
STAGE 2: Development/Production
In the Waterfall method, the development begins once the Project Plan is complete. The development phase is lengthy because the final product, at the end of this phase, must meet all of the clients’ requirements. This phase can be broken into two parts; Design and Development. Often times the person designing the solution may not be the same person who was involved in gathering the requirements. Also, because these roles end up working independently, the design is solely based on the requirements as documented. In the same way the Developers are dependent on how the product is defined to function in the Design Documents.
In Agile, once the User Stories have been grouped, the development cycle for each group is called the Sprint. Sprints are usually 1 to 4 weeks in length and not much more than that. Each group of User Stories that define the Sprint is called the Sprint Backlog. During the course of a Sprint, daily Scrums are held between the team members that are working on that leg of the project. Scrums are short 15 minute meetings led by the Scrum Master. The Scrum Masters job is to keep the Scrum moving and to ensure that all team members get their say. Other than the Scrum Master and the Team working through the Sprint, the only other person who may or may not be involved in these Scrums, is the Product Owner.
During the Scrum, each Team Member answers 3 questions; what did I do yesterday; what am I going to do today; and what obstacles, if any, am I facing? In this way the team gets a clear understanding of where they are in the project and what needs to be done to keep it moving on course. Scrums also contribute to the collaborative nature of the project.
Progress of the Sprint is generally recorded in form a graph known as the Burnout Chart. It’s a simple graph with the Sprint Backlog Tasks remaining on one axis and the Hours spent on the Sprint on the other axis. As the Sprint moves along, the number of incomplete tasks decrease and the hours spent on the project increase. This when plotted on a graph should show as a fairly linear decline.
STAGE 3: Hand-off and Testing
Upon completion of the Development phase, it is now time to deliver the product to the client. The client will then start their testing on the product to make sure that is suits their requirements. In the Waterfall method any mistakes made in the Planning or Development phase only come forth in this stage. By this time a lot of effort has been spent on the previous stages and any changes mean most, if not all, of that work must be back tracked.
In the Agile Method the hand-off happens at the end of each Sprint. It is completed in the Review Meeting that follows every Sprint. The client gets a chance to see a delivered product that they can test to determine if it meets their needs. If things need to change, they are noted and the changes are incorporated in the next Sprint. This way back tracking is minimal and a whole lot of effort does not go to waste.
One extra step that the Agile Methodology implies is Sprint Retrospective Meeting. In this meeting the team gets a chance to look at the last Sprint and document what went well; what are the opportunities for improvement; and what changes to the original plan must be incorporated in the next Sprint. After the Retrospective Meeting the Project Managers define the Team for the next Sprint and get it going.
This cycle of Sprints, Reviews and Retrospectives continue until all the requirements defined as User Stories in the Project Backlog have been met, and a complete product has been delivered to the client.
When it boils down, both the Agile and Waterfall methodologies have their advantages and disadvantages. Deciding which method is right for you comes down to the context of the project. If it is clear the project will be changing rapidly, choose Agile. With Waterfall, the process is sequential and once a step has been completed, developers can’t go back a previous step – there is no room for change or error. If you know exactly what you need and you have an extensive plan, Waterfall may prove the better option. Fundamentally, you may even consider combining aspects of both methodologies to develop the best possible process for your project.