Unfortunately, I had to find that the model used in many companies still has issues with this. There are different SDLCs to pick from. For an organisation unfamiliar with such methods, a waterfall approach (approve every stage before moving on) is certainly a good starting point. Generating a more professional delivery organisation will certainly require the definition of a more complex approach, in which multiple work streams can be processed in parallel. This concludes in an increased management complexity.
The second step was to formulate and publish key technical standards (eventually in the form of a wiki) explaining or referencing configuration/source code, giving the execution teams a map of how to apply standards. This can be developed together. However, it takes an experienced and hands-on technical architect to ensure an appropriate quality at this stage.
The third step is to implement a quality assurance approach. This is not only a source code or configuration review approach, but also a question of which automated tools and processes should be used. In terms of source code reviews and governance tools, there are some open-source choices (CheckStyle, PMD) or excellent commercial choices (WebLayers).
More importantly, processes and a review mechanism of the architecture and deliverables in general also need to be considered. Spot reviews of architecture and source code reviews are complementing the automatic approach (full manual source code reviews are too labour-intensive in larger applications). The quality assurance aspects should also be implemented in the master services agreements, to ensure service providers are incented.
These steps apply through the life cycle and are involving business departments, IT, and the vendor, as part of the process. It is not a question of investment or assigning larger teams, but a question of having properly skilled people.
In my view, a company which wants to outsource or offshore requires a set of delivery-experienced managers. The kind of people, who dont take no for an answer, but have a realistic view of what it takes to deliver systems and understand how to deep dive. Functional experts, with a sound understanding of processes and functionality, and of course, trusted technical advisers applying some of the principles from above. The key is to be able to question and conduct dialogues with service providers on all layers and this happens all too seldom.
However, on many occasions, organisations are just focusing on the business decision to outsource and offshore without taking the above-mentioned points into consideration. At a later stage, those companies find faults in their operationbe it the quality of IT operations, cost or time to market for new products, or all three.
Sign up for Computerworld eNewsletters.