
Entries in Ukraine outsourcing (6)
More Than Cheap Labor: 5 Things to Know When Looking for an Offshore Team
Maybe you're working with an offshore team, or maybe you're thinking about
it. Or worse yet, you've been burned by an offshore "software sweatshop". We've
all heard offshore outsourcing horror stories. There are obvious advantages
(and disadvantages) to outsourcing. Here are 5 tips to help you choose the
right offshore partner.
1). High Value, Not Low Cost – In most cases, when you send work offshore, you're saving quite a bit of money. With that in mind, when looking for an offshore team, don't look for the cheapest provider. Since you're saving money anyway, you might as well look for the most sophisticated partner you can find. In addition to technical skill, you should evaluate their responsiveness, the types of questions they ask, and their ability to manage complex projects.
2). What Kind of Firm Are You Looking For? - There
are two kinds of (offshore) development shops. The first are low cost "software
sweatshops" who take your specs and do development. This is fine if you have
solid specs and are looking for a team to simply execute. The second kind are
companies that have experience with highly complex projects in specific
industries. They'll have the expertise to add value to your project by asking
"what if" questions and challenge your assumptions. They will act as a partner
and a peer rather than a vendor. These companies are few and far between. The
way to find them is to ask what role they've
played in the projects they've worked on.
This was said perfectly by Chris Lynch, VP of Engineering of eProject.com (now known as Daptiv)
"Our specs called for a partner that as technically competent and independent, [who] would tell us what they thought we were doing right or wrong, and who would function as an extended part of our team. We wanted a peer who had enough expertise of their own to recommend content and coding techniques as well"
2). Avoid 'Yes Men' – You'll find very good technical people all over the world, but finding people who are reliable is next to impossible. Our philosophy is that a sign of maturity is the ability to say 'no'. It's extremely rare to find a vendor that will tell you like it is. We've heard countless stories of offshore firms over-promising and under-delivering. You need to look for a partner that can be honest with you from day one, even if it means they might lose your business. A company that sets up realistic expectations is a company you can rely on, even if it's not the answer you wanted to hear.
3). Ask How They Hire and Retain – Attrition is a big problem, make sure you don't get bitten. Experienced developers are constantly looking for the next best offer. Rather then asking about the company, ask about their criteria for hiring people. This will indirectly tell you about the character of the company.
4).Quality, Quality, Quality – It's tempting to believe that sending work over seas will automatically save money. While the hourly rate is significantly less, we've seen many companies spend 3 times more than they expected because of constant rework. Needless to say, you should ask your partner about their QA procedures. Reliable firms will always include a dedicated QA resource in every project. Experience shows that many software problems could be easily averted by implementing a strong QA methodology at the beginning of the project.
5). Go for the Long Haul – The real value of outsourcing is nurturing a team that can work with you long-term. Longer projects are better suited for outsourcing for a number of reasons. Assigning the right resources to the project, flushing out project specs, establishing clear communication channels, and knowledge transfer between your onsite and offshore teams all take time. Eventually, your offshore team will become an extension of your local team.
Software Specifications and Outsourcing: Don't Forget to Flush
I had a conversation with Pete Segar, the CTO of Ergotron a few weeks ago. I read about him in an article about domestic outsourcing and how it's becoming more of an imperative for mid-market firms. More outsourcing firms are targeting mid-market companies (Pete gets his fair share of cold calls). Ergotron is working with an offshore team in Belarus. The biggest reason for working with them was the fact that they had a local office in Minnesota. This helped reduce the inevitable communication breakdown of working with resources half a world away and provide a level of accountability. The biggest problem with global sourcing is accountability. Software project failure Cost overruns and missed deadlines are a grim reality of most software projects, doubly so for offshore/outsourced software projects.
Another big headache when working with an offshore engineering team is the amount of time it takes to develop an adequate spec. I've always said that finding an offshore software development team is easy, but finding a team that understands you and is committed isn't. Finding an offshore body shop full of programmers is incredibly easy, but the real value is outsourcing is choosing a team with the experience, tenacity, and insight to help you flush out a spec. Most companies that choose to outsource do it because they don't have the resources or experience to build their custom applications. The point of outsourcing is to find a vendor with the right skills and experience to solve your problem.
The best way to evaluate an offshore vendor is to find out their level of experience solving problems similar to yours. It's not necessary that they are domain experts, but they do need to have a problem solving attitude. This means helping you determine the "what if" scenarios of your application, asking lots of questions, and making sure that their solution reflects their understanding of your problem as a business problem, not a technical one. A strong QA focus is critical also because it indicates maturity. Your ideal offshore software partner will seek to understand your business and make suggestions, not be a passive accessory. To this effect, Narayana Murthy, founder of Infosys spoke of their shift from problem solvers to problem definers:
"We want to be proactive problem definers rather than reactive problem solvers. We want to be chefs rather than short order cooks. We want to go sell high, so we are selling to a high level executive who has a more complete picture of the problem and we want to be trusted advisors to that senior executive so that we can have a shot at helping him define the problem, and then the solution automatically follows that."
Mid-market CIO's are in a tough spot. On one hand their CEO's are pressuring them to cut costs and pursue a global sourcing strategy. On the other hand they are bombarded with calls from offshore engineering firms in India, Vietnam, Ukraine, Brazil, and the list goes on. As smaller companies look for more than cheap labor when looking for an offshore software team, it's too bad that the Infosys's, Tata's, and Cognizant's of the world that have cultivated vertical expertise aren't beating on their doors for business.
Insourcing, Offshoring, Nearshoring, Dual Shoring, Multi-Sourcing, Rural Sourcing? What ever happened to good old outsourcing?
Jon Graham shared the following outsourcing advice for newbies... 
"The outsourcing movement has just reached puberty and will be maturing over the next few years. In the past, it was thought that only large organizations could afford to outsource, but that is not the case any longer. The small to mid size companies are getting into the game as well. However, for the outsourcing newbie's out there that want to take the plunge, there are a few things to consider in order to ensure success."
Whether you're looking at
India, Russia, Ukraine, Vietnam, China, Brazil, Montana, or the
Philippines, outsourcing isn't easy. Here's a list of tough questions
you need to ask:
1. Process: How am I going to manage the work that I am going to outsource? What processes and procedures do I need to have in place? How often do I want updates? What level of information do I need? What delivery model am I comfortable with?
2. Tools: What tools can best help me manage the process I've defined. Do traditional individual tools work; mpps, word docs, emails, spreadsheets? How can I get real time project updates about vital project statistics/metrics? Is there single web-based, software development management (SDM) system?
3. Vendor Selection: What type of experience/skills/corporate culture does my service provider need to possess in order for us to be successful together? Is this a one project stand or is there potential for a long term engagement? What types of work has this vendor done in the past. Interview them as you would a potential employee.
The Old "Follow the Sun" Pitch
(This is not a new post. I just decided to change the title...)
A lot of offshore companies will tell you (primarily India, Philippines, China, and Vietnam) that if you work with them, the timezone difference will allow them to work while you sleep. They're an asset because you now have a 24/7 development cycle. Sadly, it's often a liability. 
In most cases we've seen, unless the specs are really good, and the development team sees the big picture, a 24/7 development cycle becomes a 24/7 headache. The lesson is that you should either have good specs, or be prepared to pay for specs. A mature development team will tell you this from day one... it's a sign of maturity. We've seen too many floundering projects resulting from poor specs.
I met a guy that was looking for offshore Java developers. He did a lot of research and ended up working with a company in India. As expected, part of their pitch was that they program while the client sleeps, a real 24 hour development cycle. We've heard this pitch before, and in theory it sounds good, but it assumes that the developers don't make any mistakes. In our experience, problems occur when requirements are not clear and there is a lack of communication between both parties. The client ended up working with a "near shore" vendor, but the following advice could help prevent problems with your offshore team.
-Committment on both sides: Make sure you have a local and offshore project manager. The local PM will communicate with users or internal stakeholders and the offshore PM will communicate with developers. It's helpful if they both have experience working with distributed teams.
-The Key to Any Relationship: Whether it's a marriage, a football team, or a team of software developers, consistent and structured communication is the only way to prevent heart-breaking (not to mention bank-busting) misunderstandings.
-Proper Methodology: Agile or Scrum methodology is helpful because it's highly iterative and allows for changes
-Solid QA: The offshore team needs to have a solid QA process in place. Developers aren't the best testers, and they shouldn't have to be. Make sure your offshore team has heavily invested in QA. Ask about their QA process and how they ensure that their work makes the grade.
-Find Solid Developers: Past work, a pilot project, or an exam are all helpful to make sure you're getting a qualified resource. It's not always critical to get an incredibly experienced developer as long as they have a good attitude and are willing to learn. An honest vendor will tell you the strengths and weaknesses of their team.
Software development is a piece of cake... or is it?
This excerpt came from a post on Gunnar Skogsholm's blog about software project failure... Software development hard. Right from the beginning there are a million things that could go wrong. This list on comes from
Software is risky business. Here's what can (and usually does) go wrong:
- team dysfunction
- failure to understand software (process, costs, etc)
- lack of leadership or vision
- failure to understand, communicate, document the problem domain description
- failure to architect a solution
- failure to design a software application
- failure of project management
- failure to select good tools
- failure to select reliable technologies
- failure to implement the software
- failure to test the software
- failure of quality assurance
Software development is...
Outsourcing Software Development? Look Before You Leap...
The US economic recession is hitting a lot of businesses hard. I got an email from the CISO of a large publicly traded company saying that they're looking for new outsourcing destinations since wages in India are rising. Apparently outsourcing to Pakistan, is becoming more attractive, as well as other countries you wouldn't immediately associate with software outsourcing like Slovakia, Vietnam, and Turkey.
But there's more to outsourcing than scouting out the next low cost destination (unless you want to get burned by a software sweatshop) Outsourcing isn't easy, and unless you're smart, the cost savings won't be the main factor leading to your decision. Tons of reports have suggested that you don't save nearly what you initially expected. It's easy to think that sending work overseas is a cinch; IT'S NOT. Outsourcing works great if there is a clear understanding of the nature of the relationship. Relationships based on trust, partnership, and value should always outweigh low cost. It's a matter of time before your offshore vendor raises their prices. Stop chasing the next low cost offshore destination. Outsourcing is not as easy as you think.
Keep the following points in mind when looking for an offshore vendor:
1). Lack of Communication: Expecting to send work to some foreign land without both sides being vested in communicating daily will lead to failure. If you go offshore, be sure that you're ready to spend time discussing the status, challenges, accomplishments, and goals of your project.
2). Undefined Requirements: I recently asked a question about software project failure on LinkedIn a few weeks ago and was overwhelmed by the quantity and quality of the responses. It was actually in response to an article that I found on the Wall Street Business Technology blog about failed corporate IT projects The main theme from the 76 answers (and counting) that I received is that unclear specifications and lax project controls result in failed projects. With onsite IT projects going belly up, can you imagine how hard it is to keep an offshore project on track? Don't underestimate clear specs.
3). Currency Fluctuation: Now this is really sad. Companies that went to India 5 or 10 years ago are now looking for the next low cost country to shift their operations. Don't make lowest cost the only reason for choosing your offshore vendor; it's short-sighted and unsustainable.
4). Corporate Culture: Do you value quality over the lowest cost, do you treat your employees like the geniuses that they are, do you make decisions based on principles and values rather than expediency? Well you better make sure your offshore partner does also. Often times they won't be the cheapest, but they'll be your ace in the hole.
5). Losing Key Resources: Too many offshore projects are hindered because of attrition. This is an all too familiar problem with companies that have sent work offshore. In developing countries like India, wages are rising, diminishing most cost savings. The rising wages mean that there is more opportunity, so top talent is jumping ship for more lucrative opportunities. Does your offshore partner hire generalists or experienced specialists? If your offshore vendor is a "we do everything/one size fits all" firm, chances are they'll have high turnover. Truly great companies are very selective about who they hire and fanatical about keeping them happy. No doubt, not everyone will be a superstar, but experienced team leads will bring the best out of the rest of the team.






