For years it was always about finding the right people to hire internally, then in the 1990s people started to utilise external resources, from individual contractors that work in your office through to using an agency to manage and run your entire development.
Increasingly those using these different options are encountering problems, the development world is changing at pace and we need to recognise that in the solutions we use.
To be clear, there are still a lot of advantages to these methods which get discussed a lot and for many businesses they will be the right solution, it is just important to recognise the limitations and plan for them accordingly.
But what is the best solution in the modern world? To answer that question, let's look at the different options, the problems you might incur with them and the best ways to combat these.
Option One - Build a Full Team In-House
The ‘traditional’ approach still has a lot of strengths to it, particularly the level of care and concern for the long-term health of the code and understanding the user and business needs. But other options that have become popular in the last 20 years have arrived for a reason, below we highlight the chief concerns, but offer potential solutions for a business looking to combat them.
High staff turnover
The problem - Turnover in the development team is higher than any other division apart from maybe data analysts. They also happen to be the hardest (and most expensive) to find. All of this means you put a lot of time and money into recruiting these developers and lose them before they pay back this investment.
The solution - Outsource part of your development and have an agency deal with the issue of staff turnover. Developers tend to stay longer in contracting, plus you can have others worry about the job of training and developing the individuals.
Having to employ a team around the developers
The problem - If you decide to do all your development in-house, then you hit a problem unique to this solution, having to build a large team around the developers to ensure everything is managed. Heads of development, product managers, project managers, testers etc… are all core roles needed and by bringing them in-house you will need to employ them full time.
The solution - Having your core development externally means that the people doing it will be responsible for all these roles but you won’t need them full time, only paying for the time needed. Additionally, you can find businesses like WeLoveNoCode where you get access to a customer success team who will ensure the developers are working as expected and take away some of those requirements.
Recruitment mistakes are costly
The problem - Bad recruitment can happen whether you bring them in-house or look to outsource development. The difference is when this happens in-house, it often takes longer to spot (as you’ll be onboarding them and traditionally don’t expect them to contribute as quickly) and it is much harder to let them go.
HR best practices come into play, processes need to be followed and before you know it, you’ve employed them for 3 months and still need to give a month’s notice. 4 months' pay for a bad developer is VERY costly.
The solution - A modern approach is to have a third party vet all candidates in advance to give you confidence that the candidates have all the required skills. For example, at WeLoveNoCode all potential developers go through a rigorous set of tests to check they are of the highest quality and to be clear about what skills they can bring to a project.
During this vetting process, any third party must also interview the developers to understand their character and ensure they will fit a business culturally.
Ultimately, even with these rigorous processes in place, you might end up with a developer that just doesn’t fit your needs. Therefore, the second half of the solution is the ability to quickly swap out those developers you don’t want. You want someone that can find you a skilled replacement immediately so no downtime occurs.
Recruitment is slow and expensive
The problem - Finding a good developer is now tougher than ever. So many of the best developers have gone to be contractors and the price of recruiting them is so high that many are reverting to direct hiring, which takes a lot longer! All this is vital time not developing at full strength, slowing down the speed at which you can get your product to market.
The solution - Choose to supplement your current team with some outsourced development resources. The businesses you use will have a roster of quality developers that can be turned on quickly, saving you months of downtime and ultimately costing less.
Option Two - Using Contractors Within Your In-House Team
When businesses started looking at external support for development, the original contractors were brought in-house to work alongside the internal teams. This was done to supplement that current team and it was later than complete outsourcing to an agency began.
This is still an excellent hybrid option for a lot of businesses but it does come with a couple of clear challenges.
No incentive for long-term quality / Internal conflicts
Problem 1 - When you bring contractors in-house, because they are mainly around for just a short period of time, they are far less likely to be concerned with the long-term quality of the code.
Unlike an in-house team, they won’t be concerned by technical debt created or ensuring others in the team can own the product going forward. Their goal is to complete the task they are being paid to do and move on to the next job.
Problem 2 - As a rule, you are merging permanent and contract staff, this rarely gels well. The internal team will assume the contractor is on more money and that they care less about the business as a whole. The contractor does not feel it’s their job to help the internal team, train them or hand over the code.
The solution - Find a full team of contractors under one agency/business that can work together and then give them the remit/target to ensure any handover is comprehensive. A lot of companies now build bonuses for the quality of the handover to incentivise external teams.
Option Three - Outsourcing
Alive as a concept since the 1990s and arguably the dominant approach to development for the last 10 years, either near shore or increasingly offshore. Businesses find external agencies to run the entire development roadmap or as an additional resource that will complement an existing team and give greater capacity.
Whilst an incredibly popular option for many years now, outsourcing does come with its challenges but there are ways to manage this.
Quality is not as good
The problem - When you don’t personally recruit and employ an individual, you are relying on the agency to select the right developers for the right job. You need to trust they won’t leave you with the average developers on their books but pick you the best ones, even though you might not have the largest contract with them.
The solution - Only work with an agency or a business model like WeLoveNoCode, where only the best developers can work for them. You want developers that have been through rigorous tests to ensure their skill levels and working practices are in the top 1% of what they do.
It is still not a fast solution
The problem - On average it takes 37 days to scope the work, post ads, then interview and select developers to work with you. Even when using contractors, you cannot be confident that the people selected are the right ones without a vetting process.
The solution - Choose a solution that builds vetting and properly testing developers into their process. This means you don’t have to go through this part of the selection process, which will save you most of those 37 days.
The problem - When Dunn & Bradstreet reported that 1 in 4 outsourcing relationships fail, top of the reasons for this according to most experts was poor communication. A lack of leadership and anyone tasked with making sure the project is successful leads to poor communication.
The solution - Find an agency that ensures strong project management and will work closely with your business rather than leave developers to the work without guidance.
Getting tied into a long-term contract
The problem - You select an agency to manage your development and 4 weeks into the first project you realise they are not what you expected but are tied into a long-term deal that is expensive and time-consuming to get out of. This is potentially one of the scariest and most common issues that puts people off by outsourcing
The solution - Try before you buy! Find a solution that lets you try the developer(s) before you commit to a solution in the long term. Judge if they can deliver what is promised and it matches what you require.
Top 5 Tips for Building the Perfect Development Team
Taking all of the concerns above into consideration, we have pulled together a list of top tips to get the perfect development team.
1. Find people that know your sector
Experience in a sector equates to the ability to recognise familiar problems and create solutions much faster. Find a balance of development talent and ensure that some of them worked in your sector before. This will mitigate many of the potential concerns around the quality of developers.
2. Find people that can prove they are qualified
Never rely on a CV. Any developer needs to prove they can back up what they claim. Get them to complete tests and see what work they have done outside of work. If you are working with an agency, ensure rigorous testing is part of their process.
3. Spread the risk, use multiple options
Don’t rely on one solution to build a development team, you’ll need a blend to cover the different problems that you can incur. If you build an internal team, supplement that with some outsourced resources. If you focus on outsourcing, then consider having some internal people that can control these resources or select an agency with management built in.
4. Focus on the long-term
If you are interviewing for a team, then ask about their attitude to documentation and technical debt. If you are talking to outsourcing agencies, ask what guarantees they put on the code. Focus on using people that understand that success is about long-term quality code.
5. Make everyone feel part of the business
If you choose to include outsourcing or contracting in your solution, it is important to ensure you make those external people part of the team. This means they will work in the way you want and care about how their code works in the future.
It Can Be Done
The good news is we built WeLoveNoCode to mitigate these problems. At the heart of our vision was to give businesses the best opportunity to succeed by combining the best modern approach to development (no-code and low-code platforms) with the highest quality developers that are experts in these tools.
We achieve this by selecting only the very best no-code experts following our rigorous vetting process.
Step 1 - Review profiles and ask developers to submit various details about their portfolio
Step 2 - Test developers by putting them through various tests
Step 3 - Conduct an in-house interview to verify everything found on their profile
If you’d like to understand more about how we work to ensure we only select the top 1% of no-code experts. Arrange a free consultation where we will advise you on how to build a development roadmap and select the best people to realise that or take a look at how we work.