I've been to all the levels OTS, total customization, and COTS and they all work and fail depending on if they tool fits. Most tools do not fit the requiremnts and usually create hurdles for the poor peopel that have to use them. Very often the managers and developers dont; even consult the end-user. TThen when you deploy an honestly well doen better system lots of users dont; want to change they way they've been doing things forever, they dont; want to change even if you show them that the new way is faster and easier for them and the reason is either lazyness, ignorance, or wanting to save their own jobs.