Agile Model
...

In February 2001, software developers met at the Snowbird ski resort in Utah to discuss lightweight development methods (developing software using less resources and less time). They composed and published the Agile Manifesto

Agile Manifesto
...

The values of the Agile Manifesto are backed by a set of 12 Agile Principles.

In the Agile Manifesto, the authors outline several guiding values:

  • Individuals And Interactions > Processes And Tools
  • Working Software > Comprehensive Documentation
  • Customer Collaboration > Contract Negotiation
  • Responding to Change > Following a Plan

Software is developed in incremental, small, rapid cycles resulting in small incremental releases (small changes) with each release building on previous functionality.

During each iteration, the product is being built and tested. Every iteration results with a deployable product

Continuous Integration, Continuous Delivery, and Continuous Deployment are integral part of agile development.

These approaches share the same prefix ‘Continuous’, which refer to integrating the increment (shippable software) as well as to deploy the outcome automatically and concurrently without the delay involved in traditional sequential development.

Individuals & Interactions Over Processes And Tools
...

When processes and tools are seen as the way to manage product development and everything associated with it, people and the way they approach the work must conform to the processes and tools.

Conformity makes it hard to accommodate new ideas, new requirements, and new thinking.

In the Waterfall model, developers were soloed in their own areas of expertise.

The Agile Manifesto promotes breaking down the walls that separate people working on
a project. Self-organization and motivation are important, as are interactions like co-location and pair programming.

Working Software Over Comprehensive Documentation
...

The manifesto represents a shift away from the generation of formal documents. The success is measured by delivering value with the working software.

Customer Collaboration Over Contract Negotiation
...

As the requirements cannot be gathered completely in the beginning of the project due to various factors, continuous customer interaction is very important to get proper product requirements.

Responding to Change Over Following a Plan
...

Agile development is focused on quick responses to change and continuous development, integration and deployment. It is more important to develop a right product than to stick with
the plan.

StrengthsWeaknesses
Working software is delivered frequently (weeks rather than months) - is considered a very realistic development approach.Depends heavily on customer interaction - the project can head the wrong way if the customer is not clear about the requirements.
Customers, developers and testers constantly interact with each other: Face-to-face conversation instead of reading the documentation.Documentation is done at later stages.
Regular adaptation to changing circumstances.Only senior programmers are capable of engaging in this kind of development.
Or project teams whose number of members fluctuates.
Even late changes in requirements are welcomed.

Agile Model - When to use?
...

  • When new changes are needed & can be implemented at a very little cost.
  • New features could be implemented in few days, or even only hours.
  • Very little planning is required to get started with the project. Agile assumes that the end users’ needs are ever changing. Changes can be discussed and features can be newly effected or removed based on feedback.
  • Both system developers and stakeholders alike would like to have more freedom of time and options regarding the software development. Having options gives them the ability to leave important decisions until, for example, more or better data are available.

Over the years, many agile frameworks have emerged:

agile-frameworks.png

Scrum and related variants continue to be the most common Agile approach used by organizations (https://stateofagile.com , 2020 report).

state-of-agile-2020.png

Scrum and related variants continue to be the most common Agile approach used by organizations (https://stateofagile.com , 2021 report),

state-of-agile-2021.png