The goal of any project is to produce the best possible results at the minimal possible costs, while releasing early enough. Agile processes strive towards both maximizing the value produced and minimizing the amount of wasted effort.
Typical agile process ways of minimizing the wasted effort
- Do exactly what is most important to the customer now and nothing else. Requirements and the project requirement change. It is the fact proven million of times. Therefore too detailed requirements engineering and heavy upfront design are in the best case a big pack of wasted customer money. In the worst case they can result in a product perfectly conforming to the original specification, but useless at the moment of the release.
- Less temporary artifacts, more verifiable results. Waterfall-oriented processes focus a lot on documented artifacts like requirement and test specifications, design documents, etc. While this information could be useful with the elimination of a big upfront design there is less need in producing long documents. The less time is spent on writing documents, the more could be spent on both coding and results verification. Agile processes use automated tests and demos as the specification replacements whenever possible.
Does your current project produce anything that nobody is going to use? Do you try to identify such issues?
Bookmark/Search this post with:
Comments
Post new comment