Step 1 – Choose the smallest tasks possible. Can you see them through in-house?
It can be either a small internal project or an external one. The crucial aspect to take notice of is that it cannot be a task with an upcoming deadline. That way — just in case things go wrong — you will be able to accomplish it on time.
Now, if you do not want to do this in-house, you can ask your friends, your friend’s friends, or even contact freelancers on UpWork. However, if you feel — or know — that you will have more such tasks in coming weeks, you might already consider testing out a variety of software houses.
Assign them a couple of small projects. See how they perform while juggling multiple responsibilities. See if your project manager can keep up with the updates.
Moreover, you can do that with several software houses at the same time. You will burn through some of the resources, but will save much more in the long run.
Step 2 – Choose your preferred solution. Will it be the software house?
Both the freelancers and your friend’s friends seem well enough. They do cool, wonderful things, and they all seem to care.
But what happens when you feel will come with yet another project that needs to be accomplished at the same time? Will your freelancer have the capacity to deliver on the deadline? Will he outsource a part of his work to an entity you do not know nor are aware of? Or will he just fail despite the best efforts?
At this stage, it is much safer to go with a software house that has experience working for global brands. More often than not, the right partner will cost around the same as top UpWork freelancers. The price might be a bit steeper — it will not be mind-boggling, though. The advantages far outweigh the risks here.
How to proceed? How to choose the software house that will become your technical partner?
Some time ago, my friend Antoni wrote an amazing article about software house vetting process. That should be your go-to resource. A shortlist for all busy people:
- Research software agencies that have both the capacity and the technological background to do what you need
- Compare portfolios
- Research their reputation online
- Speak with their clients
- Gauge their business interests
- Conclude a technical interview
- Make sure you have a direct access to the team
- Ask about Quality Assurance
- Determine if the agency will scale with you
- Check if they would bend their rules for you
Step 3 – Run the small test project with a software house
Now, run the small project you’ve picked at point one. Overcommunicate with the software agency. Ask too many questions. Make sure all of them are answered.
Brace yourself: most of the companies, unfortunately, will not provide you with the quality work that you and your brand are all about. For some of the entities out there, software development outsourcing is just a way of making a quick buck. They do not invest in their brand themselves, so how could you expect them to invest in yours?
But worry not. You did just run a small project with no looming deadline. In case the software house fails to deliver proper results, the consequences will not be severe. The next step is to assess what went wrong and either try again with the same firm or choose a different agency.
I know you’ve also conducted a technical interview and asked the agency about quality assurance. The project seems to work as intended, and it’s even fast. However, how could you know if the code underneath is of good quality and will scale if needed?
You can use your in-house technical staff to do a code review of the first two projects to make sure the software house is utilizing a good architecture, proper design patterns, and conventions. It will take some of your team’s time, but still less (especially long-term) than doing the entire project internally. If you have no technical team at all, you could use a trusted external contractor to review the code pushed by the software house. Code review like that will allow you to make sure that the project looks good not only from the outside, but is also created on solid architecture and will serve its needs for a long time and scale if needed.
If everything goes right this time, proceed to a Step 4. If not, rinse and repeat.
Step 4 – Engage with slightly bigger engagements, but do not commit yet!
Do not be tempted to directly jump into the deep waters. Take it slowly, step by step. An agency might to its best to deliver perfect results with the pilot project, and then fail with the second one. It is a simple mindset: we landed a client. Now, we can rest. This is a losing attitude, and not only in business. You do not stop working on your relationship after the first month with your girlfriend or boyfriend, do you?
Increase the scope of work with each project. Your relationship with the extended team grows, you create a bond between each other, the communication is easier. You take on bigger and bigger challenges each month.
Step 5 – Re-sell. Iterate, increase your company’s knowledge and technical capacity, add new areas to your service line. Stay relevant!
Chances are, you might have expected some magic at this point. There is none. You need to continue repeating the previous step.
Sometime between a month and a year depending on the scope of work, you will begin to notice that technical knowledge in your team is constantly rising. Your people feel more confident in regard to tech-based projects. At this point, you fell that you and your technical partners can conquer the world together.
What About Us?