Clicky Web Analytics

outsourcing, offshore failure, software development, agile development, distributed software development, ruby on rails development, .NET development, offshore outsourcing, outsourcing failure

Entries in software development (4)

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...            China outsourcing, India outsourcing, Pakistan outsourcing, Ukraine outsourcing, Philippines outsourcing, software development, outsourcing failure                                                                                                                                                    

Outsourcing Software Development? Look Before You Leap...

China outsourcing, Russia outsourcing, Pakistan outsourcing, Philippines outsourcing, Pakistan software, Russia software, Ukraine outsourcingThe 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 it unless you're smart, the cost savings won't be 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.


The Difference Between a Methodologist and a Terrorist?

software methodology, software engineering, software development, agile, scrum, .NET, java, ruby on rails, outsourcing, offshore software, india software, russia software

 

...you can’t negotiate with a methodologist.

Needless to say, following a good methodology is an integral part of any respectable software development effort, particularly when you’re working with an offshore team. In fact, most offshore horror stories have less to do with the technical expertise of the developers and more to do with how the project is handled. Many times projects get compromised because the vendor is juggling too many projects at once. Resources are scarce, teams get stretched, deadlines are missed… you know the drill.

Project failures rarely happen at the ‘ones and zeros’ level, so the real trick is to communicate with your team constantly (daily) to make sure expectations are clear and work is being done according to plan. So what you’re paying for is the set of principles that your vendor has established, their culture, their hiring and retention strategies, their growth vision, their industry expertise. The real question becomes, at the moment of truth, are they willing to cut corners and compromise these principles?

Even if they have technical weaknesses, working with principled methodologists who compromise for no one will always lead to success. Companies that define themselves and refuse to compromise will give you the only thing that really matters in business… trust.

It's Like Having a Gun to Your Head

I just saw a great video on the Scrum methodology delivered by Ken Schwaber at Google back in 2006.

Scrum is like having a gun to your head
; if you can't produce results, be transparent, look for the simplest solution, adhere to strict deadlines, be held accountable, work incrementally and iteratively, respond to dynamic change, and deliver quality, you, your project, your company, and your career are dead. It's not all gloom and doom though, you'll be surprised at what you can come up with if you actually do follow this methodology.

It's perfectly suited for offshore software development. In fact, I can see why distributed software development teams that don't follow Scrum or Agile usually fail.

But as you'll see, Scrum isn't for everyone. It means looking at the facts, good or bad, and making very tough decisions. True adoption of Scrum is a real test of an organization's culture. With Scrum, you can't stick your head in the sand. A very valuable lesson for anyone that's been part of a failed offshore development effort.