How many times have you seen a major development project turn into a major nightmare when it went into production (or at least tried)? Or even have to be completely re-written after a relatively short period of time, because it was no longer compatible with the operating environment or was not flexible enough to take advantage of a "must have" change in technology?
All too often the systems programmer is tasked with creating a “work-around” and performing “small wonders” in the production environment to correct fundamental design errors. Admittedly, this is still probably more cost effective than re-writing the application, but it would have been far more cost effective to prevent the mistakes in the first place.
Business analysts and application programmers specialise in solving the business "problem" and frequently specialise in a particular field, such as accountancy or procurement software. They are not system specialists and nor can they be expected to be. Development projects and particularly larger or crucial development projects require a "technical advisor" to evaluate and advise from a more technical or system oriented view point.
As a consultant I would much rather assist in getting it right from the beginning than describing what was wrong or why it could never work at a later stage, when it is possibly too late.
This service allows the business analysts and application programmers to concentrate on what they do best and uses the knowledge and experience of the systems programmer to help ensure that the final application will provide
Additionally the systems programmer is generally far more up to date with new functions, facilities and possibilities that the application could take advantage of. I hear applications programmers say “I didn’t know that” to me every single working day. That does not mean that they are not good programmers, but they can not be expected to know everything.