In my own experience, I had to deal with different kind of situations in terms of development teams. It turned out that while having outsourced development is fine for software applications that are not critical for your business or that have a rather slow evolution cycle (around 2-3 releases a year), it didn’t prove to be a good option for sofware applications dealing with the core business. In that case, evolution cycles that are needed are much shorter, and the problem is that as you don’t have your own people who struggle with day to day difficulties (lack of industrialisation, technical debts, etc…), you and your teams won’t be able to make a deep dive in all the problems. Even if you have IT architects, projects managers… as a “front line” in your teams to manage your oustsourcing contractor, you won’t have the expertise needed to be in control of your systems because your own people won’t really put their hands on the code itself. On the contractor’s side, even though they may try to address the difficulties, they won’t feel the problems with their guts, and at the end of the day, they’ll still receive their check. People working on the contractor’s side will clearly not have the same committment than internal people at your company and will not own your vision / strategy as internal staff will, making it more difficult to translate it into right execution.
Information systems serving the core business should be mastered in-house, with internal IT staff developing and maintaining these systems. Because if you want to leverage your IT and create value, innovate in your business such as your pure digital competitors, you need people who will be engaged, committed to the goals of your company and who completely take part in the strategy. And that can only happens with people who work in your company and share its values. Of course, it doesn’t prevent you to have in-house contractors along with your internal staff. Actually, having a good ratio between internal staff and in-house contractors may be valuable as contractors also bring with them external expertise seen in different situations that can also help your staff to improve / renew themselves. From my experience, a good ratio may somewhere be around “2/3 internal staff, 1/3 in-house contractors” to “80 / 20”.
As a whole, mastering internally your IT operating your core business seems to me a strategic choice. Of course, from time to time, you may outsource a whole IT project for tactical reasons (temporary difficulty to scale up internally, etc…) but by keeping in mind what will be your next steps. It goes without saying but I will say it anyway, of course you need to know what your core business is. If you take the example of Amazon, you may for example consider that their logistics system is part of their core business because it is critical for their operations and for their customers’ satisfaction (you’re sure to get delivered even at last minute).
Often, a SaaS (Software as a Service) approach may be relevant, everything being managed externally by the software provider and you pay the use of the tools by your employees. No wonder that Salesforce continues to witness a double digit growth in income in 2016, or that SAP is focusing its efforts on its cloud solutions (13% of its income in 2015). In this context, where IT is not operating your core business, I would say that outsourcing it with SaaS solutions would be a way to go.
To come back to the IT operating your core business. You may have noticed that I’ve been talking mainly about outsourcing or having in-house people so far. To go a bit further, some other questions that will rise around your core business software applications are: should you use software packages from editors or make specific development? Should you master in-house the hosting of your applications or not, etc…? Of course, there is no straight answer, all the more that existing companies already have existing legacy IT systems with their specificities. But if you read Episode 0, you remember that new-born startups fully take advantage of opensource, cloud, specific development fitted to customers’ need with very fast TTM, etc… In a way or another, when talking about the information system which motorizes the core business, I think that companies should think with their enterprise architects on a path that includes progressive adoption of opensource tools, specific development, IT skills who can master the chain from development to operations, etc… to match with their more agile competitors.
Thanks for reading this episode 1 of “Digital Shift and Accelerated Disruption”, next episode coming soon!