
All Agile methodologies mostly share the same philosophy expressed in the Agile manifesto, but they differ in terms of the practices, processes and techniques.
The Agile Manifesto was signed on Feb 2001 by 17 leading software developers, where the idea is to uncover better ways of developing software through execution and helping or enabling others to do it as well. So, here the program management has a key role to play by facilitating an environment to bring in changes, flexibility and improvement through iterations.
Through this, we have come to value:
Individuals and Interactions over processes and tools.
Working Software over comprehensive documentation.
Customer collaboration over contract negotiations.
Responding to change over following a plan
Though there is value in the item on the right side or written later, but we value the former items i.e., on the left more.
The different Agile methodologies that share this common manifesto across the shared framework are as follows:
Scrum – This is the most popular methodology, which is simple with proven results. This is also the most widely used methodology across industries that have embraced Agile. It focuses mostly on managing the changes to the requirements. A single source of prioritized work items are maintained. The process mostly focuses on working towards a potentially shippable incremental product in each Sprint. The team size varies from 5 to 9. It has 3 key roles of Product Owner, Scrum Master and Team members.
Extreme Programming (XP) – This is primarily used to respond to the high cost of changing requirements. This methodology focuses on Test driven development, Continuous integration, Iterations and user focused stories.
The principles it relies on are Communication, simplicity of requirements, constant feedbacks, and courage to refactor and remove obsolete codes. This is achieved through mutual respect and pair programming approach.
It uses the techniques of Fine – scale feedback, continuously evolving processes, programming at sustainable pace, and shared understanding.
CRYSTAL – This approaches the projecets by categorizing them based on their size, number of people involved and complexity. The project categorization ranges from the least critical projects with less people to large teams handling complex projects. The categories primarily used for categorization are Money, Comfort and Life.
Dynamic Systems Developments Method (DSDM) – is more of an evolution of Rapid Application Development (RAD) to bring in more discipline to RAD concepts that was used earlier. It primarily focuses on the business requirements and needs. Accordingly, it prioritizes requirements through MoSCoW (Must, Should, Could). Accordingly, the schedule, cost, quality and features priorities are set.
Feature Driven Development (FDD) – This methodology mostly focuses on features. The subject areas are then decomposed into business activities. The approach is towards developing a prototype first and then getting into the actual coding and delivery.
Agile Project Management (APM) – The Agile Project Management methodology is built on the Agile manifesto principles with a key difference that the focus is on the Agile value driven triangle instead of the traditional Iron triangle in project management.
The traditional project management focuses on Schedule, Cost and Time, while the Agile project management (APM) focuses on Value and Quality (as the 2 corners of the triangle) by managing the 3rd corner comprising of Schedule, Cost and Time.
Lean Kanban – Kanban, a Japanese term for signal board, was developed where in the boards are located in the team room and have user story cards or post-it notes. Distributed across different categories.
It helps in identifying bottlenecks, work in progress limits etc,.
OpenUP – OpenUP is based on the Open Source variant released by IBM. It’s a lean unified process focusing on the iterative approach embracing Agile philosophy. It targets small projects woth collocated 3 – 6 member teams.
Though the most common approach is Scrum methodology, and the different methodologies are used in different scenarios, a combination of 2 or more methodologies is also used to get the best results using Agile framework.




You must be logged in to post a comment.