Wednesday, March 31, 2010

#6 Lack of Technical Expertise

In an effort to reduce software development costs, more companies are looking to outsourcing.
However, all too often, despite every effort to choose the right partner, IT executives find themselves stuck in a nightmare. In the beginning all seems to be a honeymoon; low prices, qualified people, etc. but further into the relationship, once you are committed, suddenly everything changes.

Maybe it sounds repetitive, but focusing only in the price could be the biggest mistake ever. Besides cultural differences or time zone difference, the absence of relevant technical expertise has been a key factor in the failure of software development outsourcing.

Dean Davison – Vice President of Service Management Strategies at META Group writes in "The Hidden Costs of Offshore Outsourcing" offshore vendors often lack developer experience. On average, IT organizations going offshore will experience a 20 percent decline in application development efficiency during the first two years of a contract as a result of such differences”. We have clients that say they had productivity losses of 50% when they went offshore.

When building software products not only is experience, but also specialized knowledge is required. The right expertise can mean the difference between success and failure. The offshore vendor’s lack of experience represents a significant risk to the Client.

American companies have been struggling with the lack of technology knowledge and experience of offshore teams. We can assume that all offshore teams have been already trained in the common technologies (e.g. C#, .Net, Java, etc), but the truth is that most of the time they are trained at the client’s expense, without their knowledge. When coupling the rate of attrition with the growth rate of the company, it is fairly easy to see that experienced resources move up or move out and leave inexperienced resources in their place.

The most common areas where a team will have to be trained are:
• Cutting edge technologies
• Client’s development environment
• Client application architecture, design, tools, etc.
• Client specific domain knowledge


What does it mean?


When you partner with an outsource provider you may need to provide domain training in conjunction with project kickoffs. Some refer to it as knowledge transfer.

In many cases, the client’s team may go offshore to visit the offshore partner, and/or some senior members of the offshore team may need to come onsite to get up to speed. Either way, face to face meetings will facilitate collaboration between both parties. Be aware of the vendor that suggests their offshore team come onsite for months at a time. That suggests they have a lot to learn and there may be another partner out there with more relevant experience.

Back to: 10 Ways to Fail at Outsourcing

Tuesday, March 30, 2010

#8 Fixed Price Contracts and Agile Project Management

A classic way to fail at outsourcing is not so obvious to the client or the vendor, and that is to attempt to fix the price, scope, and time line for a sizable engagement. Yes, fixed bid engagements ARE risky to the client!

The client believes that they are limiting the risk of cost and time overruns by getting a vendor to accept a contract with a specified price, scope, and time line. What they do not recognize is that CHANGE is INEVITABLE. Ultimately as the project progresses clarifications will be made to the requirements. Some will result in additional scope and effort beyond the original contract. To then engage in submitting change orders is standard procedure. However, the effort to identify the change and the subsequent negotiations to accept or reject the change can ultimately bog down the team and cause friction between the internal and vendor teams.

If you recall the last 20-30 years of software development with Waterfall lifecycles, a great deal of effort was put into identifying and documenting all the possible requirements. Sometimes, Business Analyst teams would spend 6-9 months documenting every last detail. Then, they would pass the requirements to various vendors for a bid. Eventually the client would choose a vendor that seemed to understand, had the most relevant experience, and would be willing to drop its price to match the lowest bidder, even if the lowest bidder was eliminated for other reasons.

Typically, at this early stage of software product understanding, the 2 parties would come to a contractual agreement, fixed price, fixed (perceived) scope, and fixed deadlines for finishing. The process for dealing with change, if dealt with at all, was identified as a change order process.

And the results are in on this style of contractual and project management.

70% of software development projects FAILED.

This is part of the reasons why Agile project management came into being.


So, particularly with Software-as-a-Service (SaaS) product development where early feedback from customers and investors is critical, smaller, adjustable scope engagements are much more appropriate.

Most companies that would consider outsourcing have a hard time trusting their new potential partners, probably with good reason.

So how do you create the right contractual agreement to match a flexible project management style?

The answer appears to be a little bit of everything. Allow for a fixed bid starter engagement that allows the foundations of the relationship to be set. 4-6 weeks seems about right, but it will probably depend on the size and duration of typical engagements in your field. Then, as both parties are comfortable with each other, a flexible scope, target cost agreement can be worked out. Imagine here a dedicated Agile development team with a fixed monthly cost and some performance objectives.

The following resources are very helpful for understanding the conflict between fixed bid and Agile project management.

Selling Agile: Target-Cost Contracts
How To Sell Agile To Fixed Bid Contract Clients
Agile Contracts - Lean Software Development

Back to: 10 Ways to Fail at Outsourcing

Thursday, February 25, 2010

#5 High turnover





One of the major challenges facing the Indian IT services industry is the high rate of turnover among Indian IT professionals.

I will start this article by telling a story.

Recently, we were approached by a software vendor that had outsourced its new product development to India and were looking to have someone else take over because they were fed up. They were 14 months behind schedule, had spent well over $1M, with 20,000+ high severity defects and were facing the loss of funding to move forward, which would cripple their business. But they choose their vendor wisely. They invited the team of 8 senior people over from India to engage in knowledge transfer for 3 months and sent their own people to India for several weeks.

So what happened? Well, besides the obvious time and cultural challenges of outsourcing software development to a far off land, they also had 100% turnover of the original 8 people that spent 3 months on knowledge transfer. The customer ended up spending much more time explaining what they wanted, retraining, and fixing bugs to no avail.

So, the point is that vendor attrition can seriously damage your project and even your business.

Why is this happening?

Rapid growth among outsourcing industry has created a dynamic labor market, especially in Asian countries. For example, companies in India have turnover rates exceeding 30% and for small companies it is not unusual to see offshore staff turnover rates exceeding 50%.

This attrition rate is primarily due to the restricted career options or growth opportunities that workers have. Some leave their career pursuing a higher education, but some others leave their current job looking for higher pay and more benefits.

Higher skilled resources generally have the highest attrition, because of the low payment and stressful work schedule. While working with an Asian country in a software development project, teams sometimes have to work night shifts or have calls in the middle of the night. All this is done to cope with the overhead caused by the time zone differences.

Staff attrition (or turnover) represents significant costs for the companies that obviously are charged to the client, increasing the cost of the project. “Some companies believe that the attrition rates in India—and the costs associated with them—are so high that they can override the benefits of lower wage costs.”

Even large companies, as Wipro, have to deal with this attrition rate. According to a report by Reuters, “Bangalore-headquartered Wipro said high staff turnover rates had forced it to replace 90 per cent of the 14,340 employees in its largely call centre-focused BPO business in the last year”

What to Do?

Before choosing a partner for an outsourcing software development project make sure their turnover rate is not more than 10-15%, thus ensuring that your project is completed in the agreed time and quality. Some customers seeking outsourced software development also specifically asked for the resource names to be designated in the agreement. In the end, it is a risk that should be considered.

*Turnover calculator

Back to: 10 Ways to Fail at Outsourcing

Monday, February 22, 2010

#4 Low skilled or under qualified resources




Offshore service providers faced with high demand and pressure margins, leveraged skilled, customer-facing resources to win deals and then assigned the work to low skilled resources that were simply order takers with little or no relevant experience.

Following the Waterfall development lifecycle, companies spent months producing detailed functional and technical requirements documents that were then thrown over the wall to vendor teams.

The results were often catastrophic. Projects took twice as long and cost twice as much. Quality suffered as buggy software plagued the release plans. The delivery resources were unable to provide insight and guidance to customer teams who believed their expectations were perfectly clear. Many vendor team members feared looking bad in front of their peers or the clients and would keep quiet about project challenges and delays. Extensive travel by both teams (customer and vendor) was required to put projects back on track.

Typically the results showed that projects cost 40-50% more than anticipated and there was a 30-50% loss of productivity caused by time zone and cultural differences, and the lack of experience, which goes to show, you get what you pay for.

Some companies, fearing the loss of control and poor quality, decided to setup their own captive development centers, hoping to get better results.

Even Google had some problems finding skilled development resources as they were competing for the best software talent. The company's Founder and Director Kavitark Ram Shriram admitted: “Google, which is considered to have a very low attrition rate even in the high-job-hopping Indian IT space, has found it more challenging to hire certain talent in India as compared to other parts of the world”.

Apple in April of 2006 commenced operations in India, but one month later shut down. Some of the reasons cited were: India isn't as cheap as it used to be, the turnover is high, and the competition for good people is strong. In the end, Apple felt it could do it more efficiently elsewhere.


How to Avoid Unskilled Resources


Later, wiser companies choosing to outsource to Asia, turn to outsourcing consultants to help them prepare RFIs, RFPs, and select responsible vendors. RFI questionnaires typically ask for the number of resources with a specific skill set, forgetting to ask how many might be available when their project is set to commence. Really savvy customers with more mature vendor selection processes choose to visit the final contenders and individually interview each resource that is tentatively allocated.

Finally, customers demand fixed bid project engagements with performance based compensation to incentivize the vendors to get it done right the first time. While this helps the customers control the costs, the delivery deadlines still get pushed out and the vendor is just happy they got the deal.

Ultimately, the best way to ensure that you will not get under skilled resources on your project is to do all the above and check with recent references.

Back to: 10 Ways to Fail at Outsourcing

Monday, February 15, 2010

# 3 Cultural differences – 10 ways to fail at outsourcing






How can cultural differences affect project success, you ask? Well, we begin explaining what culture is. Culture is defined as the shared patterns of behaviors and interactions, cognitive constructs, and affective understanding that are learned through a process of socialization. So, when talking about outsourcing, cultural differences have been regarded as one of the most serious challenges. In the context of this blog post, we are speaking from the perspective of North American businesses outsourcing software development.

Countries not only have their own cultures but also have certain work cultures. A good example is a meeting with Indians, that is typically lead by the most senior person in the team and sub-ordinates don’t speak unless their boss ask them to do so. On the other hand, in UK all team members have the same opportunity to talk at anytime if they have a valuable contribution. The same comparison could be made for many Asian counterparts.

Asians typically do not say “no”, especially if you are a client. They are used to satisfying their clients even if they can’t do it. Many dislike giving bad news, even though your project is having some difficulties they will probably hold this information back, hoping to resolve the issue on their own. However, what often happens is that problems are not resolved and some Asian outsourcing counterparts will continue to hide the problem until it is impossible to hide any further. Unfortunately for you the paying customer, this sometimes means finding out when it is already too late to fix it.

At first glance, this doesn’t seem as a problem, but when you are working with outsourcing teams this can turn into a headache. Why? Outsourcing requires excellent communication and a near perfect understanding of what is wanted and needed. This is difficult enough amongst same culture teams on the same office, let alone with different cultures in different time zones and in different countries.
Especially in the age of web-based software such as Software-as-a-Service (SaaS), when talking about the user interface, the look and feel is vital. All messages and content should be written to the intended audience. Even though programmers are from other country, they should speak and write with the customer’s language and understand the culture.

To mitigate these differences it is recommended to analyze various providers to choose the best for your specific business. For programming, be very specific in the requirements and be sure that it was well understood. A pilot project is highly recommended prior to a long term commitment.

The US has more cultural similarities with neighboring countries such as Canada and Mexico, while Japan shares more cultural similarities with India and China. Intermingling histories and borders make them more compatible and facilitate the work.

Back to: 10 Ways to Fail at Outsourcing


Friday, February 12, 2010

India, Still Cheapest Outsourcing Destination - Everest Group

"According to Everest Group, an outsourcing consultant group, India is expected to forge ahead in the offshoring landscape among top outsourcing countries. This is despite some stiff competition making waves in Brazil, China and the Philippines.

What would be the advantage that is unique to India, one might ask, apart from having six billion or more of the world’s population, unbridled poverty and a rising middle class? And the answer is: India scores high on the IT outsourcing checklist in three important categories – the massive talent pool (India is commonly dubbed the ‘world’s largest democracy’), very low cost structures, and most importantly a higher degree of cultural alignment to Western markets than outsourcing in China, for example.

In that regard, it is fair to say that the world buys Chinese goods because it’s cheap, but buys Indian services because they’re ‘West-aligned.’

Everest Group’s Managing Principal for Research, Eric Simonson told The Hindu’s Business Line, “We are in the process of wrapping up a survey we did, for which we have preliminary results from 400 responses. We asked people about their perception of different countries. On a scale of 1-5, India is the only country that scores five…If you look at other offshore locations, the volume is more ‘complimentary'. India is the hub, will be the hub.

Everest also noted that other countries are well poised and are aggressively pursuing the offshore market with some degree of success. However, when companies consider adding units, they tend to add units in India.

Research from the group suggest that of 116 new offshore delivery sites set up in 2009, a whopping 35 centers were cornered by India. Apparently, this was the largest number of new offshore delivery sites in any geography in 2009 with the Philippines trailing with 15 delivery centers – just 13% of the total offshore market.

The recent debate about India losing dominance as an offshoring site and the prominence of new outsourcing hotspots, i.e. Brazil, China, Pilippines, Poland and Vietnam has been offset by the results from the Everest Group.

Perhaps one of the biggest attributes of India is that it is one of the most inexpensive destinations for offshore operations in comparison with the aforementioned countries. For instance, BPO operations is about 85 percent cheaper in India in comparison with Tier 1 locations like Atlanta in the U.S. Similarly, operating cost in Brazil is about 50% less when compared to the U.S." Jacob Cherian

However, Everest Group is not focusing on Total Cost of Engagement (TCE), just the hourly rates.

The Total Cost of Engagement (TCE) evaluates the total expenditures of outsourcing projects. In addition to the hourly rates of engineering talent you must consider the cost of additional management overhead, travel costs, the painful cost of staff turnover, and a certain amount of productivity loss due to the distance and degraded communications. Most of these costs are directly related to the separation in time between teams.

In the end, outsourcing to India could be more expensive because of the TCE.

Thursday, January 28, 2010

#2 Ignoring Timezone Differences - 10 Ways to Fail at Outsourcing

In what is perhaps THE MOST CRUCIAL and FAILURE CAUSING item on this list, many forget that software development is HARD WORK and requires real-time collaboration much of the time. Regardless of the improvements in VOIP, development platforms, and people's willingness to start early and work late, the rip in communications caused by time zone differences is practically immeasurable. Just look at how many hours India and the US are separated.


The working hour overlap is NILL between San Francisco and Bangalore for example. Click on the image to plan your meetings with another time zone.

With the old Waterfall project management styles you would find that a team in the US would need to write out every minute detail of what the application should do and how it should function and deal with every contingency in advance so documents could be turned over to the development team to work on and whalah, overnight you will have working software. Didn't happen that way.

Some Indian companies are adopting Agile project management. Yahoo! This will improve the expectations factor but still communicating will be quite difficult.

What ultimately will need to happen is 1) the Indian team will need to work odd hours to communicate with the US team and 2) visit the US periodically to close communication gaps, while the 3) US team will need to visit the Indian team 3-4 times a year to deal with attrition, team morale issues, and productivity problems. Each time someone visits another 2-4 days are lost in travel time and jet lag, not to mention families destroyed because of all the travel. And each trip will cost a minimum of $2000 for airfare and hotel, etc.

