Under the Agile umbrella, there are multiple methodologies that can be employed to manage projects. Most of the methods listed below were used initially in software development, but many of the tools and techniques can be adapted for other projects.
Extreme Programming (XP)
Extreme Programming (XP) is a software development methodology that emphasizes simplicity, often employing pair programming (where code is written by two developers working at a single workstation) and a cycle of frequent testing and feedback.
XP expert Ron Jeffries describes the methodology as “a discipline of software development based on values of simplicity, communication, feedback, and courage. It works by bringing the whole team together in the presence of simple practices, with enough feedback to enable the team to see where they are and to tune the practices to their unique situation.” XP is one of the more popular Agile methods and is used extensively, especially in information technology and development organizations.
Scrum is a lightweight, incremental framework for project management, making it a very popular choice for people who are new to Agile assimilation. Named after the scrum in rugby, Scrum relies on the close interaction of project participants to develop, monitor, and adapt to evolving working conditions.
The Scrum Alliance explains the methodology as a framework in which “Work is structured in cycles of work called sprints—iterations of work that are typically two-to-four weeks in duration. During each sprint, teams pull from a prioritized list of customer requirements, called user stories, so that the features that are developed first are of the highest value to the customer. At the end of each sprint, a potentially shippable product is delivered.”
Dynamic Systems Development Method (DSDM)
Dynamic Systems Development Method (DSDM) is an iterative and incremental methodology that stresses continuous user/customer involvement. It was initially based on rapid application development (RAD), which employs minimal planning to allow for rapid prototyping.
The DSDM Consortium emphasizes several key principles that include meeting business needs/value, actively involving users, empowering teams, ensuring frequent delivery, employing integrated testing of components/products, and collaborating with stakeholders. A fundamental assumption of DSDM is that nothing is built perfectly the first time and that the focus should be on delivering the 80% of the software that can be deployed in 20% of the time.
Feature-Driven Development (FDD)
Feature-Driven Development (FDD), created by Peter Coad and Jeff De Luca, is a model-driven, short-iteration approach to software development. FDD utilizes five stages—modeling, feature lists, planning, design, and software construction—in its approach.
Agile Unified Process (AUP)
Agile Unified Process (AUP) is a simplified modification of an iterative software development process framework known as the IBM Rational Unified Process (RUP). Developed by Canadian software engineer Scott Ambler, AUP employs test-driven development (TDD), Agile Model Driven Development (AMDD), Agile change management, and database refactoring.
Lean Software Development
Lean Software Development applies the principles and practices of Lean manufacturing—a methodology that focuses on eliminating waste (i.e., all of the steps or processes that do not add value to the final product or service)—to the development of products. Removing waste from development processes ensures that process outputs reflect only those characteristics that customers want or value, and reduces the time to market for product releases.
Crystal is a family of methodologies developed by Alistair Cockburn that focuses on the people involved (rather than the processes, architecture, or tools) in a project. Crystal methodologies start with practices that are slightly smaller than needed and “stretched” to a size that is just big enough to encompass the project. By stretching the practices, teams decrease overhead and bureaucracy while still meeting project needs and demands.
The Kanban method uses a kanban board to limit the amount of work in any one stage or phase of a project. Limits are placed on the amount of work that can be underway at one time, and new work can only be initiated after existing work has been completed. This “pulling” of work ensures that practitioners do not get overwhelmed or try to multitask (which may cause delays and/or a decrease in the quality of outputs).
The Kanban method is especially helpful in situations where the workload or introduction of new requirements varies; teams focus on moving a limited amount of current work through the system without worrying about how many tasks or responsibilities are waiting in a work queue.
Scrumban is a hybrid of the Scrum and Kanban methodologies. Work is organized into short sprints or iterations (as it is in Scrum), and kanban boards are used to visualize and limit the amount of work in each portion of the project (as per the Kanban methodology). Teams hold daily collaboration meetings in front of the kanban boards to plan and monitor ongoing work. When the amount of work in a stage falls below preset limits, work is pulled into the stage and the project continues.
The Scaled Agile Framework (SAFe®) allows an organization to scale its Agile practices to larger or more-complex levels. It synchronizes work and deliverables across large portions of an organization, employing a “systems thinking approach” that takes into account the interactions between projects and among organizational departments to ensure the best overall cadence of work and work cycles.
Large Scale Scrum (LeSS) extends the Scrum framework across several teams simultaneously to deliver one large-scale deliverable. It coordinates multiple teams who are working together on the same requirements, using agreed-upon tools and techniques in a minimalistic way to achieve objectives.
Disciplined agile (DA) is a streamlined approach that combines aspects of several other Agile methodologies to allow for simplified decision making and incremental/iterative solutions. It can be scaled to enable organizational learning and application of Agile practices across an entire project life cycle. It applies common patterns across a network of cross-functional teams in complex environments.
Because Agile is a combination of several methodologies, the lexicon includes many similar terms, or synonyms for terms borrowed from other business areas. Many of these terms have been collected and listed in the chart below:
|Agile project manager
|coach (XP), lean six sigma black belt (Lean Six Sigma), process facilitator, scrum master (Scrum), tracker (XP), team lead (DSDM)
|common work area
|caves and common room (XP), war room, whole team room (XP)
|continuous testing strategy
|defects per million opportunities (Six Sigma), test-driven development (XP)
|daily team status meeting
|daily reviews, daily scrum (Scrum), daily stand-up (XP), daily wash-up (DSDM), morning roll-call (FDD)
|issue, obstacle, risk (Project management)
|list of unresolved problems
|operational backlog, parking lot
|adaptive planning, double-loop learning, inspect and adapt, kaizen (Lean), reflective practice
|organizational strategic vision
|big plan (XP), outline plan (DSDM), product roadmap, project charter (Project management)
|potentially shippable product
|deliverable (Project management), minimally marketable feature, product increment, sashimi (Scrum), vertical slices of functionality
|ambassador user (DSDM), business analyst, customer (XP), customer proxy, product champion, product owner (Scrum)
|feature, product backlog item (Scrum), user story (Scrum and XP), work package (Project management)
|debrief, lesson learned meeting (Project management), post-mortem, reflection meeting, review meeting, weekly review
|cycle of work, iteration, sprint (Scrum), timebox (DSDM), work cadence
|chickens and pigs (Scrum), cross-functional team, development team, high-performance team, product team, real team, whole team (XP
|big visible charts (XP), information radiator, Kanban board (Lean), scrum board (Scrum), task board
|activity, engineering task (XP), sprint backlog item (Scrum)
|activity list (Project management), components, sprint backlog (Scrum)
|work prioritization strategy
|backlog grooming, backlog prioritization
|business requirements, development plan (DSDM), prioritized list, product backlog (Scrum), stories (XP), to-do list, work-item list