In the beginning of the 21st century, software development reached a point where a lot of projects were failing and programmers started to find many limitations in the traditional waterfall method. That’s why, in 2001, seventeen software developers decided to write the Manifesto for Agile Software Development, which has 12 principles that will help us create our own definition of “Agile Development”:
- To satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development.
- Deliver working software frequently with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development.
- 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.
Just like the new trends in organization magement, Agile focuses a lot in team work and constant results. It seems like it’s the perfect method, isn’t it? For me, what Agile is looking for is really hard to reach, however, nothing’s impossible.
Agile development reduces the risk of failure and allows to have more cetainty, visibility and adaptability. Through software development process, clients requirements can change, and the advantage of this method is that it won’t affect that much the project, that’s the great thing about developing in “baby steps-short term goals-.
The methodologies of Agile Development Software are:
- Extreme Programming (XP)
- Dynamic Software Development Method (DSDM)
- Feature-Driven (FDD)
I think Agile Development is a good way to stay focused, because it requires to design, code, test and deliver week by week, so you won’t lose track. Because it can be risky to think in long-term. Also, the team work approach increases productivity and efficiency.
Do you wanna know if you’re organization is Agile? This will help you find out: