Now this is interesting!
With code visibility, you and your vendors become partners in trying to make something work. The vendor can’t over-promise, but you can’t over-assume either. This may be one of main hidden reasons for IT failure, the two sides of the transaction not being on the same page.
Considering the well established statistics on IT project failure have their roots in what is essentially “scope” problems of one form or another …
- you didn’t prototype to work out what was reasonable
- you didn’t prototype to work out scale and load
- … scope creep … in various forms
- budget misconceptions related to above
- time-scale problems related to above
… and so it goes …
… then this is a very good point.
Much of a good reputation in small consulting is based on “under-promise and over-deliver”. Not what the Big Firms (see recent eHealth scandal as well as every government project I’ve had the misfortune to be involved with, audit or observe) seem to practice, though.