Startup founders, small business owners, managers in medium business and even corporate representatives are trying to adapt to the new reality of the so-called gig economy regularly contracting developers outside an organization to complete certain jobs. Freelance software developers are in demand. Websites like Toptal, Upwork, or Freelancer where you can outsource programmers and engineers generate hundreds of millions dollars in revenue for their founders. This in itself proves that freelancers can add value to businesses. Otherwise the freelance market would not be so strong. But is there only good news?
You are probably just considering whether to hire a freelance web/mobile developer or an appropriate software development company instead, if you are a non-technical person yet. What do you need to take in account?
Often when talking about a company vs a freelancer, there are the following arguments in favor of a freelancer:
- The cost is lower;
- They are easier to find (just sort by the “Top Rated” in the list on the appropriate freelancer platform).
But there are also counterarguments:
- Freelance web developers may cost from $41 per hour while the cost to hire a developer from an offshore software development company such as ours, starts just from $35 per hour;
- Even the best freelancers can disappear in the middle of the project;
- The economics of freelancing usually means that a freelancer supports many clients simultaneously. This may become an issue when a freelancer does not apply the appropriate level of focus to your project.
In fact, if you would like to create a product, you need to choose not between a company or freelancer but look to work with those who understand you better and those who you can effectively manage.
Sometimes the best solution is to use ready-made applications instead of custom development. Comparative analysis of pros and cons of bespoke vs off the shelf software might help.
Choose to work with those who better understand you
Regardless of whether you will work with a company or a freelancer, it’s a fair chance to fail or win.
The fact is that the founder has one way of thinking or “empathy map”, and developers (whether freelancers or company based) - another one.
As a result they communicate the same things differently.
This leads to the higher risk of ineffective communication strictly associated with financial losses.
The non-technical founder
But if a founder and a developer speak different languages (business vs technical) what should the founder do to be really clear?
After all if the task is set in a way that is open to varying interpretations it could lead to waste of time and dissatisfaction on both sides.
Alex Turnbull, CEO of GrooveHQ ($5M/Year Business):
Early on at my second startup, we were trying to build a login page for our customers, and it was going…poorly. “The form needs to be bigger, and we need fewer navigation links,” I emailed our development lead. “No problem,” he’d say. And an hour later, I’d get a new version with a too-big form box and critical links missing from the header. We had been dancing this dance for days; me flat-footedly asking for vague changes, and him dutifully matching my steps.
How to communicate smoothly with a developer?
What to do to narrow down possible misunderstanding with a software developer?
There may be options here:
- Find a freelancer who is able to translate business language into technical requirements and won’t start working until he creates the appropriate documentation and has you approve it. These freelancers are more expensive than regular coders.
- Find two freelancers, a developer and a business analyst who will translate business language into one that the engineers will understand.
- Find a custom software development company that has in-house developers and business analysts. And, if your project is complex, a project manager as well - he will be responsible for completing your tasks on time and on budget. The agency model usually involves a business development person securing projects. And if something goes wrong, you will always be able to raise the issue with the head of the development company.
It is easier to manage one company than multiple independent freelancers. Moreover, if something happens to a freelancer (e.g. they quit or get sick) you won’t have to spend time looking for a replacement and bringing them up to speed, the company will handle it. Good companies will keep thorough documentation and will pass it on to another staff member.
- Find a technical co-founder who will handle all the engineering talk with the programmer, while you will be dealing with business issues only.
- Learn yourself how to translate business requirements into technical ones.
Alex Turnbull, CEO of GrooveHQ:
I started to draw sketches. And then those turned into wireframes. And finally, I learned how to use Photoshop and built mockups of the app.
It bridged the gap between the thoughts in my head and my cofounder’s understanding of them, which meant that we saved a lot of time on changes and iterations early on.
And while these days I’ve ditched Photoshop and switched to Balsamiq for mockups, it’s still my favorite way to show our team exactly what we need to do.
For example, I wireframe up a whole page to make it easier for the team to understand my vision for it:
Choose to work with those who you can effectively manage
How to manage developers? Lack of control over software developers may lead to broken promises, failure to deliver the product on time, and an increase in its price.
Keeping software developers under control means that business stakeholders have the possibility:
- To get detailed information about which project parts are going to be developed and when, how long it will take, when the software development will begin, when it will be finished, project assumptions, etc.;
- To talk to the developers (or their project manager) about how work is going on by phone/Skype/Google Hangouts on a daily basis;
- To track progress and budget using Issue tracking and Project management tools and timely updates via email/chat.
Good software developers manage the projects and workflow with the help of online collaboration software – Issue tracking and Project management tools.
Such software makes each step of the development cycle visible to the client. Each manager from the customer’s side has an idea who is working on a current task, how close the task or project is to the completion or which steps still need to be done.
Issue traсking applications help to prioritize issues, give visibility into trending problems, as well as the ability to track each developer’s work on specific issues.
As yoг can see, if you would like to create a product, you need to choose not between a company or freelancer but look to work with those who understand you better and those who you can effectively manage.