Agile Software Development Ecosystems
by Jim Highsmith
This book provides a good summary of the various agile software development methodologies that are gaining more and more credence in the programming community today. In a nutshell, an agile development promotes an environment that is collaborative, follows rigorous testing practices, provides frequent releases, and actively solicits and incorporates customer feedback. The goal is fast and efficient delivery of software that allows for real-world contingencies and actually works.
Agile software developers recognize that for many (not all, and maybe not even most) software projects there is just too much gray area. There is too much potential for miscommunication and error to follow a set-in-stone production schedule and release dates. Rather than control these projects with a top-down approach, the methodologies outlined in this book take uncertainty as a given and have fashioned various systems for dealing with such realities as unexpected delays, shifting customer expectations, and fluid deadlines.
When properly implemented, such systems provide on-time delivery of software that is within budget and satisfies the customer need while providing a more human and enjoyable work atmosphere for the software developers. The author takes great pains to point out that each agile system has its strengths and weaknesses. In addition, not software projects will benefit from an agile approach. In cases where an agile development environment would be beneficial, Jim Highsmith provides an excellent resource for choosing from among the various options available.







