Outsourcing and insourcing


A couple of days ago I had a short conversation about a company insourcing IT systems previously outsourced. IT is like other professional environments. There are strategies changing not really for technical reasons but only because they look cool according to the fashion of the moment.

I.e.: the very first modern IT operating architecture was a monumental mainframe connected to several dumb terminals. A central empowered intelligence organized in virtual machines to serve several applications assigning dynamically computational resources (are you so old to know what MVS/VMS mean?).
After, this kind of organization, probably also due to high maintenance costs, started to appear a bit fascist and every desk has been equipped with its own workstation. It can be considered the SUN/SGI/HP anarchist golden age when every hippie owned his/her “root” password to precipitate SAs groups in the worst nightmare of IT era.
Currently, a central intelligence distributing resources to (not so, but almost) dumb terminals looks cool again. So we have rack mounted blade servers running virtual servers in a way that not differs so much from MVS mainframes.

computer-science-curriculmn

The same fashions attitude there is in IT systems software development strategies. At the beginning, every company has had its own software department, also bricks factory. Immediately it seemed inefficient  and expensive because after the development phase, usually software maintenance requires less FTEs to be performed. So, everyone started outsourcing the activity delegating the task to external software companies. This isn’t really a bad strategy. If you produce bricks, you don’t want to manage problems related to TCP/IP three way handshake. However, the basic requirement is that your company doesn’t fully depend on IT systems and you have your experts keeping external developments strictly under control. The story became really bad when also software companies started outsourcing software production. The software is a complex stuff that requires to be produced using high standards to be easily maintained. The software consulting firms need to lower the costs to be competitive and the only costs they really have are the staff costs and this cost can be only lowered taking low-skilled personnel.

For this reason, the fashion is changed and today, not all but a lot of companies that strongly depend on their IT systems are trying to insource again. In my opinion, to keep the control of the IT systems is a good strategy. To lower the cost is possible to hire high level professionals for the design/development phase associating them to an internal staff to manage maintenance phase and to preserve the control on the evolutionary process that every IT system lives.

OT: I’m going to migrate this blog and all the contents on the new percannella.com domain. I didn’t like Google blogging platform (in my opinion also Google doesn’t) and I want my contents managed by the superb WordPress CMS that I use and deeply know from several years.