This section is an introduction to the world of Agile and I will be going over some Agile concepts at a high level. In depth analysis of this will be done in future posts. This section gives an overview keeping the CAPM exam in mind.
What is Agile?
Agile is an approach to handle high uncertainty work that has change, complexity and risk associated with it.
Traditional project management focuses just as much on “process” as it does on the “deliverable”. Agile, on the other hand, is results and value driven. Every step taken during the project is to maximize the project result in the best possible way.
- Individual and interactions OVER processes and tools
- Working software OVER comprehensive documentation
- Customer collaboration OVER contract negotiation
- Responding to change OVER following a plan
GIST: People, Results, Customer, Dynamic environment
I think of Agile Methodology as a combination of right mindset, right practices and right tools.
- Be open minded – very important!
- Able to handle high uncertainty environment
- Know that high uncertainty may lead to high risk
- Develop project scope on a continuous basis
- Prioritize & re-prioritize
- Deliver results in small sizes, get feedback, work on the project, and re-deliver
- Learn fast, fail fast
- Be as “lean” and efficient as possible
- Servant Leadership – project manager should facilitate, empower and encourage the team
- Team is self-organizing and self-managing
- Increase collaboration between team members and minimize organizational silos
- Reflecting on one’s work at regular intervals to fine tune it in order to make the results more effective
- Short descriptions of requirements presented in a story form. These stories are created to understand the first release of the product. Iterative refinements for backlog are done on a continuous basis for future releases.
- Daily Standups
- Quick informal project meetings where each team member gives an update about their work – tasks completed, impediments encountered and commitment towards completing future tasks.
- Demonstrating the product result to the team to get feedback about it performance. This keeps product development on track.
- Iteration based Agile
- In Agile, teams usually plan, deliver, learn and re-plan in an ongoing cycle.
Tools enable the execution of Agile project approaches. The two most important tools (amongst many other) in Agile are:
- A visual process management system that tells us “what to do” “when to do” and “how much to do it”.
- The emphasis is on the “flow” of the work, fiinshing the task at hand and limiting the “queue” for work in progress tasks.
- Breaking work into predefined amount of time in which it has to be completed – called “sprints”
- Do stand up meetings often to give updates about the work completed in each “sprint”
- Based on the stand up meetings, align and re-align future product/project delivery plans