Agile development relies on close cooperation and collaboration between all team members and stakeholders.
Agile development principles include keeping requirements and documentation lightweight, and acknowledging that change is a normal and acceptable reality in software development.
This makes close collaboration particularly important to clarify requirements just-in-time and to keep all team members (including the product owner) ‘on the same page’ throughout the development.
You certainly can’t do away with a big spec up-front *and* not have close collaboration. You need one of them that’s for sure. And for so many situations the latter can be more effective and is so much more rewarding for all involved!
In situations where there is or has been tension between the development team and business people, bringing everyone close in an agile development approach is akin to a boxer keeping close to his opponent, so he can’t throw the big punch! :-)
But unlike boxing, the project/product team is working towards a shared goal, creating better teamwork, fostering team spirit, and building stronger, more cooperative relationships.
There are many reasons to consider the adoption of agile development, and in the near future I’m going to outline “10 good reasons to go agile” and explain some of the key business benefits of an agile approach.
If business engagement is an issue for you, that’s one good reason to go agile you shouldn’t ignore.