Nektarios was
arguing a few days ago on the benefits of using specifications. The sad reality for this line of thinking is though at that in most projects:
- needs and thus features and thus specifications will change
- assumptions on what is important will differ
- two sides will be created: developer vs client
- estimations on time constraints will fail miserably :)
Enter Agile Development, a completely different way to approach the issue:
- customer satisfaction is the first priority
- face-to-face continuous colaboration between developers and client repesentatives
- acceptance that requirements will change, adoption of required development practices
- shorter development cycles: develop, present, test and alter more frequently
Obviously an agile approach will not work on all cases or solve all the issues (as passionate as some of it's supporters might be!). Still, you can bet that it's output will not be like the cake in the photo!
Flavor of the day:
The 25,000$ Hot Chocolate