We are often approached by people who have spent a lot of money on software development, but never got the result. The mistake of most of these projects lies in the wrong team. Many interesting start-ups and companies closed or never saw the light of day due to errors in the selection of performers.
Having no experience in dedicated software development, managers made hiring mistakes – they worked with freelancers and did not receive a finished product, or did not know how to manage their own team and received just a list of completed tasks as a result.
Tasks are done, money is spent, but there is no product. A mistake in the selection of a team threatens to lose money, time and the need to assemble or redo the project again.
Based on our experience, I will share tips for choosing a dedicated software development teams. My advice will be useful to the owner or project manager who needs to find a team and thinks about who, how and under what conditions to hire.
The size and type of the project influence the choice – freelancers, agency or in-house team.
When Freelancers Enough
If you need a small typical project – a blog, a landing page, an information site, a typical online store, you can hire freelancers and release the project quite quickly. This also includes work on fixing bugs and making minor changes to the product.
- Ineffective on long projects – they often do not complete the task, they can disappear.
How to work with them: start with a test project, assign only small quick tasks, work according to recommendations.
When do you need an agency or special team?
If you need a solution that is difficult to find in finished form, you want a unique design, dedicated software development can take at least six months and the team must work full time, contact the agency. There you will get a well-functioning permanent team of people of different specializations who already know how to work together and will not scatter anywhere.
It will be difficult to build communication between freelancers on such a project, due to the fact that freelancers can be in different cities and work at different times. Unlike freelancers, developers in an agency work together, which creates synergy.
If your activity is not related to programming and you have no experience in this area, you should not hire a team of programmers and build a project within the company. This is difficult and costly. In order to understand the abilities of the team, appropriate expertise is needed. The exception is narrow niches that require specialists with specific experience in your industry.
- The agency takes on a lot of risks – they will not be lost, a well-coordinated team
- Cheaper than the inhouse team.
- It is unlikely that in one agency you will be able to do everything with the highest quality, agencies have their own key skills and directions.
How to work with them: look at the portfolio, give the development of that project or part of the project that corresponds to the key competencies of the agency.
When you need your own dedicated software development
You definitely need your own team if the software you create is the main type of your activity. Or in the case when a large number of people and a large amount of time are needed to develop a product.
When a long period of work is expected, as well as support and development of the project for several years.
For non-standard products, where you need people with deep knowledge in your field, in-house development is definitely suitable.
- You control the process.
- You can control the size of the team yourself. The agency may tell you that they don’t have additional resources.
- You need to form a team and manage it. Learn to understand the software dedicated software development process. It is difficult to create a quality software product the first time if you have not done it before.
- Much more expensive than the agency option.
How to work with it: to gather a team only if a long and highly specialized product is planned. Hire a technical director.
Plan for preparation for software evaluation and search for contractors for development
- Decide on the purpose and scope of the software. Compose an understanding and description of the work with examples and links. Collect links to sites or applications that are similar to what you need or contain some actions that should take place in your software.
- Describe what should happen to the user in your project, how he interacts with the product, what steps he goes through. When drawing up an estimate, a description of the user’s actions on the resource helps.
- Evaluate the project with different performers – you will understand how you can implement your idea, how many hours you need, whether you should start with an MVP and then develop and maintain the product for a long time, or you can do everything in a few weeks.
- Choose a small circle of possible performers, for the starting list, use links to site developers from your examples, recommendations from colleagues and acquaintances.
- Study the portfolio of unfamiliar agencies and performers – it will show specialization, whether there are projects in practice that are similar to what you need.
- Start with a test product or task. This will help evaluate the performers, the agency or the product itself before starting the main project. A large project of 1000 hours is difficult to evaluate comprehensively. The project can either overestimate or underestimate and change the estimate in the course of work. Therefore, break the project into milestones / stages. Or get started with an MVP.