Agile Development

Agile Development Methodology Wiki

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 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 applicable to any knowledge work/project. Below is a great TedTalk where Bernie Schroeder discuss “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 Development Methodology Wiki

Scrum Agile Development Methodology Wiki

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.

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

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
  • Deliver fast
  • Optimize the whole
  • Build quality in
  • Defer decisions
  • Amplify Learningkanban board

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

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)

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

xp practicesAgile Development Methodology Wiki

Extreme Programming (XP)

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.Extreme Programming (XP) Development Methodology

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

crystal software development

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.

Crsytal 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)

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

More information check out the official DSDM Consortium website here.

agile skills and knowledge
While studying for the PMI-ACP® exam I kept a list of knowledge and skills associated with Agile project management. I used this list to as a studying resource to help me pass the exam and become efficient in Agile skills and knowledge. Agile Skills Active Listening Listening skills are Critical. […]

Agile Skills & Knowledge

PMI-ACP Certification
The Best Agile Certification in 2016 From studying Agile methodologies in college and completing the Scrum master certification I can confidently state that PMI-ACP® is currently the best Agile Certification on the market at the moment. The PMI Agile Certified Practitioner (PMI-ACP)® formally recognises your knowledge of agile principles and […]

100% Best Agile Certification

xp practicesAgile Development Methodology Wiki 1
Extreme Programming – Complete List of XP Practices Extreme Programming (XP) Development Methodology is intended to improve software quality and responsiveness to changing customer requirements. Extreme Programming (XP) Development Methodology has frequent “releases” in short development cycles which is intended to improve productivity and introduce checkpoints so new customer requirements […]

Extreme Programming (XP) Development Methodology

lean software development
Lean Project Management The phrase Lean Project Management is an adoption from lean manufacturing which is focused in eliminating waste. Lean Manufacturing methods were developed by Toyota from studying the work process in supermarkets fulfilling stock needs. The supermarkets were able to fill the shelves with just enough product to […]

Lean Project Management