Offshoring is not new. People have done this for many many years. Some have really become successful using this model and some couldnt gain much out of it.
You still see new requests everyday for a partner or a change in partner. If people have done this day in and day out, then identifying a partner should also be fairly easy. Isnt it? But the answer is NO. It is still not easy to Identify a Partner. Even if you are lucky with your partner selection, sustaining your relationship for a long time is not going to be an easy job.
Who is this Guideline for?
This Guideline will be applicable only if you have the following in your criteria.
- You are looking for a partner for your new product development.
- You need an extended development team offshore
- You are very specific about code quality, maintability and extensibility
- You want quick turn around time
- You need Senior Management Attention and Guidance
- You need excellent technical resources to build your product
- You want agility
Guidelines during Evaluation
Every corporates website looks good. Companies have really mastered the art of messaging. So, how do you identify the right partner?
1. Define your criteria for the target vendor (Technology Stack, Size of the company etc.)
Most of the offshore vendors are technology partners. IMHO, it’s not worth identifying a partner based on domain experience. Its always a nice to have.
Size of the company definitely matters. Assuming you are developing a product with 6 offshore resources. If the vendor is of 500+ in size, its very difficult for you to get their attention. Your vendors are in Services business and not charity business. Large size teams are their focus area. From your side, you need the attention from the Senior Management.
2. Do enough research about the company.
Look for Blog Posts, Linked In Profiles, Reviews (like mouthshut).
Assume that the Vendor claims that they do agile. Look for any blog posts related to agile, TDD, BDD, Pairing, Acceptance Tests, Continuous Integration, Continuous Delivery etc… If a company is excited about a certain thing and if they feel that its their culture, DNA, etc… it will definitely show up as blog posts. Ask for the Burndown charts, Retrospective notes, Action items etc… of couple of Projects.
It will give you a good perspective of the company.
Whatever is been sold, see whether its part of the organization culture or is it one single team which is doing that. Say for example, agile may not be the way most of the projects gets executed, but because of few individuals one particular team might be doing agile really well and obviously the organization would sell that. Now, if it is not part of the organization culture and the few individuals leave the company, you are stuck. So, spend enough time in understanding this.
3. Look at the Senior management profiles in the company.
Its very important to understand the senior management profiles (upwards of Project Manager). Say for example, if the company claims itself as a Technology company and their senior people have never done any development, to me its a definite smell.
Another reason: If you are building a platform, a normal business application developer will not work for you. The Senior Management team in the offshore partner has to understand the kind of resources needed to do the work. Otherwise its counted as another FTE and you may not really get the value out of it. For that, the senior management should be able to understand technology.
4. Shortlist companies based after the criteria
5. Initiate the Discussion
6. Understand how the development works with your vendor. People like to position their best people during the proposal period, but they may not get involved in the project after the proposal
7. Understand the hiring Process. Your vendor may want to position some account manager/delivery manager to take care of the engagement. See whether he has good understanding of what you are looking for (agile, TDD/BDD, Automation, Technology stack etc..) IMO, everything starts from the engagement leader. If he is aligned with your objectives, you will have a very good offshore relationship.
8. Get the Proposal. Look at the details. A Proposal should contain more meat related to the current work under discussion than 50 pages of marketing material.
9. Finalize and Get Started.
Guidelines during Execution
Your actual work starts once you have finalized the vendor, sign the contract. Moving from a Vendor to Partner has to be initiated from both parties.
0. Get Involved in the Hiring Process.
Everyone likes to talk about getting an extended team offshore, but reaching there is not simple. It starts with Hiring. Today, every other vendor says we do coding tests. Great, ask for the questions. When a profile is shortlisted and passed to you, look at the code and speak to the individual.
Make sure the key resources are filled with the right skill set (like architects and technical leads… Need the technology depth, breadth, awareness of industry happenings, ability to write clean code, ability to bring in automation etc…)
1. Build Trust with the Resources offshore (Vendor’s)
Show them that you care. Give your offshore resources enough time to get started. Understand that the 20+ years of your domain expertise cannot be absorbed by someone in 2 weeks.
Don’t try to squeeze the resources. Understand the meaning of sustainable pace and help them get there. If the resources are putting long hours offshore that means your cost of maintanence will be very high.
2. Do the work from your side. Meet your commitments, Answer Questions, Give them detailed specifications before development starts in a sprint
3. Visit the offshore team once in six months (atleast)
4. Get your team visit your place and work next to you (on a regular basis)
5. Help them build best practices from day one (whatever was sold to you during the sales process)
6. Have a Successful offshore relationship!!!
Prakash, this looks like lots of work. I thought once i outsource, the load is off from me and the offshore partner will take care of it. Yeah… all these are applicable, only if you want an extended team offshore/near shore/some shore. Not a vendor outside!!!
Good Luck and Happy Offshoring!!!