3 Reasons To Insource vs. Outsource
Ben McLendon
VP of IT | Championing Business Growth & Operational Efficiency through Strategic Technological Innovation
You can credit the political forces of the left or the right, the predictable cyclic nature of business in general, or some higher power. But the evidence is clear, the economy is booming here in the US. Well, what does that have to do with insourcing vs. outsourcing or more specifically with software development.
Outsourcing, Contractors, and Consultants
As the economy grows businesses struggle to retain FTEs in critical roles. The pressure on HR departments to hire, retain, and rehire for these difficult to fill positions is very real. Leaders and managers need the work done yesterday. To fill the slot as quickly as possible, many organizations lean heavily on outside resources to get the work done. As recently identified by Elon Musk during his 2018 Q1 conference call:
The number of third-party contracting companies that we’re using has really gotten out of control, so we’re going to scrub the barnacles on that front. It’s pretty crazy. We’ve got barnacles on barnacles. So there’s going to be a lot of barnacle removal.
While this may be an extreme example, it illustrates an important point that I've seen play out many times. There's huge amounts of overhead in these external resources. The combination of excessive project management and disengaged contract labor drives the cost through the roof. Layer on communication failures and you get repeated rework, delays and more cost overruns.
All innovative modern businesses are in the software business
Regardless of which industry your core business is in, if you are truly innovating and leading the charge on digital transformation, you must also be in the software business. In spite of all of the "verticals" software companies build for our industries, there's always gaps. I've spent quite a few years in a number of complex industries, all of which lean heavily on these vertically integrated software solutions. In every case, we struggled to digitally transform all of our critical processes. From notepads to paper forms on 4 part NCR paper, there' always some aspect of the business that continues to live outside of the digital ream.
Why Insourced Software Development
Here are the three key reasons:
- Internal Expertise
- Pace of Change
- Vested Interest
These three measures are almost completely lost in an outsourced or consulting engagement, but they are the most important aspects of realizing value from your internal software development efforts. A direct connection between your internal industry experts and your internal software development team results in finely tuned software tools that very closely follow your real world processes. Additionally, the close connection between these critical stakeholders also results in a tight feedback loop that results in a rapid pace of change that keeps the real world and the digital world aligned. And finally, with great vision, thoughtful leadership, and positive organizational culture, the members of these two seemingly disparate teams will bond through their combined desire to succeed in spite of differences or occasional failures.
I'm extremely fortunate to work for an organization that completely and genuinely embraces: "Vision", "Leadership", and "Culture". If you take your organization to that place, you too can hire and retain the human resources required to insource your software development and exceed your digital transformation goals.
HR Director at RISE: A Real Estate Company
6 年Great article Ben. We have some great insourcing capabilities on our team. I see this in your work often. ??
Programmer Analyst at Packaging Corporation of America
6 年I can identify with a lot of this. I was once an outsourced developer and was absorbed by my biggest client. My role now is now more broad than pure development, but the need is still there. So I'm now testing the waters with outsourcing to a third party. I am defining the requirements and responsible for incorporating all new code into the build. We have a shared repository and it seems to be a good fit so far. Having development and database expertise as a core competency is important for any organization, but I think it can be effectively extended and enhanced if you can find a good team to outsource large projects to. However, it is still your responsibility to know the code and be able to support it.