Agile Development Methodology Wiki

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 scope 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.

The Agile Development Methodology four values:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

12 Principles behind the Agile Manifesto:

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity–the art of maximizing the amount of work not done–is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.

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.

Agile Frameworks

An agile framework means using a pre-designed approach that helps narrow your focus. A framework is just a set of guidelines you can choose to follow.

Frameworks offer more flexibility in how you use individual components. Following the framework’s structure can improve your chances of achieving superior outcomes for your clients.

In contrast, agile methodologies are more prescriptive and entail defined steps that need to be taken in a specific order, explaining why the steps are essential and how they should accomplish each goal.

Different Types of Agile Frameworks

Essential Agile Information

Scrum Agile Development Methodology Wiki

Scrum is one of the most popular Agile methodologies as it has been widely adopted in recent years. It is an iterative and 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.

Scrum is an iterative and incremental approach that delivers value in small increments through short development cycles called sprints. It provides stakeholders with what they need while still being efficient with their time. With this agile framework, you focus on having multiple product iterations.

In Scrum, the best way to create a product is through collaboration. It views teamwork and transparency as key, so team members should openly discuss their progress and any problems they face rather than anxiously downplaying them.

Scrum teams consist of people with different associated roles who all work together to complete a project. Events, artifacts, and rules also help guide the team and keep everyone on track.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.

Scrum Practices

  • Backlog Refinement/Grooming
  • Sprint Planning
  • The Sprint
  • Daily Scrum/Stand-Up
  • Sprint Review/Demo
  • Sprint Retrospective

More Information on Scrum development methodology and Scrum Master responsibilities check out our detailed post on Scrum Methodology.

Lean Software Development

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”.

Lean Software Development Principles

  • Eliminate Waste
  • Empower the team with icebreakers
  • Deliver fast
  • Optimize the whole
  • Build quality in
  • Defer decisions
  • Amplify Learning

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.

Kanban 3 Principles

The word ‘Kanban’ is Japanese for “visual board or signboard.” This framework uses visual elements to plan and track progress on development projects.

The Kanban board is the fundamental component of the Kanban method. The graphical approach of the Kanban board allows visualization of the entire project progression on boards so that transparency is increased and collaboration between team members is easier.

Ideal for businesses with knowledge-based works, you can use Kanban to improve flow by optimizing the way work is deployed. It demands complete transparency and communication between team members to ensure that everyone is always on the same page and understands the project’s development stage.

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.

Feature-Driven Development (FDD)

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

FDD 8 Practices

  • Domain object modelling
  • Develop by feature
  • Class ownership
  • Feature Teams
  • Inspections
  • Regular build schedules
  • Configuration Management
  • Reporting visibility of results

More information on Feature-Driven Development dedicated website

Extreme Programming (XP)

Extreme Programming (XP) Development Methodology

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.

This agile framework emphasizes teamwork, communication, and feedback. It focuses on continuous development to satisfy more customers in the process. Like Scrum, this method also uses sprints or short development cycles developed by a team to create a productive and highly efficient environment.

In XP, the project is continuously tested and improved through feedback from customers and users. It allows for customer requirements to be easily implemented at any stage of development.

XP is best for constantly changing customer demands. It motivates the team to accept changes, even if they arise during the later stages of development.

XP 12 Development Methodology Principles

  1. Planning Games
  2. Small Releases
  3. Metaphors
  4. Simple Design
  5. Testing
  6. Pair Programming
  7. Re-factoring
  8. Collective Code Ownership
  9. Continuous Integration
  10. 40-hour Work Week
  11. On-Site Customer/Whole Team
  12. Coding Standards

More information on XP on the official website or our post on different roles with Extreme Programming (XP) Development Methodology

Crystal Agile 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.

Crystal is a highly flexible framework that gives the team the freedom to develop efficient processes. Its focus is on individuals and how they interact with one another.

This framework aims to produce the best software possible by focusing on key concepts such as people, interactions, community, skills and talent, and communication.

Crystal emphasizes that a team’s talent and how members interact with each other can benefit the whole project. It is a light framework in terms of agile documentation, where teams can find their preferred work modalities. It removes management overheads and creates a more “free” process.

Crustal Practices

  • Frequent delivery
  • Constant communication
  • Reflective Improvements
  • Freedom to speak
  • Focus
  • Easy access to experts
  • Productive technical environment
  • Scale based on team/dollars spent/business criticality

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.

Dynamic Systems Development Method (DSDM)

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.

DSDM 9 Principle’s

  • Active user involvement
  • Empowered Teams
  • Frequent Delivery
  • Fitness for business use
  • Iterative development
  • All decisions can be changed
  • High level requirements only
  • Integrated testing
  • Collaboration & cooperation
Further Agile Learning – Our Beginners Series
Agile Development Methodology Complete Guide

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?

Agile Templates

Scroll to Top