Written by Sergei Terekhov Четверг, 24 Май 2012
I met several times the case when a manager of a software implementation project needed to dramatically accelerate or strengthen his software development team. That could occur when the team, for example, don’t meet deadlines or none of the members has expertise for dealing with a specific issue. The last can result in improper implementation or require too much time. In either case it would be quite expensive.
So, how to deal with such a situation? There are several options:
1. Escape problematic functionality
First of all ask yourself whether this functionality is really necessary. It is common for project stakeholders to overcomplicate the system. But they usually regain their temper when you show them the bill. So if this is the case, try to abandon problematic functionality especially if it’s not mission critical. If this is not the case, there should be alternative approaches to the implementation. As a rule every problem has a number of solutions, one just need to find them. And the straightforward solution is not necessary the optimal one. So try to investigate the problem and possible variants of overcoming it.
2. Hire a new developer
If you can’t leave out the functionality or its complexity, then you can think about hiring a new developer for a certain time. A new person in the team can speed up the project; he can possess such knowledge, which no other team member has. As a result of this step, the whole team will benefit.
But this approach has some disadvantages, too. Hiring another employee can be an expensive treat. You'll have to pay headhunters for finding this person, pay for sick-leave certificates and social package of the new developer, give him a salary high enough to pay his taxes, etc. Besides, the developer needs time to get started with the project. There is also no guarantee that you can quickly find a person, who is interested in getting a temporary job until you settle your project’s problems. And the last thing to remember here is that increasing the project team does not always speeds up the project. That is, if you enlarge the software development team twofold, it doesn’t mean that you complete the project twice as faster. This is just because not all tasks can be parallelized, and there might be complex interdependencies between them.
3. Ask developers working overtime
Alternatively, you can offer to your employees to work overtime. If you have well-motivated developers, who enjoy their work and are involved with the success of the project, it is likely they’ll willingly agree to work overtime and spend on the work 10, 12 or 14 hours instead of 8 (no longer recommended, as you’ll have to call an ambulance ;))
This option can also work and give an impetus to your project. You will immediately feel the acceleration, but it will be only short-lived. Since this option really exhausts the people; and their fatigue may begin to affect in a week. Then, instead of acceleration, you’ll get a general slowdown, even if the entire team will work 14 hours a day. If the acceleration produced in a week is enough to return to normal, then everything is OK. But if not, then there is danger to exhaust the people and to get stuck in the middle of the way.
4. Expand your team with dedicated developers
This option is quite flexible and affordable. You contact a custom software development company and ask them for a dedicated developer. As the business of such companies is software development, they will surely have a pool of developers, from which you can choose one suitable for his skills and knowledge. Of course, this option also requires time for the developer to get started with the project. But here, you can find a company from another country, such as from Eastern Europe, where company's rates will be lower than salary and social payment for permanent staff. So, this option will be more profitable in the end. Moreover, you won’t have any problems with the dismissal of a temporary employee after the project ends.Therefore, this option allows you to easily resize your own team of developers at reasonable costs, and without any problems.
Depending on your specific project and situation, one or the other option can be suitable for you. So, the choice is yours.