Onshore Software Supplier

Project Manager at a card wallSoftwire provides an onshore software development outsourcing service for UK customers. However, offshore software development outsourcing has become popular in recent years, initially to countries such as India and more recently to Eastern Europe and the Far East. These countries offer cheaper daily rates than the UK and the prospect of a much reduced total development cost. But should you go offshore with your project?

The answer is – it depends…

Key Success Factors For Offshore Outsourcing

There are many horror stories about offshore software development projects going badly wrong, but also some notable successes. Our view is that for an offshore software development project to be successful the following ‘key offshoring success factors’ must all be in place.

  • The technical specification must be clear, detailed and unambiguous.
  • The project requirements (and hence the technical specification) must not change significantly during the course of the project.
  • The project must not be too complex in scope.
  • The customer must employ a capable in-house development manager to manage the project.
  • The offshore developer must have a good track record at delivering projects for UK customers, and provide references to prove it.

These key factors all arise from the single issue that communication with an offshore development company – one in a different time zone, often with quite different business practices and perhaps lacking in a good understanding of the client’s business environment – is a very difficult thing to manage well.

We believe that making such a project succeed depends upon keeping the communications simple. To look at each key offshoring success factor in turn:

  1. The technical specification has to be watertight, otherwise the offshore developer won’t know what the customer wants and will end up building the wrong solution. If the customer doesn’t have an in-house capability to create a good technical specification then it is vital to find a third party to provide some consulting expertise to assist in its creation.
  2. Change requests and feature creep during a project are difficult enough to manage when both customer and developer are in the same country and communicating effectively and frequently. When the developer is offshore and the specification is continually changing, the risk of failure goes up dramatically. And with the best will in the world, many customers find it difficult to resist changing the specification part-way through a project – especially given that business needs and priorities do change over time.
  3. The more complex a project is, the more need there will be for discussion and dialogue during the project to refine requirements, agree functionality and take design decisions. So with complex projects the technical requirements are almost guaranteed to change somewhat during the course of the project, and hence point (2) applies. The best way to avoid this is to keep the project as simple and well-defined as possible in the first place.
  4. With all of the development work being performed out of sight, it is essential for the customer to have a good in-house development manager to keep on top of the project. Their (crucial) role is to proactively identify where communication issues are occurring and take steps to resolve them quickly, before any harm is done. This requires a decisive, capable and technically knowledgeable individual who should ideally already be an employee of the customer and fully understand the business requirements (to avoid another opportunity for miscommunication). Note also that this represents a significant additional cost to the project.
  5. It can be extremely difficult to find a good offshore development partner. Quality is extremely variable and whilst there are no doubt good organisations out there, they can be hard to find amongst the sea of mediocrity. The communication issue works the other way around here – it can be very difficult to make a good judgement on whether an offshore developer is up to the job on the back of a review of their website and a couple of teleconference calls. Hence, a proven track record of delivering to the UK and some good references to back it up are extremely important.

Note that all of the potential issues raised above can also occur on software development projects outsourced to onshore developers as well. However, their effect is greatly magnified when dealing with an offshore organisation due to the inherent communication difficulties, hence the reason why we believe that all five success factors must be firmly in place before a software development project is outsourced offshore.

Even when all five key success factors are met there is still likely to be a somewhat higher risk of failure when offshoring a software development project, as compared to keeping the development work onshore. However, this risk may be offset by any cost savings made by using an offshore company. The right decision then depends upon the business case for the new software and the potential cost associated with any failure to deliver.

Benefits Of Outsourcing To Softwire

In comparison to offshore outsourcing the benefits of working with Softwire are as follows.

  1. We can provide our consultancy services to scope out and write detailed specifications for projects, where customers don’t have these skills in-house. This is in fact one of our biggest differentiating factors as an organisation – we work closely with our customers to really understand what they are trying to achieve from a business perspective, and make sure that our proposed technical solutions are both fit for purpose and cost effective in that context.
  2. We continue to work very closely with our customers throughout the project lifecycle. Therefore, we can handle change requests and even (where the commercial framework is sufficiently flexible) ‘feature creep’ during the course of the development project itself, to ensure that our customers are delivered a solution that optimally matches their changing requirements.
  3. We can deliver extremely complex projects on schedule and to budget, both because we have extremely bright staff and because our project management methodology allows for the change management that inevitably occurs when implementing such complex projects. Again, effective communication with the customer is essential in achieving this goal.
  4. We can operate as a truly autonomous development team, freeing the customer from the requirement of providing a technical development manager (and saving the associated cost). Our customers are never left in the dark because we communicate regularly, clearly and openly throughout the project.
  5. We deliver to an extremely high level of quality, and we always deliver. We provide peace of mind that, once commissioned, the required software will be delivered on time, work to specification and, importantly, meet the business requirements it was designed to address.

Summary

In our opinion, the decision over whether to outsource a software development project offshore can therefore be summarised as follows.

If all five key offshoring success factors are met, and the project is not so mission critical that a failure to deliver it would have severe consequences for the business, then the project is a candidate for offshore outsourcing. Otherwise, there are likely to be very good reasons for wanting to perform that development work onshore using a high quality, relatively local software development company - such as Softwire.