Agile frameworks are a set of principles, practices, and techniques that guide the development and delivery of products and services in an agile manner. Agile approaches are meant to be flexible and responsive to change, emphasizing collaboration, iteration, and continuous improvement.
There are a variety of Agile frameworks an organization can choose from, each with its own set of principles and practices. Some of the more popular Agile frameworks include Scrum, Kanban, Lean, Extreme Programming (XP), Crystal, Dynamic Systems Development Methodology (DSDM), Feature Driven Development (FDD), and Lean Startup methodology.
Scrum is a lightweight project management wrapper for executing and completing obscure and complex projects. It is based on empirical process control principles of transparency, inspection and adaptation. In Scrum, teams work in short iterations, typically lasting two weeks. During iterations, Scrum teams are expected to deliver working software piecemeal. At the end of each iteration, the team consciously reviews and reflects on their work and adjusts their approach for the next sprint.
Kanban is another popular agile framework used by teams with a reactive approach towards their work (customer service, support, maintenance, and infrastructure management). It is based on a culture of just-in-time processing with a focus on continuous delivery. With Kanban, teams can use an information beam (or Kanban) to track work progress, identify bottlenecks and limitations, and fix them quickly. By limiting work in progress and always adding small amounts of customer value, the team improves the flow of value and responds quickly to environmental changes.
Lean is based on the principles of the Toyota Production System or TPS. It's about eliminating waste and continuously improving processes. Lean teams aim to deliver value to their customers as quickly as possible and use flow visualization techniques such as value stream mapping to identify and eliminate waste in their work processes.
Extreme Programming (XP) is focused on delivering quality software and places a high value on technical practice. Scrum, by contrast, does not provide technical best practices, so XP and Scrum are often combined to improve built-in quality. Practices such as pair programming, continuous integration, and frequent deployment of working software are paramount to XP. The XP team prioritizes collaboration with customers who can deliver small incremental value in short iterations and quickly leverage rapid feedback.
Crystal is a collection of agile frameworks designed for the needs of teams and projects. It provides a set of guiding principles, practices, and techniques that teams can use to adapt their approach to the complexity and ambiguity of their initiatives.
Feature Driven Development (FDD)
FDD is an iterative and incremental software development method. It is a lightweight or Agile method for developing software. FDD culminates a few industry-recognized best practices into a cohesive whole. These practices are driven from a client-valued functionality perspective.
Dynamic System Development Methodology (DSDM)
DSDM focuses on delivering working software as quickly as possible. Achieve high-quality results through highly motivated teams, highlighting rapid prototyping, iterative development, and customer collaboration. The DSDM team works in short iterations called timeboxes to deliver small incremental value quickly and flexibly.
Lean Startup is focused on helping organizations innovate to bring their products to market quickly and systematically. We advocate the use of rapid experimentation, customer feedback, and continuous learning to test hypotheses about new ideas.
If multiple teams are adopting Agile methodologies, scaling the model should be considered to ensure coordination and collaboration between delivery teams. Some of the more popular Agile patterns include Large Scale Scrum (LeSS), Scaled Agile Framework (SAFe), Disciplined Agile Delivery (DAD), Scrum@Scale, and Nexus.
Large Scale Scrum (LeSS)
Large Scale Scrum (LeSS) scales Scrum for large initiatives and is based on the principles of simplicity, transparency and inspection. In Scrum, the vision underlines the team's mission and pulls everyone in that aligned direction.
Scaled Agile Framework (SAFe)
Scaled Agile Framework (SAFe) is probably the most popular scaling agile framework for adopting agile working methods across the enterprise. In addition to the values and principles of the Agile Manifesto, SAFe reveals its own 10 SAFe Principles.
Disciplined Agile Delivery (DAD)
Disciplined Agile Delivery (DAD) is an agile framework focused on enabling organizations to deliver value in a rapid and flexible manner. It is based on the principles of transparency, inspection and adaptation and provides a set of practices and principles for coordinating the work of multiple teams.
Scrum@Scale is a framework for scaling Scrum to large and complex initiatives. Like most other frameworks, it is based on empirical principles of transparency, inspection and adaptation, leveraging the network of Scrum to deliver value in a coordinated and agile way.
Nexus is a platform for planning, deploying, scaling and managing large product and software development tranches. Nexus makes sense when your organization has multiple Scrum teams working to achieve a vision. These teams are collectively called the Nexus. Organizations should carefully consider each framework to find the best and most appropriate framework.