There quite a few “lightweight” development processes that existed at the time the Agile Manifesto was created; additional such methods have emerged since. They are now described collectively as ‘agile’ methods.
Agile is a mindset and it’s a set of values and principles. Agile is a way of thinking and acting. Agile is all about short cycles, iterative and incremental delivery, failing fast, getting feedback, delivering business value to customers early and about people, collaboration and interaction. Agile is a mindset that is all about transparency, inspection, and adaptation. Agile, however, doesn’t consist of any roles, events or artifacts. It’s a mindset. For example, Scrum is one of the widely used frameworks under the Agile umbrella, which may help you in becoming more Agile, there are however many more frameworks within the Agile movement, like Kanban, XP, Crystal and many more as shown in the Figure below:
This article will overview the top most popular agile methods here. They are:
A very popular method that borrows its title from the rugby scrum, and uses it as a metaphor for the daily progress update meeting. Scrum has short iterations (sprints) that each focus on delivering working software, a tightly prioritized ‘backlog’ for both the sprint and the product, and specifies a ‘Product Owner’ role who sets the priorities.
Extreme Programming (XP)
The source of many popular agile practices, and the key founding method. A disciplined approach with high customer involvement, continuous planning, continuous testing and rapid delivery in very short intervals.
Dynamic Systems Development Method (DSDM)
DSDM provides project governance and scaling around XP or RAD approaches. It has three main phases called pre-project, project, and post-project and includes defined formal stages within the project phase. Fitness for Business Purpose is the primary criterion for delivery and acceptance of a system and MoSCoW is used for prioritization.
Rapid Application Development (RAD)
RAP both an umbrella term for a range of agile and iterative approaches and a method described by James Martin (1991) in its own right. RAD takes the analysis, design, build and test phases and repeatedly iterates through them developing prototypes and versions of increasing functionality.
Unified Process (UP)
UP is an iterative and incremental framework, with several implementations including the RUP, OpenUP, and AgileUP. A highly tailorable framework that takes a RAD approach that is architecture-centric and risk-focused. The phases of the UP are called Inception, Elaboration, Construction, and Transition, and each has a different focus.
Lean is originated from manufacturing in the 1970s, the principles of Lean were applied to software development by Mary and Tom Poppendieck (2003) in their book, Lean software development. Lean focuses on the delivery of value to the customer and on eliminating waste from the process.
Kanban: an approach that originated in Lean manufacturing and has been further developed by David Anderson (2010). Kanban is based on workflow visualization, typically on a physical board, addressing issues that cause problems, limiting the team’s work in progress and balancing the demands on the team.
Agile Development is one of the big buzzwords of the software development industry which is a different way of managing software development projects. Rather than a specific software development method, it is an umbrella term for a set of methods and practices based on the values and principles expressed in the Agile Manifesto. Solutions evolve through collaboration between self-organizing, cross-functional teams utilizing the appropriate practices for their context.
There are yet many other agile methods in use today. This includes hybrid methods such as ScrumBan, Crystal, FDD and numerous in-house customizations that individual companies have developed.