Project management and consultation
Before starting development we looked for top programmers from different companies. We talked to several people, but they either asked too much, up to double cost, or refused when they learned how much needed to be done. Programmers value stability – they rarely want to leave a work place they are used to.
An in-house development department has its advantages and disadvantages. I believe that it is worth putting together if you have a solid foundation – a current project or a project at the end of the pipeline. One of my partners has a large source of traffic, which needs a network for processing, and for him it makes sense to bring together a team that will keep developing and supporting it. Gathering a team will start out slow, but it will pay off in the long run: there is a reliable source of traffic that is not going away.
In my case and for most of my business partners, though, all of their projects are pilots. Looking for a new niche, I can't know what the results will be. For me, then, the perfect form of collaboration turned out to be with Andrey and Extension Forces. Let me tell you why:
1. Headhunting may take up more time than the work offered to the team, especially for obscure programming languages and specialized services.
2. The pool of tasks may change quickly: some programmers you hire may finish their tasks in a month and will have nothing to do but receive their salary.
3. Scaling up the team with falling efficiency. When you need to speed up development time and boost the ranks of coders quickly, there is no way to do that in an acceptable time frame.
4. New programmers need some time to learn the project, get to know the code and structure (up to a month). After that it not infrequently turns out you have hired someone who does interviews well rather than an expert.
There are many other smaller reasons why I chose this model. I don’t like outsourcing and freelancers on the whole: it is difficult to assess contractors’ progress, structure and control what they do. And I still feel this way, but it is somewhat different with Andrey and Extension Forces, and here is why:
1. In effect, you take in a partner (yes, really), who does not ask for a percentage of your project’s revenue. This partner’s stake is the salary of developers and the royalties from it. If you assemble your own development unit, you are going to pay for their work hours the same way.
2. You can increase development at any time or freeze it completely until you sort out problems that come up (like running out of budget). Hired programmers would have to be dismissed for the downtime. You would have to get new people and show them the ropes all over again on resumption, and that takes a lot of time and money.
3. The risks of poor quality execution is lower. You have at your disposal a big pool of developers, ready to start working practically right away. If you are unhappy with something, you can always change the team. Even if one team has spent a long time learning the project and did not produce results later (as happened in my case), this team can quickly share its knowledge and the new team will get in and get ready in a matter of days.
4. Control of execution and results. In my opinion, they have a pretty good system for controlling employees and getting results for customers.
Imagine that you have assembled an in-house team to quickly do a job. You hired 3-5 people, they wrote the code, all seems to be well, the project launches and works. What now? You will probably have to hold on to these people. If every one of them was responsible for his own part of the job, you will get in trouble letting those programmers go. You might publish a bad update, the project might crash – because of something only that dismissed worker knew about. What will you do then? I have often run into having to keep one external programmer on a full-time basis and pay him working or not just so he would be available for sometimes fixes. It would be even more expensive to hire for this someone new.
Working with Andrey, however, in situations like that we can simply put development on hold for a time: if we need support, we can get it from the same crew who worked on our project before. Even if they are busy with something else, they will still assist us under the original service agreement.
This assessment may look a bit overenthusiastic, but I speak from experience. I came to this model after losing a lot of money on other options, and currently it is perfect for my needs.