Agile Software Development Method

Santosh Gaikwad
Latest posts by Santosh Gaikwad (see all)

>> Related Articles

What is Agile Software Development Method?

Agile software development describes a set of principles for software development. In Agile development, requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams.

The Manifesto for Agile Software Development

In February 2001, seventeen software developers, among others Jeff SutherlandKen Schwaber, and Alistair Cockburn published the Manifesto for Agile Software Development, in which, through their combined experience of developing software they had come to values as follows.

agile-manifesto-values
Agile Values

  • Individuals and Interactions over processes and tools
  • Working Software over comprehensive documentation
  • Customer Collaboration over contract negotiation
  • Responding to Change over following a plan

While the secondary concerns were important the primary concerns were more critical to success.

By these terms, they meant

Individuals and interactions
Self-organization and motivation are important, as are interactions like co-location and pair programming.

Working software
Working software is more useful and welcome than just presenting documents to clients in meetings.

Customer collaboration
Requirements cannot be fully collected at the beginning of the software development cycle, therefore continuous customer or stakeholder involvement is very important.

Responding to change
Agile software development methods are focused on quick responses to change and continuous development.

The Manifesto for Agile Software Development is based on twelve principles.

The Twelve Principles are the guiding principles for the methodologies. They describe a culture in which change is welcome, and the customer is the focus of the work. They also demonstrate the movement’s intent as to bring development into alignment with business needs.

Agile-Principles
Agile Principles

 

  1. Customer satisfaction by early and continuous delivery of valuable software
  2. Welcome changing requirements, even in late development
  3. Working software is delivered frequently (weeks rather than months)
  4. Close, daily cooperation between business people and developers
  5. Projects are built around motivated individuals, who should be trusted
  6. Face-to-face conversation is the best form of communication (co-location)
  7. Working software is the principal measure of progress
  8. Sustainable development, able to maintain a constant pace
  9. Continuous attention to technical excellence and good design
  10. Simplicity—the art of maximizing the amount of work not done—is essential
  11. Best architectures, requirements, and designs emerge from self-organizing teams
  12. Regularly, the team reflects on how to become more effective, and adjusts accordingly

Agile software development methods

Agile software development methods support a broad range of the software development life cycle. Some focus on the practices (e.g., XP, pragmatic programming, agile modeling), while some focus on managing the flow of work (e.g., Scrum, Kanban).

Some support activities for requirements specification and development (e.g., FDD), while some seek to cover the full development life cycle (e.g., DSDM, RUP).

Popular agile software development frameworks include (but are not limited to):

Agile methods
Agile methods

 

Agile software development practices

Agile software development is supported by a number of concrete practices, covering areas like requirements, design, modeling, coding, testing, planning, risk management, process, quality, etc. Some notable agile software development practices include:

The Agile Alliance has provided a comprehensive online guide to applying agile these and other practices.

>> Related Articles


Products from Amazon.com

    Check Articles From Categories      Health and Parenting      Inspiring Stories      Technology      Microsoft Azure      SharePoint O365

    Leave a Reply

    Your email address will not be published. Required fields are marked *