Agile Development


  • Agile software development may be a practices approach for developing applications.
    Agile methodology is described as an “iterative” and “incremental” approach.
  • The term agile management is applied to an iterative, incremental method of managing the planning and build activities of engineering, information technology, and other business areas that aim to supply the new product or service development during a highly flexible and interactive manner, supported the principles expressed within the Manifesto for Agile Software Development
  • Agile developers visualize the software as a mixture of complex parts that interact with one another instead of an outsized block of structure.
  • Actually, in the waterfall method, the development team will get only a single chance to urge each phase(like design, development, testing, etc) of a project.
  • Whereas in an agile methodology, these phases are continually revisited periodically to know the project’s progress and direction.
  • The “inspect-and-adapt” approach from Agile methodology, greatly reduces development cost and time to plug the merchandise because here teams can develop the software while gathering changes in requirement.
  • The stakeholder can provide feedback to the event team to enhance the standard of the merchandise.
  • Agile development does save a lot of resources that could have been spent on something not needed anymore.
  • It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages flexible responses to vary.
  • Agile software development methods are extensively used for the development of software products and a few of them use certain characteristics of software, like object technologies.
  • Agile software development paradigms are often utilized in other areas of life like raising children. Its success in child development could be founded on some basic management principles; communication, adaptation, and awareness.

Software development values

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to vary over following an idea

Software development principles

There are twelve principles for agile software development.

  1. Customer satisfaction by early and continuous delivery of valuable software.
  2. Welcome changing requirements, even in late development.
  3. Deliver working software frequently (weeks instead of months)
  4. Close, daily cooperation between business people and developers
  5. Projects are built around motivated individuals, who should be trusted
  6. A face-to-face conversation is that the best sort of communication (co-location)
  7. Working software is that the primary measure of progress
  8. Sustainable developmentready to maintain a continuing pace
  9. Continuous attention to technical excellence and good design
  10. Simplicity—the art of maximizing the quantity of labor not done—is essential
  11. Best architectures, requirements, and styles emerge from self-organizing teams
  12. Regularly, the team reflects on the way to becoming simpler and adjusts accordingly

Adaptation cycle

  • In agile software development, team members report back to one another what they did the previous day toward their team’s iteration goal.

Development methods

  • There is a wide selection of methods of agile software development.
  • It supports the software development life cycle.
  • Some support activities for requirements specification and development (e.g., FDD), while some seek to hide the complete development life cycle (e.g., DSDM, RUP)
  • Dynamic systems development method (DSDM), Adaptive software development (ASD), Agile unified process (AUP) and Feature-driven development (FDD) are famous agile software development frameworks.