Outsourcing an IT project saves you money and it gives you a better product. But when you think about outsourcing several issues comes to mind. Here we will show you how to overcome that.

Here is a case study of just such a case, a feel-good story about a company that has a great product and took the step to outsourcing. We will show you what questions they had regarding outsourcing and how they overcame that.

First of all, keep in mind that outsourcing saves money and builds a better product than inhouse development. But you need to be a bit careful. This is the main message in this case study.

Question

How does a remote, long term collaboration work? What problems can occur, what do you have to plan for? Lets first state the obvious, today’s world is:

Global! There are no real borders, the only borders you can see are the ones you can find on a map

There are no real borders, the only borders you can see are the ones you can find on a map Fast! Talking to someone from the other side of the globe might have a delay, but you won’t notice it

Talking to someone from the other side of the globe might have a delay, but you won’t notice it Lazy! How many times have you sent an email to someone sitting 10 feet away

How many times have you sent an email to someone sitting 10 feet away Smart! Information is only a click away, and even better information about how to interpret information is also a click away

We all know this, but it still scares us. Keep this in mind, we will get back to this.

Situation

Many years ago we spoke to the good people at H2OLabcheck. They were running a great business making sure peoples water was safe to drink, safe to use in the fields and save to give to cattle. The idea was simple, instead of someone going to your home or farm, taking a sample, going back to the lab, run the test and then give you the result, why not speed it up by letting you do part of the job yourself, you will save time and money.

So it goes like this:

Order a test kit Get a sample bottle by mail Take the sample Send it back in the package that came with your test kit Get the result electronically

Simple, right?

Well, it is for the user, but not for H2OLabcheck. There is a lot of moving parts behind this very simple solution, access to several labs, making sure that items get shipped and analysed on time (simple sunlight taints the sample). So you can imagine that H2OLabcheck was concerned about handling everything in the backend. That’s when we started to talk to them.

Challenge

After we had met with H2OLabcheck a couple of times, the IT solution was mapped out. It was a complex solution, not brain surgery, but complex. Now step into the shoes of H2OLabcheck, what would you be worried about?

Well, H2OLabcheck had these concerns:

Different time zones, no good

Its remote, who can I yell at when things go wrong

How do I know who is doing what

The productivity will not be as high as I expect

Teamwork, will that go out the window

Different company cultures, will be hard to match

Sooner or later, communication will fail and this project will bomb

As you can see, the real concerns were not about the technical abilities, that’s actually pretty easy to show. Technology is something solid, something that can be determined right or wrong. Take for example response time for a webpage, more or less than one second?

If your specs says <1 sec, and the result is <1 sec. The answer is “OK”. Simple, right?

With the soft values, this is much harder. You literally have to look into the future to be able to answer that correctly. So, how do we solve that?

Solution

Unfortunately, there is no solution that fits all. So how did we solve these issues? Basically with baby steps, and lots of planning.

You can use the tips you get here as a template, but remember, what works for you might not work for others, so be careful, think, plan and you will be successful.

Before you even begin to plan, make sure you know each other on a personal level. It will make wonders with your relationship later on, you don’t have to go dancing together, but make sure you know at least something about the other part.

So let’s start planning, let's begin with the end of the relationship. This might seem a little bit strange, but it’s really good. During the project there will always be thoughts if you are a good match, make sure that you have a plan for how to dissolve your relationship. Put it in writing. It doesn’t have to be advanced, just so you know what to do. For example, who owns the product? How will that party get that property? How long in advance do either party have to give notice? Just give it a think, write it down and make sure that everyone agrees. This will give you peace of mind, and you can plan for the rest. So let’s continue.

Now we are at the beginning of the project, so what do we need to plan for. Here is what we did (you have to add your own ideas to this).

Repeating tasks

Biweekly meetings (can be weekly after we are on track)

Every meeting should contain these agenda items

Go through what happened since the last meeting

What will happen until the next meeting

What changes have been done to the long term plan

Does anyone have any ideas on how to improve the work

How much resources have been spent, are we on track

Does everyone agree on the next steps

The Project

So now we have both a long term plan and also planned for the repetitive tasks. So what happened with H2OLabcheck’s project? It started out well, we planned for the long run, several steps, moved on to the MVP, test release, evaluate and then move on to part two of the project.

In this case, everything went very smooth until the evaluation of the MVP. After the MVP was released, a small number of customers tried the solution and requested changes to the UI. After that we needed to change the planning for the rest, since more functionality would be added in several steps, we also needed to add a step where we tested the UI before release. Lesson learned. So why did we make this mistake? Both we and H2OLabcheck tested the UI, we agreed that it was good so we didn’t need to test it. If we had not planned properly, where everyone was involved in the planning and approving of the tasks, this could have been a blame game. Nobody wants a blame game, but it’s so easy to slide into. So do your planning, and when things come up (they always do) you are prepared.

Things moved on, the parties were happy, there were snags here and there, some examples:

Staff was exchanged (people do leave their jobs, new ones come in) but since everyone was involved in the different steps of the project, all knowledge was retained

New specs (this also always happens), this can surely put a dent in a relationship, when introducing new functionality, planning needs to be done all over, estimates have to be done again and so on. So plan for changes, if new functionality is not critical, allow them to be added only after a major step is taken

Bugs (we don’t want them, but they will be there), make sure you a lot time and budget for this). Make sure you list what will happen when bugs occur, who is responsible, is anyone responsible or is this part of the project?

All in all, this project was a success, we worked together for the duration of the project, we have continued to work together after the initial project was finished and everything is hunky dory.

And H2OLabcheck ? Check this out:

Conclusion

Outsourcing works, but (there is always a but), you have to plan, you have to be humble and you have to build trust.

There are two parties involved and lots of people, listen to each other, understand that the other part has something to bring to the table. When you are wrong, understand that it’s nothing personal, it happens, don’t hide it, embrace it, learn from it.

Try to view this journey as something that you are doing with new friends. Hope for the best, plan for the worst.