Agile development methodology wiki illustrates how Agile is the opposite of traditional waterfall projects where you make a detailed plan and implement the plan. Making detailed plans is an efficient way of approaching projects when it is clear what the end product.
When you are not, you need to accept it will take multiple iterations to create the desired end product. That is where Agile methodology has a clear advantage over traditional project management. Agile accepts there will be changes and pro-actively accepts this in their methodologies.
Agile is not a new concept and can be traced back to 1957, in the early 1990’s a number of software development methodologies were being used by software teams such as DSDM 1995, Scrum 1996, Crystal & XP 1996, FDD 1997. Even though these were all created before the existence of “Agile” they were the basis for Agile as we know it. In 2001 a group of methodology and software experts who used these methodologies came together to create a unified Agile Manifesto.
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Agile development methodology was originally created for software projects but can be applied to any knowledge work/project. Below is a great TedTalk where Bernie Schroeder discusses “failing fast” and iterating for creating a business.
For software development there are multiple Agile methodologies which is what people will more than likely associate with Agile.
Scrum is one of the most popular Agile methodologies as it has been widely adapted in recent years. It is an iterative an incremental agile software development framework. Scrum is based on planning work for a 2-3 week sprints where the team deliver an increment after each sprint. The team would meet every morning at a daily stand-up where only Engineers give updates on what they did/plan on doing and any blockers. A Scrum team will typically consist of a Product Owner (Business) who prioritizes the backlog and provides business feedback, Scrum Master (Agile Coach) who ensures Scrum is implemented correctly and removers any blockers, and Engineers who choose what is done in iterations and complete the actual work.
More Information on Scrum development methodology and Scrum Master responsibilities check out our detailed post on Scrum Methodology.
Lean Software Development method was originally created by Mary and Tom Poppendicks but is heavily based on Lean Manufacturing mainly by Japanese company Toyota. It focuses on lean, or simple and efficient methods, to deliver value to the customer and continuously improving the “value stream”.
More information on Mary and Tom Poppendicks website The Lean Mindset.
Kanban methodology promotes continuous collaboration within the team and continuous improving the workflow. Kanban originally came from the concept of Lean and is best known for the Kanban board which can be seen below.
Rule #1: Visual Workflow
Rule #2: Limit Work in Process (WIP)
Rule #3: Measure and Improve
More information can be found on our post about Kanban and Leans relationship and history.
The first of these is Feature Driven Development (FDD). FDD is based on an agile iterative-driven method, where the length and contents of each iteration/release is based on delivering a complete business feature. It begins with establishing an overall model shape and then a series of 2 week iterations, finally delivering a feature. A typical software development would follow the following process:
Build Overall Model
Build feature list
Implementation of Features
Plan by Feature
Design by Feature
Build by Feature
*Iteration length non determined is based on requirements
More information on Feature-Driven Development dedicated website http://www.featuredrivendevelopment.com/.
XP is a disciplined approach to delivering software quickly and continuously. It uses a numerous feedback loops starting with Pair Programming to Release Planning as depicted in the below image. XP works in iterations usually of 1-3 weeks and the team would work with the business very closely. We have written a detailed post going through the complete history and practices on XP Agile Development Methodology here.
More information on XP on the official website http://www.extremeprogramming.org or our post on different roles with Extreme Programming (XP) Development Methodology
Crystal delivery methods is one of the most lightweight out of all Agile development methodologies. Crystal process usually would consist of defining an initial Project Charter, followed by iterative releases containing multiple development releases with an implementation and reflective workshop for each release.
Status of development defined as one of the following: Clear – Yellow – Orange – Red
Estimating Size: 0-8 10-20 20-50 50-100
Critically: Comfort Discretionary Essential
More information on Crystal Development Methodology check out its creators website Alistair Cockburn.
DSDM dates back to 1994 and was previously known Rapid Application Development (RAD). RAD evolved into a unstructured approach and as a result the DSDM Consortium was created with 9 core principles. These principles centre around empowered teams, frequent delivery, business need/value and stakeholder engagement. DSDM primarily concern is to apply the 80/20 rule where the team tries to focus on 80% of the system in 20% of the time. Requirement prioritization uses the MoSCoW rules and all critical work must be completed in a DSDM project.
More information check out the official DSDM Consortium website here
|Further Agile Learning – Our Beginners Series|
|Agile Development Methodology Wiki – Agile Beginners Series|
35 Agile Skills Every Beginner Needs to Know
Extreme Programming for Beginners made Easy – Roles & Practices
Agile Scrum for Beginners made Easy – Roles, Practices & ceremonies
Lean Project Management (Kanban) for Beginners made Easy
Agile Certificate for Beginners? Scrum Master? Agile Coach?
Determing which online teamwork skills a team member needs is a essential skills for digital… Read More
Throughout my career, I have struggled between choosing a product manager vs a project manager… Read More