When I started my IT career it was normal for internal IT staff to build and maintain business applications.
At Esso UK it was standard practice for new graduates to begin their careers in support, so that they learnt the issues that arose from poorly coded and badly documented systems before they were let loose on building new ones.
After this they progressed to development, and went through plenty of training in structured approaches to project management, systems design and coding.
Eventually those inclined that way proceeded in their careers to supervisory and management positions.
By the time they made it to team leader they had a solid grounding in the skills needed for application development and support.
This meant that they were in a good position to manage contractors and consultants since the latter were unable to pull the wool over the eyes of supervisors who knew what was needed.
In the 1990s this progression was disrupted by the management trend for outsourcing.
In their wisdom, senior management decided that IT was not core business and so it made sense just to sub-contract the business out to other companies.
The reasoning was that applications could just be bought off the shelf, so that the application development skillset was no longer needed.
Whole industries were transformed as computer consulting firms bulked up into ‘systems integrators’.
India in particular was quick to take advantage of this trend, and nimble companies grew rapidly by taking advantage of low labour costs and placing cheap IT resources at the disposal of European and American firms that no longer saw the need for in?house technology skills.
Indeed the move towards this model became so rapid that outsourcing houses struggled to keep up with demand, and one Bangalore consulting firm allegedly had a sign in the lobby saying “Trespassers will be hired”.
There have certainly been some benefits with this approach.
It is certainly easier for management to simply draw up service level agreements and manage contracts than go through the tricky task of building career development paths and nurturing technology talent within their own IT departments.
But just because something is easier does not mean it is always the right thing do to.
As companies have outsourced more and more functions to external suppliers, they are no longer growing the skills necessary to manage these contracts effectively.
I can recall carrying out quite tough technical interviews of contractors prior to them being hired at Esso, and regularly rejecting ones that did not come up to scratch.
How often does this happen now, and indeed who would even do these interviews?
On one occasion I recall being shocked that a trivial change request to a system that I built had been estimated by the outsourcer as taking 20 person days of effort.
I was sufficiently surprised by this when I was told about it that I made the change and tested it myself in a couple of hours. How many other change request estimates were similarly being padded by the outsourcer?
Those apparent savings made when that outsourcing contract was awarded surely didn’t stack up so well if change requests were regularly costing an order of magnitude more than if done in house.
It is noticeable that companies for whom technology is a source of real competitive advantage are much more judicious in their use of outsourcing and contractors.
Investment banks, where a superior trading or analysis system can enable them to make real money, continue to hire smart graduates and build some of their own applications.
I would argue that companies who have retained a strong technical skillset in-house are also much more likely to be able to manage suppliers effectively than ones who have long since lost these basic technical skills.
If an outsourcing contract turns sour then the only practical solution is to switch supplier since the internal staff are no more.
Moreover, those drawing up the new contract will be the same ones who struggled with the current one, so how likely is it that they will do a much better job this time around?
Software development is a long way from being plug-and-play in the way that our electricity supply is, and having the skills to actually manage IT suppliers judiciously can create dramatic savings compared to companies who just sit back.
Companies need to figure out how they are going to build the skills necessary to manage their technology, even if they no longer do everything themselves.