Agile is as software development methodology. Where requirements are segregated into small portion and provide the solutions of each portion within a short time. Its main focus is on customer satisfactions. This article presents a basic introduction to Agile software development methodologies and explains how to apply Agile?. Table of contents:
- What is Agile?
- Agile Manifesto
- Agile Values
- Agile Principles
- Agile Methods
What is Agile?
Agile software development (also called “agile”) is a group of software development methods. It is an umbrella term for several iterative and incremental software development methodologies where requirements and solutions progress through collaboration between self-organizing, cross-functional teams. It’s focuses on keeping code simple, testing frequently and delivering functional bits of the application as soon as they’re ready.
In 2001 seventeen software developers met at a resort to discuss lightweight development methods. They published The Agile Manifesto (also called the Manifesto for Agile Software Development). It has four key values and twelve principles. It was created as an alternative to document-driven, heavyweight software development processes (such as the waterfall model).
The four core values of agile software development are given bellow:
- 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 Agile Manifesto is based on twelve principles ad they are:
- Customer satisfaction by rapid delivery of useful software.
- Welcome changing requirements, even late in development.
- Working software is delivered frequently (weeks rather than months).
- Close, daily cooperation between business people and developers.
- Projects are built around motivated individuals, who should be trusted.
- Face-to-face conversation is the best form of communication (co-location).
- Working software is the principal measure of progress.
- Sustainable development, able to maintain a constant pace.
- Continuous attention to technical excellence and good design.
- Simplicity—the art of maximizing the amount of work not done—is essential.
- Self-organizing teams.
- Regular adaptation to changing circumstances.
Most famous agile software development methods or process are given bellow:
- Adaptive Software Development (ASD)
- Agile Modeling
- Agile Unified Process (AUP)
- Crystal Methods (Crystal Clear)
- Disciplined Agile Delivery
- Dynamic Systems Development Method (DSDM)
- Extreme Programming (XP)
- Feature Driven Development (FDD)
- Lean software development
Project failure is a big problem in software development. It is very important for any development team to complete a project in time. Agile can play a vital rule in this case. Day by day its uses are increasing rapidly.