What is Agile Software Development? [Quick Guide]
17-22 minutes
The ability to create and respond to change in order to succeed in an uncertain and turbulent environment. Agile methodologies focus on rapid and frequent deliverables of partial solutions that can be evaluated and used to determine the next steps. Successful agile teams can produce higher-quality software that better meeting user needs quicker and at a lower cost.
According to Agile Alliance:
“Agile Software Development is an umbrella term for a set of methods and practices based on the values and principles expressed in the
Agile Manifesto.”
Need an agile software solution for product backlog management? Visual Paradigm supports a powerful agile toolset that covers user story mapping, affinity estimation, sprint management, etc. It’s powerful yet easy-to-use, intuitive, and, most important, AGILE.
Manifesto for Agile Software Development
The motivated individuals with similar points of view around 2000, brought out a set of ideas and values that are known as the Agile Manifesto. There are four important aspects that make up the Agile Manifesto as listed below:
- Through this work we have come to value:
- Individuals and interactions
- over processes and tools
- Working software
- over comprehensive documentation
- Customer collaboration
- over contract negotiation
- Responding to change
- over following a plan
Please note items on the left have greater value on them than items on the right; It should be read as left is important “over” right and should not to be replaced with “instead”.
Principles of the Agile Manifesto:
- The core Agile Manifesto values are captured in twelve principles:
- To satisfy customers through early and continuous delivery of valuable software is the highest priority.
- Changes in requirements is always welcomed, even late in development. Agile processes harness change for the customer’s competitive advantage
- Maintain a frequent rate of delivering working software, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business stakeholders and developers must work together daily throughout the project. Conduct projects around motivated individuals. Give them the environment, resources and other support they need, and trust them to get the job done.
- The most efficient and effective way of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of the progress of the project.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity – the art of maximizing the amount of work not done – is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
The different Agile methodologies provide prescriptive practices to put these values and principles into action and can be visualized by an interesting mind map.
The History of Agile
Although the roots of Agile may go back to the 50’s Test Driven Development with Project Mercury, things really began to pickup in the early 90’s with
James Martin’s RAD (Rapid Application Development). Then things picked up in the mid-90’s with the advent of RUP(Rational Unified Process) and Scrum, followed by
XP (Extreme Programming) in the late 90’s. but the real watershed moment for the Agile movement was the publication of the Manifesto for Agile Software Development in 2001 by a group of 17 software developers, who met to discuss the collection of lightweight development methods, which is now referred to as Agile methods.
- 1974 – An adaptive software development process documented
- 1991 – “Rapid Application Development” published\
- 1995 – DSDM Framework published
- 1995 – SCRUM presented at OOPSLA
- 1996 – XP Practices developed on C3 project
- 1997 – FDD processes designed by Jeff De Luca
- 1999 – FDD described in “Java Modeling in Color with UML”
- 1999 – “Extreme Programming Explained” published
- 1999 – “Adaptive Software Development” published
- 2001 – Crystal Light methodologies described in Cutter IT Journal,
- 2001 – Agile Manifesto written
- 2003 – “Lean Software Development: An Agile Toolkit for Software Development Managers” published