Why be AGILE? Because it really works.
Each iteration is its own, self-contained software project, including planning, requirements analysis, design, coding, testing, and documentation. An iteration may not add enough functionality to warrant releasing the product to your users, but the goal is to have a stable, deliverable release at the end of each iteration.
Agile programming methods work best when the problem is specific and can be well-understood and defined by both the customer company and its partner. This methodology makes sense where the question is, "Help me do something better," and not, "Let's build a brand new back office application from scratch." Typically, therefore, Agile programming works best where extensibility is a key project value & deliverable. Need to extend the way your enterprise back office suite interfaces with customers and suppliers? Want instant, on-demand access to real-time reporting & other performance analysis metrics? The answer is Agile.
The Iterative Way
Agile programming minimizes risk—that is, wasting expensive development
time developing software that's off-target—by delivering software in
much shorter amounts of time. Each programming time period, called
an iteration, may last from one to four weeks.
Agile programmers deliver functionality instead of software. The overall programming environment does not matter—the functionality can be delivered in whatever language is appropriate for that particular project, whether it be JAVA, PHP, .NET (our preferred programming environment), or any other technology. The methodologies and process remain the same.
There's
a growing movement behind Agile programming, driven largely by the
efficiencies and value behind delivering functionalist using Web-based
technologies. And, with more and more projects being delivered using
teams spread around the globe, it's proving to be one of the best ways
to deliver consistent, high-quality results, time and time again.
