The first idea, which comes to one’s mind, is that web development company cheated customer by coming up with a cheap proposal in the beginning with intention to grab more money later on. In many cases this is true but to our experience this is not the major reason.
Surprisingly, the main reason is a bad estimation of scope of work. Customers and web development companies want to start working as fast as possible on the project without properly made project documentation and clear detailed description of the results.
Obviously, the blame should be fully on web development company that didn’t explain to customer the importance of this first stage. The more time you spend on making detailed project description the less time will be spend on programming, less hours will be billed and more precise project cost estimation you will have.
Our practice: We do not start project until we have clearly defined results of our work, detailed project description and a budget approved with customer.
Sometimes customers hear an unacceptable excuse of their project delay that their programmer was resolving some urgent issues for another customer instead of working on their project.
Actually 90% of delays in case of outsourcing happen due to the fact that few programmers work on too many projects for different customers at the same time.
At first sight, the main reason to this is a greediness of web company owners who try to get maximum income with fewer resources. But with more thorough examination, in most of the cases the main reason is a bad planning and control of a project execution as well as daily activities of programming team.
Our practice: We set up milestones/deadlines with our customers and stick to them with maximum possible deviation of 20% if time is not critical. When time is critical we don’t allow ourselves any delay working day and night if required.
Bugs and mistakes can be found in any software and web application. Even a such long time existing software like Microsoft Word can crush from time to time due to bugs.
The main question is how many bugs do you find and how easy you can find them. If you see that main functionality of your web app is not working and the amount of mistakes goes beyond any reasonable number then most likely your outsourcing company didn’t test their product before showing it to you. What is worse is that most likely the code quality is very poor and later on it may require rewriting the code from the scratch with another programming team.
Our practice: Besides main testing of a project manager, we have system of cross testing when programmers from another project test the results of their colleagues. This helps a lot. At the same time we are not secured from bugs and mistakes as well. We agree with customer if he finds certain amount of critical bugs then the whole work will be reviewed and remade in a shortest possible period of time as our top priority.
It goes without saying that we fix any bug found in our code in the future after the work is accepted and paid.
While employees are working for their salaries outsourcing partner will work for the actual work done. The faster we finish our job the faster we will get paid.
If you sum up all the taxes and social payments to the state, the time you need to find proper programmers, efforts to manage them etc. - then the amount expenses will be at least double of what you will spend in case of outsourcing.
If you don’t get desirable quality you don’t pay. It is as simple as that. Obviously you cannot have the same conditions in case of programmer employment.
Depending on your needs we can vary the amount of programmers devoted to your project and as a result it can be developed faster or slower. It can be crucial if you have seasonal ups and downs or if you need to make major changes fast and then be on support mode.
In our team we have programmers of different qualifications and we can optimize the price and quality ration by assigning crucial tasks to more qualified and high paid programmers while making main scope of routine work to be done by middle level programmers.