Our overall philosophy can be summed up by:
Manage the Risk.
As you likely know, there are two significant risks in software development;
- Not getting it done on time.
- Building the wrong thing.
Many organizations take the approach of postponing doing anything until everyone agrees on what’s desired. The problem with this approach is that it tends to guarantee the first risk: not delivering anything.