You have come a long way and launched the application: found, studied the market, compiled a task, prepared layouts, found a development team, and controlled the process. The product is ready and customers are already using it. Time to open the champagne? Not really. Very soon, the resources of programmers may be needed again: to develop new features, fix bugs, and improve system stability.
Project support is no less important stage than launch. Technologies become obsolete, and the number of users grows. A product that suited you six months ago may fail today. So on this note, let’s talk about the life of the project after launch: how to assemble a team and hire developers with yourshoring solution from Turnkey Labs – the world-leading company for hiring software development teams for your business.
Step 0. Do You Need an In-house Team?
We do not argue: having your own development team is emotionally pleasant. We can all plan features together, brainstorm, and discuss the future. You can even give out options in the future unicorn to increase employee motivation. But having your own team is often unreasonably expensive.
You can continue to outsource development in the same way – with the same team with which you have already worked, or with a new one. If you have a product that doesn’t require a lot of research and experimentation, outsourced development may be more profitable. A whole outsourced team can cost as much as one developer in the state.
Nevertheless, at some point, you may realize that it is difficult to develop further without an in-house team. Then you can follow the following plan:
Step 1: Don’t Start as a Developer
If you are well versed in technology, you can set a task and evaluate the finished code, then, of course, you can immediately look for a developer. But if your main focus is business and operational tasks, then it is better to start by finding someone who will directly lead the team: a technical director or a project manager. You can entrust him with the work on the technical part, while you yourself will focus on the product.
Step 2. Define the List of Roles and Prepare a Job Description
Determine the scope and nature of work required to support the project. If you plan to develop a lot of new features at once, you may need several full-time developers of different profiles. If you just want to keep the servers running, one administrator part-time is enough.
Describe what you expect from specialists: what technologies they should have experience with, what level they should be. Tell us about the product and describe the tasks that you have to work on. This will give you a job description that can be posted on career resources.
Here is an example of a role description structure that can be used:
- role name;
- description of tasks;
- portrait of the person you are looking for;
- formal requirements: what technologies and experience are needed;
- description of the project and team.
It does not have to be a long document: you can even fit the main ideas into one screen.
Step 3: Select Potential Team Members
Collect feedback and weed out those who do not suit your profile or experience. Interview the rest. Here’s what to evaluate in a potential candidate:
Is the developer involved in a business goal or just wants to code? Is it autonomous or does it need to set specific tasks? Are his personal qualities suitable for your project?
There are no good or bad answers here. For example, on one project it is important that the performer can make decisions on his own, while on another such independence will only interfere. So evaluate all the qualities based on your tasks and needs.
Make sure that the developer does not have to redo everything: that he really owns the necessary technologies and can write working, maintainable code. To check this, you can give a test task.
Step 4: Build Team Processes
Putting together a team is just the first step. If your product is not a one-time story, but a permanent business, then work on it should be systematic. Here is what will be useful for this:
Regular management system
For example, you can work in sprints. At the beginning of each, determine the goal for the near future, and set and decompose tasks. Conduct daily status rallies. At the end of the sprint, organize a retrospective and demo: discuss what they did, what happened, and what problems arose. Give regular feedback.
This will help ensure that the team is moving in the same direction and that all developers have the same understanding of business goals and priorities.
Organization of technical processes
The technical leader of the team needs to make sure that development has become a permanent pipeline. For this, testing processes, separate loops for developers, and automated systems for publishing updates should appear.
The code should also have continuity so that a new team member can quickly figure it out. This may require documentation, as well as coding standards.