Agile
- In Turkish
- çevik
- Pronunciation
- AJ-ul or AJ-ile
In short
Agile is an approach to software development that delivers working software in small, frequent increments and adjusts plans based on regular feedback.
What is Agile software development?
Agile is a family of software development approaches built on the idea that teams should deliver working software early and often, then adjust based on what they learn. The term comes from the Manifesto for Agile Software Development, written in 2001 by 17 practitioners who wanted a lighter alternative to heavy, document-driven processes. It is a set of values and principles rather than a single method, so teams apply it through frameworks such as Scrum, Kanban, and Extreme Programming (XP).
In practice, an Agile team breaks a large goal into small pieces of work, such as user stories, and completes a few of them in each short cycle, often one to four weeks long. At the end of each cycle the team shows the result to users or stakeholders (the people with an interest in the product), gathers feedback, and reprioritizes what comes next. Regular reflection meetings, called retrospectives, let the team improve its own way of working as well as the product.
A useful analogy is driving with a GPS instead of a printed map. A printed map fixes the whole route before you leave, while a GPS checks your position constantly and reroutes when a road is closed. Agile works the same way: the plan is expected to change as the team learns more about its users, the technology, and the market.
Agile is often confused with Scrum, but Scrum is just one specific framework that follows Agile values; Kanban is another. It is also commonly contrasted with the Waterfall model, in which requirements, design, building, and testing happen in long sequential phases and working software appears only near the end. Agile does not mean having no plan or no documentation; it means planning in smaller steps and writing documentation that is actually useful.
Key takeaways
- Agile is a mindset and a set of principles, not a single prescribed process.
- The Agile Manifesto values individuals and interactions, working software, customer collaboration, and responding to change.
- Work is delivered in small increments so feedback arrives early.
- Scrum, Kanban, and Extreme Programming are popular ways to put Agile into practice.
- Agile teams still plan; they simply revisit the plan often.
Readers ask
What is the difference between Agile and Scrum?
Agile is a broad set of values and principles for building software iteratively. Scrum is one specific framework that implements those ideas with defined roles, events such as sprints, and artifacts such as the product backlog.
What is the difference between Agile and Waterfall?
Waterfall runs a project in long sequential phases, so users see working software only near the end. Agile repeats short cycles of planning, building, and reviewing, so the team gets feedback and can change direction early.
Is Agile only for software teams?
No. Agile began in software, but its ideas of short cycles, frequent feedback, and continuous improvement are now used in marketing, design, hardware, and many other fields.
Often compared
- Agile vs WaterfallAgile ships working software in short cycles and adapts the plan to feedback, while Waterfall moves through fixed phases from requirements to release.
- Agile vs ScrumAgile is a set of values for building software in small, frequent steps with feedback, while Scrum is one framework that applies it with roles and sprints.
See also
- ScrumTeams & Process, p. 21Scrum is an Agile framework in which a small team delivers a product in fixed-length cycles called sprints, using defined roles, events, and artifacts.
- KanbanTeams & Process, p. 10Kanban is an Agile method that visualizes work on a board of columns and limits how many items can be in progress at once to keep work flowing smoothly.
- SprintTeams & Process, p. 26A sprint is a fixed-length period of one month or less, often two weeks, in which a Scrum team works toward one goal and produces a usable product increment.
- User StoryTeams & Process, p. 30A user story is a short, plain-language description of a feature told from the user's point of view, explaining who wants it, what they want, and why.
- RetrospectiveTeams & Process, p. 20A retrospective is a team meeting held at the end of each sprint to reflect on how the team worked and agree on concrete ways to improve next time.
- DevOpsDevOps & Cloud, p. 14DevOps is a set of practices and a culture that brings software development and IT operations together to deliver software faster and more reliably.
- SDLCTeams & Process, p. 23The software development life cycle (SDLC) is the sequence of stages software goes through: planning, design, building, testing, release and maintenance.
Spotted a mistake or something missing on this page?Suggest an edit