In the nineties, organizations and companies became more and more ICT-intensive and increasingly confronted with technological changes, demanding customers and an ever-shorter time-to-market of products. It soon became apparent that traditional project management techniques were insufficiently flexible to implement efficient and effective process and system changes.
In response, various light-weight development techniques were introduced, including Dynamic System Programming Method (DSDM), Extreme Programming (XP), Rapid Application Development (RAD), Feature-driven Development (FDD) and Rational Unified Process (RUP). The methodologies were aimed at incremental and iterative development of software based on the needs of the customer and had a strong focus on continuous improvement and quality.
In 2001, 17 software pioneers came together to discuss and compare the different light-weight software techniques. The outcome of the meet-up was the Agile Manifesto, which sets out the 12 principles of agile work that organizations can use to train and increase their agility, flexibility and adaptability.
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is a face-to-face conversation.
- Working software is the primary measure of progress.
- 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 behaviour accordingly.
In summary, the Agile Manifesto prefers individuals and interaction over process and tooling, working software above documentation, collaboration with the customer over contract negotiations and responding to change instead of following a plan.