To outsource or not to outsource? A question that troubles many executives. Outsourcing has been meant to be yet another business strategy that aims at improving efficiencies, cutting costs, accelerating product development by shifting resources otherwise spread on various activities to focus on the organization’s core competencies. On the global business arena, outsourcing has helped companies deal with some of the negative consequences of globalization, such as increased competition and shrinkage of profits and margins. Just like any other business strategy, however, when used inadequately, outsourcing can quickly turn into a bad strategy damaging customer loyalty and employee morale, disintegrating the business value chain and lowering the barriers to entry for new competitors. (The unintended consequences of outsourcing, Forbes)
In the world of software development outsourcing, things don’t look very different. All too often, in a rush to present quick results from their modernization and digital transformation efforts, CIOs and CTOs resort to using software development outsourcing companies without doing their due diligence in advance. Today, cheap software development outsourcing most certainly comes at the expense of quality, future-readiness, security, solution brittleness, and so on. (Don’t rush into outsourcing software development, CIO)
So how do YOU feel when you hear the word “outsourcing”? We get a cold sweat and shivers up and down our spines. Jokes aside, we feel strongly against it. It’s not uncommon for organizations that have plunged into outsourcing software development, to feel like a cash cow, pouring resources into a black hole, never to see the results of it. The main goal of many outsourcing companies is to keep the cash flowing and customers coming. They do not care about the long-term success of their customers, as they are not motivated to do so. The negative reputation of outsourcing is not just the result of bad publicity. Software development outsourcing has helped lots of businesses go out of business in their effort to cut costs and achieve results faster. As the saying goes, when there’s smoke, there’s fire.
A few reasons why:
- Lack of proper due diligence: there’s loads of advice on the internet on how to select a software development outsourcing company yet often companies rush into signing a contract after a couple of calls with the outsourcing services provider and mostly based on the price quoted. Which leads us to:
- Cost-driven development: when you are responsible and accountable for the financial performance of your business unit, cost optimization is always at the back of your mind. Now take this responsibility and spread it across business units to encompass the performance of the entire company: this is what the C level has to carry on their shoulders. It’s not surprising then that some CIOs/CTOs get lured into the trap of low-cost software development outsourcing. Cheap is expensive, however, period. Cheap outsourcing means low-paid inexperienced engineers get assigned to your project. Not only are they lacking the practice and skill set to see the big picture, but they probably are uninterested and unmotivated to do so, too.
- Lack of transparency and communication: all too often, once the contract is signed, the customer transfers control over the project to the outsourcing company and all correspondence and teamwork end here. The organization has little or no insight into the development process.
- When the outsourcing company is a dev sweatshop where software engineers come and go on a daily basis, the employee attrition rate is sky-rocketing, and there’s no proper culture in place, one cannot expect to gain a long-term partner who cares about the success of their customer.
Yet, IT spending on outsourced development and IT services is on the rise.
Global IT spending is projected to total $3.8 trillion in 2019, an increase of 3.2% from expected spending of $3.7 trillion in 2018, according to the latest forecast by Gartner.
|Data Center |
Source: Gartner (October 2018)
As seen in the above table, IT services will make a significant amount of the IT spending in 2019. In a recent Gartner study, 46% of organizations indicated that IT services and provider consolidation was in their top three most-effective cost-optimization approaches.
Furthermore, the growing number of software development languages and platforms (as seen in the results of last year’s StackOverflow developer survey), as well as the disruption caused by emerging new technologies such as Blockchain, cybersecurity and AI, demand that if organizations want to remain competitive, their engineering talent should acquire a wide range of new skills immediately. New trends place a significant emphasis on low code development, quality and cybersecurity, and press organizations to follow suit to stay in business.
The nature of outsourcing should change
The days of the low-cost development sweatshops are counted as more and more organizations realize they need a long-term value-driven relationship with their professional services provider rather than XXX lines of code. While organizations shift their focus from reducing costs and optimizing their resources to “big picture” thinking, knowledge and skillset building, professional services companies on the other end should be prepared to start sharing the responsibility for the success of their customers in the long run, too.
- Less about cutting costs, more about acquiring knowledge and skills
In an age in which organizations are on a sprint to modernize and transform to stay in business and gain a competitive edge, cost is no longer the deciding factor when selecting an external software development services partner. Rather, companies are looking for a trustworthy thought leader who is capable of understanding their core business operations, a provider who’s ready to share risks and responsibility for their customer’s success.
- Continuous communication and process transparency rather than a quick project hand-off
As software development practices and methodologies such as Agile and DevOps get increasingly adopted by organizations, it becomes clear that the old model of handing off the project to the outsourcing company once the contract is signed and checking on the results a few months later can no longer work (not that it ever has). The professional services provider’s team should be able to easily complement the internal team dedicated to the project, enhancing the latter’s knowledge, skill set, and capacity.
Teams on both sides should establish proper communication channels before starting work on a project. Collaboration through regular meetings, calls, code reviews, and feedback is of utmost importance for success. To achieve progress, communication should be clear and consistent. The approval process should be outlined and agreed upon in advance.
- Holistic approach rather than providing narrow dev expertise only
Today, software development consultancies should be able to offer a little more than just knowledge and experience in certain development languages and platforms. To take an active part in the long-term success of their clients, consultancies should get the big picture, too: understand the business processes, the industry the customer operates in, what are the key drivers for boosting competitiveness and gaining an edge. They should be able to provide guidance and improve the in-house development processes and practices employed, take into account inter-complexity between systems and applications, ensuring the new project’s architecture and code are scalable and maintainable.
- Fit in culture and corporate values
Management is almost never inclined to accredit a project failure to a cultural misfit. Yet it is clear that two organizations that instill very different values among employees are unlikely to find a common language. To keep an open, transparent and continuous collaboration and communication between two distributed teams, their organizational culture should support and value the individual contribution, the freedom to express an opinion, the ability to make decisions and ask questions. Customers should be able to trust and value their provider’s team as much as they trust and value their own internal one. Both teams should use the same tools and platforms for communication and project management, code repository and bug tracking, pair programming, and so on.
It is clear that the old concept of outsourcing software development by hiring an external company, handing off the project and forgetting all about it, has to go. In times, when there’s a clear shortage of engineering talent and the number of development platforms and languages is staggering, to achieve success, organizations should carefully pick a trustworthy partner who’s ready to share the risks and responsibilities along the way. A partner who’s committed to understanding the customer requirements and the ecosystem they operate in, prepared to custom-craft solutions to better meet the business goals. A partner who’s able to offer integrity, honesty and results.
We at Resolute Software operate at the intersection of commitment to customer success, innovation, and engineering excellence by building robust, future-proof software applications that solve real business challenges.