Agile Software Development frameworks, Agile methodologies, Agile frameworks, Agile model, Agile SDLC, Agile development frameworks
An Agile framework is a specific approach to planning, managing and executing work. Agile frameworks incorporate elements of continuous planning, testing, integration and other forms of continuous development and they are lightweight compared to traditional development methods, which means that rules and practices are kept to a minimum.
Agile Software Development frameworks typically fall into two categories: those designed for a team and those designed to help organizations practice Agile at scale, across many teams.
Agile frameworks
- Scrum – Organizes work into cycles called Sprints, typically lasting 2-4 weeks. The process involves planning at the start of each Sprint, daily stand-up meetings, Sprint reviews, and retrospectives. Scrum teams consist of a Product Owner, Scrum Master, and Developers, focusing on delivering small, incremental improvements to the product.
- Kanban – Uses a visual board with columns to represent the workflow stages. The process involves visualizing the workflow, limiting work in progress (WIP), managing flow, making process policies explicit, and continuously improving. It emphasizes continuous delivery and efficiency by visualizing and managing the flow of work.
- Scrumban – Combines elements of Scrum and Kanban. The process uses the structure of Scrum with Sprints and roles, but incorporates Kanban’s visual workflow and WIP limits. It is suitable for teams transitioning from Scrum to Kanban or vice versa, allowing for flexibility and flow-based work management.
- Extreme Programming (XP) – Specifically tailored for software development teams. The process includes practices like pair programming, test-driven development (TDD), continuous integration, and frequent releases in short development cycles. It emphasizes technical excellence and customer satisfaction.
- Feature Driven Development (FDD) – Organizes software development around making progress on features. The process involves developing an overall model, building a feature list, planning by feature, designing by feature, and building by feature. It is customer-centric, incremental, and iterative, focusing on delivering tangible software results often and efficiently.
- Dynamic Systems Development Method (DSDM) – Focuses on the full project lifecycle. The process includes pre-project, feasibility, foundations, evolutionary development, deployment, and post-project phases. It emphasizes early delivery of real benefits to the business, using principles like MoSCoW prioritization and timeboxing to ensure timely and on-budget delivery.
- Crystal – Focuses on individuals and their interactions, rather than processes and tools. The process varies based on project size and criticality, but generally includes frequent delivery, reflective improvement, and close communication. It is highly adaptable and emphasizes team collaboration, communication, and continuous improvement.
Scaled Agile frameworks
- Scaled Agile Framework (SAFe) – A comprehensive framework designed to scale agile practices across large enterprises. The process includes multiple levels: Team, Program, Large Solution, and Portfolio. It integrates principles from agile, lean, and product development, providing structured guidance on roles, responsibilities, and workflows.
- Large Scale Scrum (LeSS) – Extends Scrum principles to large-scale teams. The process involves multiple Scrum teams working on a single product, with a single Product Backlog and common Sprint. It focuses on simplicity and maintaining the essence of Scrum while scaling up to multiple teams.
- Disciplined Agile Delivery (DAD) – A process decision framework that provides a toolkit for scaling agile practices. The process includes inception, construction, and transition phases, with guidance on various aspects of agile, including roles, workflows, and governance. It allows organizations to tailor their approach based on their specific needs.
- Scrum of Scrums (SoS) – A technique to scale Scrum to large groups. The process involves multiple Scrum teams working together, with representatives from each team meeting regularly in a Scrum of Scrums meeting to coordinate and resolve dependencies. It helps manage cross-team collaboration and integration.
- Spotify Model – An informal approach to scaling agile, inspired by Spotify’s engineering culture. The process includes autonomous squads, tribes, chapters, and guilds, with each squad acting like a mini-startup. It emphasizes a culture of innovation and collaboration, allowing teams to work independently while aligning with the overall organizational goals.
- Nexus – Builds upon Scrum to enable multiple teams to work from a single Product Backlog to build an Integrated Increment. The process includes Nexus Integration Team, Nexus Sprint Planning, Nexus Daily Scrum, Nexus Sprint Review, and Nexus Sprint Retrospective. It minimizes cross-team dependencies and integration issues.