Identifying
failures, in terms of "it isn't working", is usually
quite easy, however "drilling down" to the specific
cause of the problem requires a detailed knowledge of how
all of the elements of your system interact. Knowing exactly
what isn't working is often, but not always, a prerequisite
of an efficient solution.
To
my mind , it is no less a failure if your system hasn't been
designed to do "something", that would save you
money.
Sometimes,
the cause of this is budgetry constraints, but that is only
true when the capability has been proposed and declined.
Many
times, clients haven't been given the opportunity to decline.
Then the failure is clearly the consultants.