Agile is a term used to describe a software development approach that emphasizes incremental delivery, team collaboration, continuous planning, and continuous learning, rather than attempting to deliver everything at once near the end.
Agile focuses on keeping the process lean and creating a Minimum Viable Product (MVP), going through multiple iterations before the final outcome emerges. Feedback is continuously collected and implemented. In short, it’s a more dynamic process where everyone works toward a common goal.

Agile Software Development
Scrum and Other Leading Agile Methods
Agile is a mindset — a set of values and principles. It’s a way of thinking and acting. Agile means short cycles, iterative and incremental delivery, rapid failure, feedback acquisition, delivering business value early, and focusing on people, collaboration, and interaction. Agile is a mindset of transparency, inspection, and adaptation. However, Agile does not include any roles, events, or artifacts. It is a mindset. For example, Scrum is one of the widely used frameworks under the Agile umbrella, helping you become more agile. But the Agile movement includes many other frameworks, such as Kanban, XP, Crystal, and others, as shown below:

Scrum Agile Umbrella
Scrum
Scrum is a framework that people use to solve complex adaptive problems while delivering high-value products efficiently and creatively. It is used to manage software projects and product or application development. Its focus is on adaptive product development strategies, where cross-functional teams work together toward a common goal within 2–4 weeks (Sprint). It consists of a series of values, artifacts, roles, ceremonies, rules, and best practices.
Lean
Lean originated from the Toyota Production System (TPS), which revolutionized physical goods production in the 1950s, 60s, and beyond. While Lean has maintained its position in manufacturing, it has also found new applications in knowledge work, helping businesses across all industries **eliminate waste, improve processes, and promote innovation**. Software development is a natural fit for Lean methods, as it, like manufacturing, often follows established processes, has defined acceptance criteria, and leads to the delivery of tangible value. The key concepts guiding all Lean practices are known as the Lean pillars. They are:
- Continuous improvement
- Respect for people
- Lightweight leadership
Kanban
Kanban is a highly visual workflow management method widely adopted in Lean teams. In fact, 83% of Lean production teams use Kanban to visualize and actively manage product creation, focusing on continuous delivery without overburdening the development team. Like Scrum, Kanban is a process designed to help teams collaborate more effectively.
Kanban is based on three core principles:
- Visualize your work today (workflow): Viewing all items in context with one another can provide rich, insightful information.
- Limited Work in Progress (WIP): This helps balance flow-based approaches so teams don’t start and commit to too much work immediately.
- Improve the process: When a task is completed, the next highest-priority item in the backlog is activated.
Kanban promotes continuous collaboration by defining the optimal team workflow and encourages active, continuous learning and improvement.
Dynamic Systems Development Method (DSDM)
DSDM is a framework composed of eight principles, including lifecycle and product, roles and responsibilities, and several best practice techniques. These principles support and enable early delivery of strategically significant business benefits, thus providing the best return on investment (ROI) for organizations.
DSDM is a method that prioritizes planning and quality over features. It fixes cost, quality, and time from the start and uses the MoSCoW prioritization technique to break down project requirements into four types:
- Must have
- Should have
- Could have
- Won’t have
The eight supporting principles of DSDM Atern [13] guide teams on the attitudes and mindsets they must adopt to consistently deliver value.
- Focus on business needs
- Deliver on time
- Collaborate
- Never compromise quality
- Build step by step from a solid foundation
- Iterative development
- Continuous clear communication
- Demonstrate control
Extreme Programming (XP)
Originally described by Kent Beck, Extreme Programming (XP) has become one of the most popular and controversial Agile methods. XP is a disciplined approach to delivering high-quality software rapidly and continuously. It aims to improve software quality and responsiveness to changing customer needs. It promotes high customer involvement, rapid feedback cycles, continuous testing, continuous planning, and close team collaboration, delivering working software at very frequent intervals (typically every 1–3 weeks).
The name of the method comes from the idea of taking beneficial elements from traditional software engineering practices and pushing them to an “extreme” level. For example, code reviews are considered a beneficial practice. In an extreme form, code is continuously inspected through the practice of pair programming.
The original XP framework is based on four core values — Simplicity, Communication, Feedback, and Courage.
It also includes twelve supporting practices:
- Planning Game
- Small Releases
- Customer Acceptance Tests
- Simple Design
- Pair Programming
- Test-Driven Development
- Refactoring
- Continuous Integration
- Collective Code Ownership
- Coding Standards
- Metaphor
- Sustainable Development

Extreme Programming
Feature-Driven Development (FDD)
Feature-Driven Development (FDD) was introduced by Jeff De Luca in 1997 during a software development project at a large Singaporean bank. It is an iterative and incremental software development process and an Agile approach to building software. FDD integrates many widely recognized industry best practices into a cohesive whole. These practices are driven from the client’s value perspective — features. Its primary goal is to deliver tangible, working software repeatedly and on time. A key advantage of using FDD is that it can scale to large teams thanks to the concept of “Just Enough Design” (JEDI). Due to its feature-centric process, FDD is an excellent solution for maintaining control over Agile, incremental, and inherently complex projects. It consists of five core activities:
- Develop an overall model
- Build a feature list
- Plan by feature
- Design by feature
- Build by feature

Feature-Driven Development (FDD)
Each project has its own unique model, which generates a feature list. The last three activities are short iterations, each lasting no more than two weeks. If a task takes longer than two weeks, it is broken down into smaller features.
Crystal
The Crystal methods were developed by Alistair Cockburn in the mid-1990s as a series of approaches (the Crystal family). These methods stem from Cockburn’s years of learning and team interviews. Cockburn’s research showed that the teams he interviewed did not follow formal methodologies, yet still delivered successful projects. The Crystal family is Cockburn’s way of cataloging what these successful teams did. The Crystal methods focus primarily on:
- People
- Interaction
- Community
- Skill
- Talent
- Communication
Agile Manifesto
The term “Agile” was coined in the Agile Manifesto of 2001. The manifesto aims to establish principles guiding better software development practices. The Agile Manifesto consists of four core values. Reading the Agile Manifesto does not mean that the items on the right are valueless — rather, Agile values the items on the left more.

Agile Manifesto
Let’s now examine the first line of the Agile Manifesto. This line states that we value people, their interactions, communication, and collaboration more than a variety of broad processes and tools. Of course, processes and tools are valuable, but they become even more valuable when they actually support people working together to deliver high-quality products. What we often see in many organizations is that processes and tools become goals in themselves. From an Agile perspective, we see it differently. Processes and tools should support people working together to create value for customers.
Agile Principles
As a complement to the Agile Manifesto, the Agile Alliance also defined a set of 12 principles that provide guidance and more detailed explanations beyond the manifesto:

Agile Manifesto Principles
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for shorter timescales.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity — the art of maximizing the amount of work not done — is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams. Teams regularly reflect on how they can become more effective and then adjust their behavior accordingly.
Summary
Agile development is a popular term in the software development industry — an alternative way of managing software development projects. It is not a specific software development methodology, but rather a collection 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, leveraging practices suited to their context.