In all outsourcing cases each team should visit the other but with greater physical distance, comes greater communication gaps and higher expenses. Ultimately this leads to a higher Total Cost of Engagement, which is NOT reflected in the rate per hour. Those who makes their decisions primarily based on the hourly rate deserve to lose sleep.

All of this points to doing business with nearshore providers to take advantage of the cultural similarities and cost savings. Did we mention that Mexico is a great location for application development outsourcing?

Back to: 10 Ways to Fail at Outsourcing

Wednesday, January 20, 2010

#1 Underbidding to win the deal - 10 Ways to Fail at Outsourcing

Underbidding to win the deal - so why should you as the enterprise IT manager responsible for choosing an application development partner care that your vendor is underbidding to win the deal? After all, if your project is fixed bid, there is no risk, right? Wrong

First, let's admit that a sizable share of IT projects fail and that any number of factors can cause a project to be considered a failure.

When a single vendor low bids to win a deal, you might choose that vendor over the next cheapest vendor because they were cheaper, not because they were better. You might even renegotiate with the 2nd cheapest vendor that is better, letting them know you like them but that someone else is cheaper. How can you justify spending 15% more even though the quality is expected to be more, right? This is the IT equivalent to dumping.

Here's what happens behind the scenes: Vendor A low bids the deal to win it. Perhaps they lack the maturity as a company to accurately estimate the effort required to deliver hte project. Perhaps they lack the technical skills to foresee the complications. Perhaps they know well that they are losing money on this deal and hoping to make it up by putting entry level developers on the project.

