Or is there something more?
Specifications are important. We need written accountability and a common reference. But building to a specification can still fail to deliver success.
Why is this?
Perhaps it is because a written specification can never contain the fullness of what is desired or needed by real people.
If this was the only issue, we simply need a better specification.
But perfection is impossible, and people are inherently complex. So an approach based on eliminating errors (making the perfect specification) is an impossible task.
The polar approach to error minimisation to accept errors. To seek to amplify the goodness of those things that lie outside of the specification, and the underlying values that motivated the specification.
Something like:
- Encouraging creativity and change.
- Delighting in the beauty inherent in deviations.
- Enhancing the effect of changes enforced by restriction.
This approach wouldn't deliver a perfect product. It might just deliver something successful though.