The agile methodology is a process for designing, delivering and testing high-quality software at the lowest cost and in the shortest possible time. The heart of the process centers around iterative development — namely, enabling teams to deliver faster with a greater ability to respond to change.
While agile methods are also used in project management as well as software development, they originated from an ‘Agile Manifesto’ created in 2001 by a group of 14 leading figures in the software industry.
What are the different types of agile methodology?
- Agile Scrum – Similar to an assembly-line approach, each team works on delivering “potentially shippable increments” of a software project during successive sprints, each one typically lasting 30 days. Priorities are established beforehand in a ‘product backlog,’ which can include things like bug fixes, adding features, etc.
This short cartoon answers the question 'What Is Agile?' And will give you the background to understand the Agile principles and values and how they can help. We would like to show you a description here but the site won’t allow us.
- Lean Software Development – The goal of lean development is to eliminate waste by asking users to select only the truly valuable features of the system and then work to deliver them in small batches. Emphasizes a quick go-to-market strategy through the concept of “failing quickly” to get user input as fast as possible and then reiterating.
- Kanban – A visual workflow management method aimed at helping teams visualize the tasks at hand without looking too far ahead and causing overwhelm. When something is finished, the next highest priority from the backlog is pulled into play.
- Extreme Programming (XP) – This is the most user-centric software development method, where the customer works closely with the development team to define/prioritize user stories. Software is developed and tested on an iteration-by-iteration basis with a continuous feedback loop from the customer.
- Dynamic Systems Development Method (DSDM) – Unlike XP, DSDM focuses on “fitness for business purpose” as a prioritization framework, focusing on the useful 80% of the system that can be delivered 20% of the time. System requirements are planned and delivered in sprints, and all development changes must be reversible in case rework is needed.
- Feature Driven Development – Focuses on developing one specific feature at a time deemed most “useful in the eyes of the client.” If a feature takes more than two weeks to build, it will have to be broken down into smaller projects.
Agile is designed to accommodate change and the need for faster software development (as discussed in the Agile Manifesto's Values and Principles). The project leader typically facilitates the work of the development team, eliminates bottlenecks, and helps the team stay focused in order to deliver software iterations on a regular basis. Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author incudes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C and Java. Agile developers focus on sustainable development–not heroics. Sustainability is about good estimation, effective branching strategies for managing code, automated testing to protect quality, and continuous deployment to get fast feedback from users.
Which agile methodology is best?
Scrum and Kanban are two of the most widely used agile methods, but companies favor different methods based on their company culture, leadership and the industry in which they operate.
Why do I need to know about agile methodology?
Hiring managers often ask candidates to describe the software development life cycle and agile methodology during the interview process for a software engineering job. Demonstrating that you understand the agile method conceptually — even if you’ve never worked with it before — shows the interviewer that you’re production-minded, and not just fixated on coding.
Hiring managers tell us that a key skill new grads lack is production, which is very different from simply working on projects on your own as it involves software testing, iterating based on user feedback, and navigating the “downstream effects” of changing the source code.
What are the objectives of the agile methodology?
- The agile methodology anticipates change and allows for more flexibility than traditional methods.
- This flexibility enables the company to prioritize people over processes. Ensures the customer is heavily involved in production while also allowing internal teams to have more say in the final product than in a top-down approach.
- Continuous iteration allows for greater responsiveness to changing market tastes/consumer feedback while controlling for costs.
- It keeps each project transparent by having consistent meetings with the client or customer and allows everyone involved to access project data and progress.
Agile Software Development Meaning
What companies use the agile methodology?
While startups are more likely to use “lean” methods for going to market quickly, many legacy companies have adopted agile methods to keep up with the pace of tech innovation. IBM is one of the most high-profile companies that openly uses the agile method.
In fact, IBM even incorporates this approach into its hiring methods (emphasizing diverse teams) and workplace design (“tearing down walls and building collaborative spaces”) to make it not just a project management philosophy but the core of its company culture.
Other Fortune 500s that use the agile methodology include Microsoft, Cisco, AT&T and Apple.
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Agile Methodology
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
the right, we value the items on the left more.
Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler | James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick | Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas |
© 2001, the above authors
this declaration may be freely copied in any form,
but only in its entirety through this notice.
Twelve Principles of Agile Software
View Signatories
About the Authors
About the Manifesto
Afrikaans
Albanian
Amharic
عربي
Azərbaycanca
Беларуская
Bosanski
Български
Català
Česky
Deutsch
Dansk
Ελληνικά
English
Español
Eesti
Euskara
Suomi
Français
Gaeilge
Gàidhlig
Galician
Galego
ქართული
עברית
हिंदी
Croatian/Hrvatski
Hungarian/Magyar
Bahasa Indonesia
Íslenska
Italiano
日本語
ខ្មែរ
한국어
Latviešu
Lietuvių
Македонски/Macedonian
Bahasa Melayu
မြန်မာစာ
नेपाली
Nederlands
Norsk
ଓଡ଼ିଆ
ਪੰਜਾਬੀ
Polski
فارسی
Português Brasileiro
Português Portugal
Română
Русский
සිංහල
Slovenščina
Slovensky
संस्कृत
Srpski
Svenska
Swahili
தமிழ்
తెలుగు
ภาษาไทย
Filipino
Türkçe
Xitsonga
Українська
اردو
Yoruba
繁體中文
简体中文
site design and artwork © 2001, Ward Cunningham