A few words about choosing developers
How to cooperate with “comers”? A piece of advice for a client :)
You have several different options to choose from outsource and outstaffing (“borrow” full time worker from another company) to form your own team.
Today, there are a wide variety of outsource developers. But as always, it’s all about three factors - cost, timeline and quality.
Freelancers are people, who are outside of staff of your or other company. The level of responsibility depends only on the specific person. Present day selection services of a contractors allow you to overview ratings and reviews of such developers. As an apparent downside of this option, if something goes wrong with life of such developer, more than likely you will get a "pardon" on the email and a fouled up project. Also, you will handle all administrative work. One of the insuring method with such a contractor can be considered the conclusion of a direct agreement with financial penalty, risks and limitations. Even if you will not enforce it because of economic inexpediency, your readiness to demand responsibility under a freelance agreement will definitely add him/her motivation to be more responsive to the fulfillment of the terms of the agreement. And his/her readiness to sign such contract will show his/her business qualities positively.
Also, you should know that you will be responsible for further development and system support, because freelancer is an independent person and he/she can choose when and where to apply efforts.
Small software teams - here you can get a good value for money. The most frequently, such teams consist of experienced developers who do not like the work of big "dev shops". But there were times, when a software team has a couple of really cool developers, and the rest of them are at the level of the juniors. If the development process in the team is not adjusted as it should be, then these juniors will create unattended problem code, which is gonna have to correct ...
Choosing a developer you should request a team description and come to an arrangement about your notifying of any changes in the team.
Considering the fact, that in small software team, you have every chance to become a favorite client, and obtain support and development for reasonable price.
Large software companies - mostly, they can provide well-worked development procedures and grade the diversity of developers level on the project. In other words - you will get excellent business management and most probably in your project won’t be engaged the top workers. You will get the highest price with a sustained development quality, and it will not be a problem for them to provide support and further development.
It is also important to understand the fact that to save key developers, who are not currently involved in projects (which could not be sold), the company pays their salaries based on margins from running projects. It also affects on pricing, but the plus is that the company will keep key competencies and will be ready to enter your project quickly.
Outstaff development for you will be very similar to cooperation like with a freelancer. You will have massively more opportunities to control a such team, it will have higher price than the freelancer, and all the issues management and its process will be your “pain in the neck”. As well as further product support.
Your own team it does make sense, when your project is very long and involves a lot of development and expanded time. However, you do not want to form competencies in your direction outside of your company. In this case, you will have to form a mini software company, with a web-designer, project manager, business analyst, developers, QA. Will it be economically feasible for you? It’s just a question of calculations for specific cases. Furthermore, it doesn’t give you a 100% guarantee, that you won’t have a leak of data or competencies, because serfdom law has been cancelled as far back as 19th century, and developers have a tendency to seek happiness elsewhere if they do not like something.
To be continued. Next time we will speak about choosing of pricing methods and choosing of project management type.