Agile started as a project-oriented software development methodology.
Indeed, Agile development methods were initially designed for project management processes.
For example, eXtreme Programming (XP), Scrum, Feature-Driven Development (FDD) are all methods that were originally developed for software development, but they now extend to all types of projects.
They developed in the 1990s until 2001, when they gave rise to an agile manifesto that brings together all these theories under a number of common agile principles.
The Agile Manifesto for Software Development
We are uncovering better ways of developing software by doing it and helping others do it.
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
That is, while there is value in the items onthe right, we value the items on the left more.
The 12 Agile Principles
- Early and Continuous Delivery of Valuable Software
- Embrace Change
- Frequent Delivery
- Business and Developers Together
- Motivated Individuals
- Face-to-Face Conversation
- Working Software
- Sustainable Development
- Technical Excellence
- Self-Organizing Teams
- Regular Reflection and Adjustment
These principles completely redefine the historical software development methodology.
They put the client and their need at the center of software development through the reinvention of the entire development process.
With the agile methodology, software development is no longer linear.
The agile framework breaks down the entire design into cycles, at the end of which a testable version of the project is systematically proposed, which evolves through continuous improvement with each iteration.
In this way, the agile mindset also establishes interaction and collaboration with clients as a fundamental principle.
Indeed, the idea of feedback is central to the agile method: it is this feedback on the work of each cycle that makes it possible to identify the added value and to determine the functionalities that need to be added, developed or abandoned.
These principles of iterative development and close collaboration between users and developers ensure the optimal alignment of the needs of both parties.
With the iteration of these cycles (or sprints) – designed to last a few weeks at most – these two realities cannot be kept apart for long.
This new way of doing things breaks off from the old, rigid and contractual way, where software development was designed on a single sprint, at the end of which a final version was presented to the client.
The service remains the same – design a custom-built tool – but the process is completely reinvented.
The Agile model generally promotes a disciplined project management process that encourages frequent inspection and adaptation I promotes a leadership philosophy that encourages teamwork, self-organisation and accountability.