Hiring a web application development company: 10 vital factors
Are you hiring software developers? You are about to take a decision that has a huge impact on your business! Not only will you spend much money – the final product has the potential to make your business much more successful.
Consider the following key factors while shortlisting potential partners:
1) Has the firm worked on similar software projects before?
Scrutinize the portfolio of your potential development partner – whether it’s a company, agency or individual consultant. Have they worked on projects that are similar to yours in terms of the following factors?
- Project size: Successfully delivering a large project takes a different organization than what freelancers and smaller agencies can handle. Does your potential partner firm have enough developers in case a team member falls ill, you become dissatisfied with a particular team member or you wish to scale up?
- Technology: Such as a specific development framework. Many web development agencies’ core competencies are design and content-based websites, rather than larger and more complex web-based software solutions.
- Type of solution: If you are looking to develop say a custom web-based ERP, make sure that you find a development team that has a successful track-record of that same type of solution.
2) Reviews, references and testimonials
There are plenty of sources of reviews, ratings and references these days. Google your potential partner and look up company representatives on LinkedIn.
This research is quickly done, so you can use it as a first screening filter. This is simple but effective advice when selecting any type of consultant.
Once you are about to take a final decision you can ask to email or call a reference. You might be very busy, but investing a few minutes in making sure that your new web development company actually has kept previous clients happy is a great investment of time.
3) Large development firm, small web agency or freelancer?
Say that you require a team of five developers, then an ideal headcount of your partner firm is perhaps around 30; they are big enough to scale up if you need, but small enough to treat you as their most important client.
If your project is comparatively small, perhaps requiring less than half of a full-time developer, you might save money on finding an independent consultant like a freelance developer.
Some of the drawbacks with freelancers are that: a) they have existing clients and may not be able to deliver fast b) if something bad happens, you might one day not be able to get any support from the person who developed your software.
Web agencies with a typical headcount of 10 or so are also safe for relatively small web application projects, but they might still just have a small number of people working on your specific type of technology and solution.
Established agencies and larger development firms are reliable in terms of backups, post-development support and general long-term stability.
4) Popular programming language and scalable framework
Make sure that the developers you select use a popular programming language and framework. A software project is a huge investment and if your relationship turns sour you should be able to easily take your business elsewhere.
For web development, a great combination is the PHP programming language and the Laravel Framework. For custom websites, a great choice would be the WordPress platform. Other popular options are .NET and Ruby on Rails.
5) Fixed price project, or not?
This depends a bit on your project. You should be able to get a good estimate on a specific and limited set of requirements, such as one “sprint” as per the agile development method.
But keep in mind that true experts are sought after, and they might not offer fixed prices if they have enough work piled up where they are paid by the hour.
If you are looking for a website and web design, you could probably get a fixed price from some web design agencies as most projects are fairly similar in nature.
However, if you are looking for a larger (1000+ man hours) custom web application, a rough estimate will probably be what most firms are willing to commit to.
There are still things you can do to minimize your risk and keep costs low such as starting off with a fixed-price prototype: pros and cons of fixed price projects.
6) Access to code
How does your potential partner company deliver code to you? Even if you are non-technical, make sure that you get access to a cloud-based version control repository. In the worst case – your partner firm goes bankrupt, their project leaders or management falls ill, you find yourself in a dispute – you can move on to a new development firm easily by handing over the access credentials.
7) Transparency
You have much to gain from your development partner being transparent about the following:
- The company’s size, management, history and number of years in the industry, track-record, credit rating and so on. This can often be found on social media and the company’s website.
- Which developers would be working on your project as well as their qualifications and experience. Check developer profiles and CVs.
- Work plans that include estimates, the status of each requirement during development, what task is assigned to who, testing status etc.
- Time reports and overviews: Time spent on your project and by whom including detailed time entries. Every invoice should be accompanied by a time overview broken down by requirement.
- What code the team produces every day. Easily handled through modern cloud-based version control repositories such as GIT repository on Bitbucket.
8) Meet the development team, at least on webcam
Drawbacks with outsourcing software development to the other side of the globe are time zone challenges and that you cannot easily meet your development team face-to-face.
But set aside 10 minutes for a quick webcam meeting on Skype or FaceTime during the evaluation process to get a feel of your potential partner.
Of course, you need to get used to different accents and communication styles, but if you find it very difficult to communicate with your prospective team, you will probably need to find another project leader or another company altogether.
Talk and consult with management, project leaders and developers.
Ask a lot of questions! If you have the time and if you do go ahead with outsourcing, I warmly recommend taking a few days to kick-off your project on-site. This will build that extra bit of rapport that will come in handy for years to come.
In case you outsource to a distant country, it will, of course, take time to travel. Some combine such travels by working remotely from the partner’s offices for a few days to minimize loss of work-time. Some even combine it with an exciting vacation.
9) Piecemeal approach and project planning
Once you have selected a winner, you do not have to commit to thousands of hours of development from the start. You can begin with letting your top choice do rapid prototyping with a wireframing tool, while letting them flesh out your requirement specifications.
If the company’s project planner does not understand you, you can always take the prototype and go elsewhere. Evaluate the firm’s focus on user-friendly and truly smart functionality that will increase the profitability of your business.
Most professional software developers follow the agile development method and will break down your project into sprints (phases that will take approximately three to six weeks each).
10) Take your time and plan in advance
Do not rush through the process of hiring web developers. Really talented programmers and truly professional companies will often be busy.
Their clients are in constant need of development services and such clients stick with firms that deliver. Hence high-performing developers are rarely available on short notice.
Another reason to schedule your project in advance is that shortlisting and interviewing development companies take time.
And the more selective you are, the better the end results. Once you have found a great team, try to keep them busy to avoid losing hard-to-come-by developers to someone else.
Finding a long-term partner firm will keep your costs down as well, as firms find it harder to raise hourly rates for existing clients even if overall demand might be high.
Good long-term business relationships are about finding win-win solutions for both parties. Good luck with finding your perfect match!