In either of these cases, they will most likely fall behind schedule and /or deliver a poor quality solution which will cost YOU frustration and extra money as you have to spend more to maintain a solution which was poorly built. We see it ALL THE TIME!

So, you saved on the initial project cost but ended up delivering late which may have cost you market share or revenue or just plain frustration. The final application quality is lacking which will cost you extra in maintenance.. Do you get it?

Unfortunately most IT managers making these decisions will NOT heed the warnings and advice and will make this mistake on their own a few times before they become wiser. Human nature I suppose.

Back to: 10 Ways to Fail at Outsourcing

Tuesday, January 19, 2010

10 Ways to Fail with Outsourcing

What would happen to you and your company if you choose the wrong development partner? Perhaps you already have, perhaps you are about to. There are several intricacies of working with an outsourced product development or application development provider that every company should be aware of. Each one of these factors below can have an impact on your project, either causing it to be late, over budget, or a technical mess to manage. Most of important of all is that focusing on the cheapest rate will probably NOT get you the best results. Companies seeking outsourced software development partners should be aware of these issues and tactics:


1. Underbidding to win the deal

2. Time zone differences

3. Cultural differences

4. Low skilled or under qualified resources

5. High turnover

6. Lack of experience with a particular technology

7. Unexpected overhead / expenses

