KR5 Consulting - Business Technology Consulting

Growth: Five Outsource Software Development Pitfalls

Why do leaders look to outsource software development as part of their business growth plan? Partly it’s because developing their own software can propel growth and create value that’s hard for others to copy. But the business may not have all the skills or people to make it happen and need outside help.

As your business grows your systems need to grow too. Often an “Off the peg” solution won’t be right for you and you’ll need something that better meets your needs. And that’s when you might consider outside help to develop a software app.

However, there’s a risk of failure if you don’t know about the pitfalls. Not only is there a worry about wasted time, money, and effort, it’s the delays to the changes needed for growth. And when things do go wrong, it’s not only the lost project time: Recovering from failure takes time too.

In this article we look at five pitfalls you can avoid so you can be more successful. But before we cover that, let’s look at why you’d outsource software development and the pros and cons.

Many struggle with getting the best of out of technology. Our guide, Business Technology: Essential Guide to Best Use, will help you create a robust process to ensure your new tech achieves your aims.

Why Outsource Software Development?

Although cost saving is the main reason given for $66 billion spent globally on IT Outsourcing in 2019, it’s only part of the picture. For smaller businesses, not having internal skills or resources creates a need to seek outside help. It may not make sense to build up a dev team for a short project. Apart from the cost, it takes time to hire and get their team up and running.

Outsourcing Software Development Pros and Cons

The pros of outsourcing software development include:

  • Immediate access to skills needed.
  • The value-add from the partner’s structures, methods, and controls.
  • Avoiding lost time and expense getting into something that’s not part of your core business.

In contrast, the cons include:

  • Less control over the quality, timings and how it’s done.
  • The effort to manage the work.
  • Your ideas leaked to help a competitor.

Outsource software development: Five Pitfalls to Avoid

Here are five pitfalls to avoid when you outsource software development.

Pitfall One: Partner Misfit

The worst pitfall is when you have a partner that’s not a good fit. If there’s a good fit, then between you, you can work things out. However, when there’s a misfit you must either walk away or buy in missing skills. Two key areas are your relationship and any skill gaps.

If the relationship doesn’t work, you may need to walk away. When you outsource software development it’s really about collaboration. In other words, you need to get on. Therefore, at the very outset, you’re looking for shared values, culture, and people with whom you can work. Both parties need to have effective communication, trust, and a fair amount of give and take. And trust is important if you want to protect your ideas from leaking out and being used elsewhere.

Skills gaps could undermine your efforts. Software is complex, and you’ll need a range of skills. For example, skills to:

  • Create goals and objectives.
  • Gather requirements.
  • Design the solution and user experience.
  • Manage work to ensure that everything stays on track.
  • Build the software.
  • Automate tests for rapid iterations.
  • Assure quality.
  • Create documentation for code maintenance.
  • Support and fix issues as they arise.

Between you and the supplier, you’ll need these skills. You can use the above as a checklist to make sure there are no gaps. Obviously, these will vary for each project. But if you don’t know what’s needed, it’s easy to overlook gaps that might be significant.

Pitfall Two: Vague Outcomes

Poor results are certain if you’re not specific about your needs. Your needs start with clear goals and objectives. But when you outsource software development, you’ll need to get into the details too.

For example:

  • Is there a detailed specification that your partner is working to?
  • Are there standards for the user experience?
  • How will it fit in with existing technology in your business?
  • What standards will the partner follow for code quality and documentation?

You can’t always nail down what you need from the start. Sometimes, it comes out as part of the process. If you try and nail it all down from the beginning, there’s a danger of over engineering or missing better approaches that emerge during the course of the work. If discovery is part of the process, then that needs to be clear upfront too. Back to the need for a good relationship and communication skills!

Pitfall Three: Losing Control of the Process

If you don’t want your partner to do their own thing, you’ll need to control the process when you outsource software development. The real villain is assumptions. The partner thinks they know what’s needed and go off and deliver something based on their assumptions (or don’t validate your assumptions). If assumptions are wrong, then you’ll pay the price. This can be partly avoided by agreeing clear outcomes and by agreeing the process upfront.

Once the process is agreed it is important to identify places where you can check in. For example, you can review the design such as wireframes and early versions. If it’s an agile team, they’ll be able to regularly showcase progress.

Pitfall Four: Not Planning for Change

You may not meet your desired business outcome if you can’t make changes. When you outsource software development, you’ll need a process to make changes. That’s because you may not know exactly what you need from the start. Furthermore, you can make assumptions that you only discover are wrong during development. There are two things to consider: What’s the process for making changes, and how are changes managed commercially.

You’ll want to agree a method for making changes. If you don’t have your own system, the simplest is to use the partner’s process. Often, you’ll be able to be able to make requests directly into their tracking system and monitor progress. For example, most systems will send an email alert when there’s a change in status.

Changes will increase the work for the partner, so you’ll need to agree who pays for what at the outset. Typically, they fix bugs at no additional cost. Other changes may incur additional cost. It’s best to agree how they’re estimated and approved before you start work with your partner.

Pitfall Five: Lack of Checks and Balances

You’ll not know if you’ve got what you wanted if it’s not measured. Also, if it’s measured, the partner is more likely to deliver against that criteria. I’ve seen apps that appear to work in a demo, but actually it’s like following a tape through a minefield: As soon as you deviate from the path, it blows up. I’ve also seen an outsourced development scrapped after 18 months because the design didn’t allow for change. Therefore, as a minimum you’ll need checks and balances around the design, code quality and tests.

Summary

You can fuel growth by making more of your strengths with custom technology. But unless you’re a technology business, you may not have the skills and resources to pull it off. Therefore, leaders can look to outsource software development as a way to achieve their objectives.

Delivering a custom software solution can propel growth but comes with its own risks. Being clear about what you want and the process to achieve it will increase your chance of success.