I wanted to share some of the lessons I’ve learned along the way with building software using distributed teams, many of whom were offshore/nearshore.
The primary belief is that by going offshore, let’s say to India or Eastern Europe, you somehow get lesser quality work. I totally disagree with that notion and have found quite the opposite to be true.
Google, Facebook, and the other big five tech companies are primarily built on the backs of developers from diverse backgrounds and with a high density of developers from these exact ‘offshore’ regions. You’re also seeing a new trend among software companies building their engineering teams outside the States. Stripe, for example, is opening an engineering office in Ireland.
So if it’s not about skill level then why do so many people have bad experiences with offshore developers?
Quite simply it’s because of management. Both project and product management.
For those new to software development here are some basic definitions:
Product manager = the individual who works with the designer and developers to make sure that the features of the product are built correctly. They also work directly with primary stockholders such as the founders of a company to help set overall product strategy, roadmap, and have it be in line with the business direction.
Project manager = the individual who ensures that the project is pacing within timelines and allocated budgets.
Over the last decade tech companies and now legacy companies are getting hip to the role of the project/product manager. Hence why you need your own. The industries are learning the advantage of having a great PM / PjM team to help have smooth product launches + development.
In startups these roles are often combined. Usually bigger companies are the only ones to have both as separate roles but both of these are critical for working seamlessly with developers outside the U.S.
Ok but the freelancer or vendor I work with has these roles included?
That’s the first issue . You must have your product and project management team here in the United States or whatever country you live in.
Why does my Product/Project Manager need to be in U.S or local to my country?
Most of the issues companies consistently face with development are a result of a breakdown of communication. Remember it’s not a lack of skills of offshore developers, I would argue most of these developers are more skilled than their US counterparts. Product and project managers, on the other hand, help to communicate your needs to the developers and make sure those needs get executed. All product/project managers have design + technical experience or dealt closely with developers in the past. They know how to write functionality tickets, answer developer questions, and track how they are pacing.
I can’t count for you how many of our clients come to us with bad experiences with offshore vendors. The first thing we always ask is, what was the structure of these relationships? It usually goes something like, “they assigned me a product/project manager for me to manage” or “I would talk to the developer myself.” Then they would find themselves unhappy because their vendor was not building features correctly or there were a ton of bugs.
When a feature is not built correctly it’s the product managers fault because they did not communicate it correctly to the developers. Most early founders play the role of the product/project manager which means it’s often their fault. The founder should not be the product or project manager. They should not be focusing on talking to the developers. The founder should be focusing on growth and building the business.
So how do you make sure that your U.S. based product/project manager is successful?
The key is making sure your local product/project manager is talking to the developers directly and NOT to the vendor’s project/product managers. Your team needs to have direct access to the developers themselves.
If your product/project manager tells you that the vendor, for whatever reason, will not let them talk directly to the developers then fire the developers immediately.
It’s critical for your product manager to talk directly with the developers because communication is key. At companies like Google and Facebook, their product managers talk directly to their developers and work closely with them day to day. Imagine if at Google the product team had to go through the director of engineering to discuss every single feature or issue?!#!
Lastly, you must make sure your product/project manager can communicate effectively with developers. You can gather this by asking them about the development process. What tools do they use? How often do they talk to developers? Plus, you should ask to see if you can see a sample feature ticket that they’ve written.
At Reliable Bits, we pride ourselves at having strong product/project teams that are skilled with managing products and communicating with developers. We also have direct access to all of our developers which means better results for everyone.