8. Attempting to Fix the Price, Scope, and Timeline

9. Poor quality in architectural design and coding

10. Poor quality in documentation


In the following weeks, I will post more details about how the factors above can affect your IT project and how you can avoid such issues with your outsourcing partner.

Wednesday, January 13, 2010

IT Trends for 2010


IT Trends for 2010 say that despite of the ecomonical crisis from 2009, American technology companies will start hiring more IT workers this year but with caution.

"Current predictions of a fragile recovery for 2010 don't reveal the necessary strategic business changes and tough decisions that will be needed to make that happen across all sectors," said Cliff Lineker, BCS strategic business development director.

According to a Robert Half Technology Study to 1,400 CIOs, the 7% will be hiring IT staff in the 1st quarter while 4% will be decrease its workforce. The net 3% increase is up 3 points from last quarter’s forecast. However, IT Executives seem to be careful about hiring because they need to go slow.

BCS says that one of the key priorities for IT Heads in this year are “…to know exactly what skills their IT team possess going into 2010” and “…making sure they have the skilled staff in the right roles to exploit the value of IT consistently and effectively to move the business forward”. After knowing their needs about the IT Staff they could decide to remain the same or add more personnel.

However, many CIOs have recognized that hiring new people has more risks than expanding with an outsourcing partner. When you hire someone directly, you incur in all the overhead that this implies: recruiting processes, benefits, equipment for the workplace, training, payments, etc. with the latent risk that at any time the employee could decide to leave the company.

In the other hand, if you decide to go with an outsourcing partner, you can afford to choose whom to hire, depending on the benefits, qualification and the proposition that is given to you and the one that better fits your needs. In some cases, outsourcing partners can be responsible for the entire process and project, with SLA-like rewards and penalties that are difficult to implement with employees.

The options of outsourcing software development are: Onshore, Offshore or Nearshore. The disadvantages of outsourcing offshore are time zone differences, jetlag when a travel is required and total cost of engagement, etc.

While Nearshore Software Development to Mexico or LATAM Countries give many benefits for the IT Team, especially with regard to software and agile development referred. Indeed CIO magazine has identified 6 IT outsourcing HotSpots for 2010, which includes Mexico.

Followers

México: Competing with India

< name="wmode" value="transparent">