Article - A Strategy for Building Your Development Team
READ: 5 mins
AUTHOR: Paweł Zmysłowski, White Label Coders
Questions to ask yourself and decisions to make in order to build an excellent technical team!
As you grow your digital agency, you need to keep in mind that at some point you'll also need to grow your technical team of developers, which will be responsible for implementing solutions for your clients – whatever that's a website, a campaign landing page, or some form of web application aimed at engaging your target audience. To cover this part of the business, you have a few options to choose from:
you can build your own team,
outsource the technical work to an external partner,
or rely on freelancers.
What is best in your particular case depends on many factors, including the type and scope of projects typically developed for clients and your overall business strategy.
But let’s assume for a moment, that you've decided to build your own team. And discuss what it takes to build a solid, experienced team capable of delivering consistent results on every project without... spending a fortune. Hopefully, the list of principles and questions below will help you not forget about any of the important matters. And in case you’ll have to make any tradeoffs due to current business limitations, you’ll be able to make them consciously.
People
Unless your requirements are really simple, you're going to need at least several people who specialize in different areas. Front-end and back-end development, a tech-savvy project manager, testers, someone with devops skills, and a dedicated person with e-commerce solution development skills (if you're frequently involved in these types of projects). With a larger team, you’ll also need someone to provide technical leadership, advise developers, train them, and make sure everyone follows the same rules.
Structure
People take time off, go on sick leave, and eventually leave the company at some point. If development services are a critical part of the services you provide to your clients, you should be prepared for such a situation, as it will happen sooner or later. The team should be built in such a way that the absence or failure of a single person does not put you in a hopeless situation.
The Process
Even a group of the best people will not do a good job if you do not make them a team. What kind of work methodology do you plan to use? Scrum, Kanban, or a less structured agile approach? How can you improve team communication and integrate individuals with each other (remember, most technical people are introverts!)
Training
How do you plan to encourage employees to grow their skills and share knowledge? Do you plan to organize internal training? Or do you send employees to external events where they can learn new things and keep up to date with the industry? Should they attend regular retro meetings to talk about past projects and look for improvements for the future? And, what to do to retain well-trained and experienced employees?
Quality Assurance
How will you address the quality assurance process? Do you have enough work to hire your own dedicated tester? If not, how else can you make sure someone tests everything as it is completed by the developers, but before you show it to the client? Should the developers use any automation tools? Or do you conduct code reviews that not only improve code quality but also create an additional opportunity for your team to share knowledge?
Hiring Process
How do you plan to hire and review employees? How do you plan to find and attract tech talents, since right now it is pretty hard to find someone who's a real fit? How do you bring them on board and make sure they quickly fit the company's standards and vision? How do you convince them not to chase the attractive offers of the competition?
And in the end... you just need enough money to provide the necessary tools, equipment, applications, licenses, wages, and benefits.
So is building your own development team a good solution for you?
If your agency consists of a few people and the projects you implement are relatively simple, you probably won't have enough work to build a team that will cover all the necessary skills and roles. The best specialists usually look for a full-time job. In this case, working with a good freelancer may be enough for you.
However, if you expect greater repetition, availability and experience beyond what a single person can offer, finding a trusted partner who has already built the right team and is ready to undertake the technical implementation of projects as a subcontractor is probably a better solution. Then you get access to a well-coordinated team of developers, without bearing all the costs and hardships of its construction and maintenance. Though you will naturally have to share a portion of your margin on the project with your technology partner.
If you plan to build a company of 50+ people, the necessity of building your own technical team in some form will most likely arise at some point of your growth.
You may still consider having just a few people in-house, who supervise work outsourced to external partners. Or keep all the development in-house. But even if you decide to build a fully-fledged development team in-house, there's still the big question of what to do with overflow projects at the moments of peak demand. Having a trusted partner who can augment your team on a short-term basis can be a must have to serve all your clients in a timely manner. Establishing a relationship with such a partner before you have a super-urgent project to outsource is typically a good idea, as aligning two teams to work together usually takes some time. And entrusting a time-critical project to an earlier unknown partner is a risky decision.