‘If you deprive yourself of outsourcing and your competitors do not, you’re putting yourself out of business,’
Lee Kuan Yew, founding father of modern Singapore.
For most businesses, outsourcing has become a big challenge and a try-and-see game.
In fact, a lot of our clients came to us after partnership with another offshore development team failed.
In this post I’m going to review how to outsource web development correctly and specify the most common mistakes to avoid when working with an outsourcing web development company:
Mistake #1: Poor selection process
Mistake #2: Underestimating the project cost
Mistake #3: Setting unclear expectations
Mistake #4: Thinking that Fixed Price project is the best option
Mistake #5: Short-term partnerships
Mistake #6: Underestimating the role of communication
Mistake #7: Thinking managers are unnecessary once you outsource
Mistake #8: No technician from your side
Mistake #9: Underestimating Quality Assurance
Mistake #10: Underestimating cultural differences
(Bonus) Mistake #11: Spending entire money on development only
So, let’s dive in…
Very often businesses make their decision without proper and deep research of the market.
They simply share their idea with a development company, ask for pricing and decide which company would build the application cheaper.
And that is number 1 Mistake while selecting the outsourcing partner.
Well, the price factor plays an important role, but it’s not the only one and not the first one to be guided.
Feedback, reviews, portfolio and business expertise are quite critical and worth evaluating.
Spending a little bit more time while selecting a trustworthy software development outsourcing partner may save you time, money and nerves in the future.
Here’s the step-by-step how-to-avoid guide:
- Research enough to be aware of IT market resources. Pick at least 5 high-potential remote teams or companies, providing website development outsourcing services.
- Compare such criteria as services models, cooperation approaches, portfolios of latest projects, client feedback.
- Investigate the tendencies and best practices on the software market to make sure that you deal with cutting-edge professionals.
- Do not hesitate to request CVs of the development team members to make sure you are hiring the best talent.
- Interview company representatives. You will get a better understanding about how comfortable you are in communication with them, while they would be able to demonstrate their ability to solve your pain points.
…and you’re set.
Businesses work with remote teams just to save money.
If you answer is “yes” you are close to make Mistake#2.
Although software development outsource may save you money, it shouldn’t be the number one reason for considering it.
In fact, only outsourcing to the properly selected company will help you to save. Choose the wrong one and you may end up overpaying.
Let’s compare, for example, a software developer that costs $25.00 an hour, but who takes almost year in order to complete a project and a developer who costs $45.00 an hour, but who is able to complete the same task in six months.
Well, 52 weeks in a year, times 40 hours a week, times 25 equals $52,000. But 26 weeks, times 40 hours a week, times 45 equals $46,800.
Wow, the developer that costs 80% more per hour actually was 10% less expensive when it came to the final deliverable price.
Productivity also matters.
Selecting the initial lower price may result in a higher final price, poor quality, less expertise, and rare or unsupportive communication. Keep it in mind while selecting your website development outsourcing partner.
So, how to avoid the second mistake?
- Allocate reasonable budget limits for software development. Overcome the temptation to hire the company with the lowest rates expecting to save dollars.
- Try to find a balance of the price – lower than the price for full-time employee, but be ready to pay for a greater expertise and professionalism.
So, you have only a dim idea of your web project.
Obviously, it’s complicated to set out clear requirements to your partner and understand whether the process is going right.
Vague requirements may lead to software that does not fully satisfy your business needs or your customers.
Changing and fixing your product on the final development stages requires a lot of time and money.
More than it would take if it was done correctly from the very beginning.
How to avoid:
- Decide what specific business needs should be covered by the software. Do not forget about the end users: ask yourself, what are the main reasons they would use your product.
- Run a product discovery workshop with your development partner. You’ll create appropriate documentation with the requirements and discuss all the possible issues before the work starts.
- Feel free to ask for an explanation of the everything not completely clear to you. Make sure you are on the same page with your team.
- Do not hesitate to ask for advice if you don’t have a clear product vision. Very often, an experienced web development team will be able to push you through the process with the right questions and advice.
- In turn, you should be able to answer the questions of your IT outsourcing partner and provide him with your feedback during the development.
- Be constantly engaged in the software development process as the level of your involvement directly correlates with how the finished product will match your expectations.
There’s no doubt about it:
A fixed price approach provides companies with a sense of control and security. CFO doesn’t worry about overpayments as the IT outsourcing partner bears all the financial risks.
But let’s puzzle out what can be wrong with this attractive fixed price approach.
Firstly, developing software is a creative process and a complex activity. Yep, it is good to have fixed deadlines, price and agreements on paper, but in reality both running a business and building software is full of surprises.
“On average, large IT projects run 45 percent over budget and 7 percent over time, while delivering 56 percent less value than predicted. Software projects run the highest risk of cost and schedule overruns.” — McKinsey & Company
Secondly, the price for fixed price projects is always higher. In theory an IT company is taking all the risks, meaning all the project risks may be already included in the bill.
(No matter if they happen or not)
The vendor needs a way to cover all the uncertainties that will possibly occur in the project. As a result the price may add up to 50% more for high-risk projects.
Thirdly, changes to the scope are unpreventable. It is very difficult to define every single detail of a project in advance. As a result, each change to the scope is doomed to go through time-consuming negotiations on whether or not this change is included in the fixed price. In case it is not included, you will have to proceed with a ‘change request’ process that will surely lead to cost overrun.
Fourthly, you may risk sacrificing quality and improvements, as the work value becomes less important than the price. The quality may be compromised because the IT outsourcing company may focus on preserving the agreed price in every way, rather than investing efforts on building a better product.
How to avoid:
Before deciding what strategy to choose, analyse your own project. The fixed price project may be an effective choice in cases when the requirements, specifications and rates are highly predictable and all the variables are fixed as well.
When to consider fixed price as an option:
- Clear requirements and established deadlines;
- Limited or fixed budget;
- Small projects with a limited scope.
In these cases your business is likely to benefit from fixed price.
If your project differs from the above mentioned ones, you risk failure. After that you may think that outsourcing doesn’t work for you, when in reality the problem may reside in an ill-chosen pricing model.
Considering short-term partnership may lead to failure. Because of tentative collaboration, both parties may face misunderstandings as there is little time to learn about each other. Additionally, the outsourcing web development company won’t manage to build a customized solution fitting the company’s requirements due to a lack of time and funds.
Usually, short-term partners consider your project to be closed as soon as possible and as effectively as possible, lacking the big picture of your business goals. Without the ongoing partnership, it may not even have your future business plans or challenges in mind.
How to avoid:
Try to plan on software outsource for the long-term and build not only the software with your IT partner, but also relationships.
Do not neglect the importance of personal relationships and instead targeting the project execution. Often, good relationships may do far more for the success of an outsourcing arrangement than the most detailed written contract.
Well, the term itself is quite broad and vague, so I believe it won’t lead us to a solution. Let’s make it more specific. More concrete communication issues may be like ‘it was very difficult for us to handle the necessary documentation in order to transfer project requirements’, or, ‘that is because we don’t work in the same room, we lack interactions that we usually have with our in-house colleagues’.
According to the SourcingFocus.com, 28 percent of 1,000 respondents reported poor communication as the essential reason for outsourcing project failure.
Additionally, Grant Thornton’s International Business Report states that communication is the key to outsourcing success with 98% of UK respondents saying so.
How to avoid:
- Build a communication mechanism with your outsourcing web development partner. Make sure these mechanisms are used regularly. The combination of such mechanisms and their periodicity is called communication pyramid.
- Except for making your requirements clear from the very beginning, continue collaborating with your team and take interest in what is going on.
- Agree upon the importance of documentation. Create the documentation system which will be easy to follow and track. It will make monitoring of the project less stressful for everybody involved. It will help you to avoid communication loss and reduce miscommunication.
If you doubt whether or not you require a project manager or you still think that PM’s responsibility involve only creating tasks and checking progress (that, surely, you are able to do by yourself), then you are making Mistake #7 of our list.
Without PM you may face the situation when actually no one knows:
- the date when the project should be delivered, critical paths, their inter-dependencies;
- the complete list of risks and issues and the ways to prevent them;
- the final cost of the project or the software;
- the hallmarks to measure the progress and success;
- who is responsible for each part/sprint/feature etc.
This list can be continued.
No manager on the project may result in its late completion, over-budget, or not meeting your requirements.
Unfortunately, most people learn this from their own mistakes, and only consider project management as a necessary “added-value” component of the project once it is too late.
How to avoid:
If you need to have an effective project within the agreed deadlines meeting the business owner requirements, then you definitely need a project manager.
These are only a few reasons why:
- PM translates the client’s needs and requirements to the developers.
It may surprise you but clients and development teams always speak different languages (even if they speak English as a mother tongue). Business owners usually speak the language of business, while developers – the technical language. PM is the only one who is able to control the communication process effectively.
- PM takes care of reducing business risks.
There are a lot of risks and underlying potential problems during development. Most of them can be avoided thanks to the PM’s hard work and competence. PM also takes care of correct time estimation, thereby reducing extra expenses. He also is aware of what methodology is the best for a certain individual project.
- PM provides transparency of a process and holds responsibility for timely product release.
PM creates detailed reports reflecting the progress of the development process, which helps the client to have an overall control over the process and understands what exactly he pays for and whether his help is required.
They say that trying to manage a project without project management is like playing football without game plan.
So we highly recommend you not underestimate the role of a project manager for your project and avoid “no one can do it as well as I can” misbelief.
Another mistake after you have decided to outsource web development is not having technical knowledge from your side. It may cause certain risks for your project.
The work of your company will involve not only controlling whether the work is done correctly and technically accurate, it will be more about an ability to set things clear and to create strong documentation containing distinct requirements for your outsourcing partner.
How to avoid:
It is quite important to have a tech-savvy person within your company in order to provide you with advice and assistance concerning any issues that may happen during the process.
In other words, outsourcing a project does not free you from the need to have at least some technical knowledge on your side. Embrace this responsibility and you will receive a well developed software solution that completely meets the needs of your business and your end users.
Any software product that is delivered without accurate testing during the project is destined for a failure.
Whatever you’re planning to build, testing should be involved as an essential part of any software development process from the very beginning.
According to Puppet, teams who integrate testing as a partnership with the entire development process spend 22% less time on unplanned work. Dev teams who build quality in and work with QA early on have more time for new, value-adding work.
Software testing is of key importance because it assures:
- a defect less product/software;
- a satisfied customer/end-user;
- meeting the requirements;
- a reliable and secure system;
- good performance;
- improvement of the product’s quality;
- reducing risks.
How to avoid:
- Make sure that Quality Assurance engineer work is included in the contract with the outsourcing development company.
- It is better to involve QA engineer from the very beginning of the project, or alternatively, you risk facing a greater number of bugs in the end. So, it is better to ensure that your software is tested properly.
- Do not hesitate to ask your IT partner for your access to their ticketing system. In such a case you will be aware about the history of each reported bug.
- Don’t underestimate the need and importance to discuss each individual bug (in order to avoid further confusion).
In case you decide to work with an offshore web development company, you may likely face some discrepancies between the culture of your country and the culture of your outsourcing partner.
A good knowledge of English goes without saying, as it is the communication language of world business. However, proficiency in English is not enough. Your countries may also have various traditions, norms of behavior, intonations, and gestures. Ignoring them may result in misinterpretation and problems during the work process.
For example, cultural difference is observed in varied software methodologies. India, China and Southeast Asia are more focused on clear-cut instructions and processes. Very often they use Waterfall and V-model processes. On the contrary, Latin America and Eastern European are similar to Western Europe and the USA, where people tend to value flexibility, proactivity of Agile methodologies and one-to-one communication.
Today, companies understand the necessity to develop cultural intelligence that will help them to work effectively in culturally diverse situations. Organizations are no longer able to make decision about their outsourcing partners and destinations based only on the cost-effective perspective; a lot of other criteria should be taken into account when selecting the outsourcing strategy. Culture is one of these criteria.
How to avoid:
Firstly, you should consider possible cultural differences from the very beginning and be ready to face them.
Try not to be conflicted, but understand the key factor of these differences and go over the problem.
Here is a list of actions we recommend in order to minimize cultural mistakes:
- Arrange intercultural training. Learning about the culture of your business partners can do miracles to improve e working relationships. It develops cultural empathy and make its possible to solve intercultural problems.
- Try to find cultural common ground.
- Make the IT manager spend some time in the outsourcing location. Analysts say that a month spent in the location of your outsourcing may help to completely understand the cultural traditions, but even a week may be helpful.
- Ask for culture and outsourcing experience to be added to the Request for Proposal (RFP) document. REP should involve the description of the culture of the outsourcing company.
- Propose training for the outsourcing provider. Provide him with the information about your culture in order to set your company’s values, communication methods more clearly.
If the company spends more on the creation of business software, it will be unable to market it properly.
How to avoid:
- It is recommended that businesses prepare the budget in advance before outsourcing web development to companies.
- Try to set the right budget for product creation, marketing and promotion of your business.
Outsourcing along with great benefits has certain challenges. Don’t panic and be ready to overcome the obstacles that may happen.
I hope that our list of pitfalls will help you and your company to reduce stress and avoid typical mistakes. Remember that a qualified outsource web development company can ensure classy software development. What you need to do is to find this team and set up the right outsourcing strategy!
Well, fingers crossed and good luck!
And what outsourcing pitfalls have you faced with? Please, share your experience in the comments.
If you’re interested in setting out on your outsourcing journey, we would love to help you with it.