When to outsource bespoke software development

Posted by Ian Hight on Jul 25, 2016 9:54:11 AM

Topics: Development integration & analytics

By Albert VanderplankeOutsource bespoke software development

In my articles to date I have been examining the issues around legacy modernisation and in this article I examine how a project to modernise business systems might be resourced. As the issues are the same for any bespoke software development project I will use that more generic term as I discuss the pros and cons of outsourcing.

What business are you in?
One of the first issues that arises is what business are you in? For a manufacturer, a retailer, a district council their business is not primarily IT. Saying that, management policy may dictate that all corporate services are managed and executed by in-house resources. 

Another organisation may have the view that what is not core business can (and should) be outsourced, enabling the organisation to ‘stick to its knitting’. And yet other businesses may use a hybrid, outsourcing services as and when specific needs arise and when the business case justifies it.

Nowadays, few organisations have their own cleaners, caterers, web designers, recruitment consultants or any number of non-strategic job functions. The key word here is strategic: such functions, it is felt, are too sensitive or critical to business success to have any external involvement in them. But, again, more and more organisations believe that if the in-house project planning, management and accountability are owned and resource in-house then the ‘doing’ resources can be contracted for very specific tasks.

Information technology projects have often traditionally fallen into the ‘strategic’ category which has led to the build-up of skilled in-house software development teams busily implementing, integrating and modernising IT systems and applications. But with today’s mantra of ‘doing more with less’, outsourcing is becoming increasingly common as an organisational policy. What are the reasons for this shift and what are the benefits?

Why outsource?
There is no doubt that pressure on IT budgets is causing IT management to examine every area of spend and look for ways to economise, but without losing vital services or affecting performance of key business functions.

More and more organisations are making the business case to outsource much if not almost all IT services to external partners, from application development to the entire server, storage, networking and communications infrastructures. Facilities management and managed services providers, whose core business is managing infrastructure in-house or hosting it at off-site data centres, have achieved economies of scale by making such services their core business.

Similarly with outsourcing software development: specialist agencies generally have the resources, the up-to-date skills, and the experience to enable them to execute projects faster and a lower-cost than internal teams. In addition, only major corporates can maintain skills in all areas of development that the business may need. Others have to go out into the market to find those resources, which is time-consuming, and they may only be needed the once, if the project is a specialised one.

As agencies already have the skills in place they can begin work on the project faster and so meet tight timetables. With their experience they should be more efficiency in their work practices versus an in-house team that may be undertaking this work for the first time and working to an in-house standard as opposed to best practice.

They are also likely to have more capacity to deliver this is a shorter timeframe and have the high-level skills needed, such as Business Analyst (BA). At the wrap-up of the project the development costs end (though maintenance will still be required though this is a cost whether in-house or outsourced).

What are the potential objections?
The major objection to outsourcing application development is that of a perceived lack of control. I use the word ‘perceived’ because there are well-established project management disciplines which can give an in-house project manager assurance that they are in control of the project. Much of this comes down to good communication between the parties to ensures both have the same understanding of the project status, at all times.

Outsourcing agencies will come with a project management structure and reporting processes which the business can adapt and use. In fact, outsourcing enables the in-house project manager to focus on the outcomes rather than all the inputs (the project resources). This frees up time to potentially launch more such projects for the business.

Overall, more and more businesses are moving to outsourcing models (from cloud offerings to off-the-shelf solutions to install in-house) because time and resources are becoming scarcer. Outsourcing bespoke software development is another of those models that is now making more and more sense in our industry.