In the realm of Project Management, Agile remains a mystic branch that is both tempting and terrifying. Many a- Project Managers is intrigued by the benefits of the method and do not fully understand how its core principles relate to traditional Project Management… so let’s take a peek.
First and foremost Agile is an iterative process relying on a few principles –twelve in fact, namely the Agile Manifesto – and small yet highly adaptable teams. It’s an umbrella term for many management methods that have gained in popularity mostly in the tech industry: Scrum, Crystal, Extreme Programming, FDD, DSDM are all Agile methods.
Agile is usually associated with Software Development and/or Project Management but has lately gained a large number of followers as a Management philosophy with wider applications than Development and Project Management.
At the heart of Agile is Iterative and Incremental development. Agile encourages collaboration between cross-functional teams and is applicable to all types of industries. Teams are also self-organized and prone to quick releases of features.
We’ll explain in layman’s terms the different facets of Agile Management, starting off with a graph:
Features – or Deliverables:
As a Project Management method, Agile focuses on delivering Features – or Deliverables – as often as possible. As part of the definition, the Deliverable must be Completed, Tested, Debugged and Usable.
Core to any Agile method are Iterations. Iterations are fixed-length periods of time, of 1 to 4 weeks (usually 2) during which we try to accomplish a list of things or deliver certain features.
The idea behind iterations is to give the team a short term objective that creates both a sense of emergency and a feeling of accomplishment once it is completed – an addictive cocktail. Short-term, achievable objectives help to keep morale high.
Releases are a part of the Grander Scheme of things. A release usually consists of a few iterations, where many Features or Deliverables are sent to the client or put into production.
Agile is highly customer-driven. Therefore, features are usually translated into User-Stories. A Story explains how a feature is to be used and gives it context. A proper way to write Stories is to start by:
As a User I want to … have access to my data online
As a Client I want to… have a billboard printed in Times Square
The Product Backlog regroups all the remaining Stories for a given project. The Product Backlog is meant to be properly maintained and prioritized. Once an Iteration is completed, stories are selected from the Backlog, based on Priorities and are sent to the new Iteration.
There are many ways to organize the Backlog: Business Value, Point value and relative Importance are the most frequently used systems. Business Value indicates the $ value of releasing a particular Story, Point Value is an indicator of the relative difficulty of delivering the feature and Importance is a measure of how critical a feature is to the overall project. Put together, these indicators allow for a Cost/benefit analysis that facilitate the Prioritization process.
There are 4 typical roles in Agile. Product Owner, Project Manager, Worker and Stakeholder.
The Stakeholder is usually the instigator of the project or the investor.
The Product Owner is the Stakeholder’s representative. He is in charge of prioritizing the Backlog and Writing the Stories.
The Project Manager (or Scrum Master in the Scrum method) is a facilitator to the team. He organizes the team, removes impediments, oversees the process, manages the Sprint backlog and the overall progress of the project.
The Workers are the ones getting things done. They estimate the stories in points and the tasks in hours. If the stories are estimated to be too big for a sprint, they can request the stories to be broken down by the Product Owner.
The Sprint is the name given to the current Iteration the workers are involved in.
In Agile, teams are meant to be cross-functional. Here are a few examples:
Software: Developper, Tester, UI dev, Designer
Website: Copy Writer, Developer, Designer, Content Manager
Marketing: PR, Designer, Copy, Event Manager.
Hardware: Engineer, Industrial Designer, Tester, Supply manager
SEO: Copy writer, On-site Optimizer, Backlinker, SEM manager.
Teams are asked to organize themselves by creating the tasks related to the stories and estimating them, whether it be by Estimated Hours or Value Points. They subsequently assign tasks among each other and launch the iteration.
PMBOK vs Agile:
In Project Management, there are always 3 aspects that are considered: Budget, Scope and deadline.
In traditional Project management, the Scope is fixed and Budget and deadline may vary. In Agile, the Deadline is fixed, but the budget and Scope may vary.
Essentially Agile allows you to adapt to changing priorities and to prioritize what has the most value.
Benefits of Agile.
Reduced Risk by Managing Uncertainty
Increased reactivity to changing priorities
Superior Productivity & Software Quality
Better Team Morale
In essence, Agile is NOT that different from traditional Project Management. It just builds on it and improves elements that were found to be inefficient or problematic, such as managing risk and dealing with changing priorities.
Hope this clarifies things. Post any follow up question here and I’ll answer them!