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 Pakistan business (6)

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.   India outsourcing, China outsourcing, Brazil outsourcing, Costa Rica outsourcing, software development, Pakistan outsourcing, .NET development, Java developer

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.

Outsourcing Reality Check: Good Developers Aren't Cheap

So we all know there's no such thing as a free lunch. But intellectually knowing that doesn't stop smart people from believing it (myself included). Whenever you pinch pennies and cut corners, you're gonna get burned. It's a law of nature; there's no way around it, period. Like they say, when it comes to cost, time, and quality, you can only have 2 out of the 3. software development, offshore, outsourcing, ruby on rails, PHP developers, software engineering

I own an outsourcing business based in Chicago... and we don't sell ourselves as the cheapest provider.

Consider this, a friend of mine visited India a few weeks ago and wanted a custom shirt made. It cost him $45 bucks, $42 for the material and $3 for the labor; labor is the only cheap thing in developing countries. Energy, office space, etc. is the same:

  • Gas in Pakistan is about $5/liter
  • Rent is close to $1200/month
  • Electricity is about $400/month and it isn't even reliable so we're seriously thinking of putting down $30 grand to install solar panels. Solar panels in Silicon Valley is common, in Pakistan it's unheard of

This doesn't take into account the benefits we give our employees like lunch, health care, etc. If we didn't do any of this, our good developers would all quit and we'd be stuck with a bunch of crappy developers.

We do NOT want to run a software sweatshop. We want to attract and retain good developers and we know that it costs money to do that. We look for clients that value quality over pinching pennies.

If you're working with a software sweatshop, then yes, you should expect dirt cheap prices (some firms are charging $3.36/hour!) If you don't think the quality is worth what you're paying, then work with someone stateside. Prices are rising, so companies like mine sell value, not sweatshop prices.

Nothing worth value is ever cheap. Yes, you will save money by working with an offshore development team, but you'd better be prepared to work with a firm that sells value, not cheap labor.

Indian Outsourcing: ISO this, CMMI that...

outsourcing partnership, offshore partnership, outsourcing vendor, offshore vendor, offshore firm, outsourcing firm, offshore software, outsourcing softwareI may have lost a client, but I think I just made a friend... I just had lunch with the owner of a company we were trying to do business with. They sent out an RFI to a bunch of outsourcing companies. He was looking for a smaller shop that could grow with him give him the attention he needed. We spent two weeks looking over the RFI and crafting a very detailed response; and then we waited. We didn't end up getting the deal, but it looks like the beginning of a good relationship (he paid for my lunch today as a way of thanking us for responding to the RFI). We discussed our business, past failures, and the excitement of being a young entrepreneur a new father over fish tacos and guacamole. He just got back from a trip to India visiting some potential offshore partners and wrote a fun set of posts India is Winning...  and Delhi Belly (hilarious)

We didn't lose the deal because of anything we could control. We have a solid technical background and an aggressive, problem-solving attitude, but we lost the deal to an Indian competitor that was obviously much bigger and more experienced than us. Our size, the political situation in Pakistan, and the fact that we haven't completed our ISO and CMM certifications influenced the client's decision. But that's ok, it comes with being an entrepreneur, it's just a part of the growth process. The encouraging thing is that it seems like we're on the right track in terms of attitude, technical skills, and vision. This wasn't our first deal and it won't be our last. In fact, now that I've met with the client, I have the opportunity to learn from him and gain advice on how to grow my own firm. It's funny how things turn out... this may lead

This weekend, two of our guys and my partner, Nayyar, just got done putting in 35 hours of emergency development work for a client with a big demo on Monday. The client made some last minute changes and was freaking out because we hadn't fully implemented them... a real nail biter. After we took care of that situation, I was talking to Nayyar about our lost deal on Skype and he said "one more thing that is more important then anything else.. They may be agile, CMM whatever but r they committed and dependable? That he will only find out after working with them"  With offshore software development, the company can be ISO-this and CMMI-that, but at the end of the day, it's all about how committed they are. A client of our was working with an outsourcing company that was a Microsoft Gold Certified partner. He was burned so bad, he wanted to give up on outsourcing.

When Nayyar and I spoke later he told me that we're going to raise our rates higher than I thought. I have to admit, I was scared "How can I sell this rate?" Other companies are charging much less than this. No one's gonna buy from us, we're going to go out of business" But then I thought about what Nayyar said and I remembered that we're looking for good clients that demand quality and are willing to pay for it. It reminded me that we're selling high value, not low cost.

At first I was uncomfortable with the rate hike, but coming from a guy who spent 35 hours of his weekend helping a client in need, I'd say he's absolutely right.


6 Reasons Why Hiring Good Developers Is So Hard...

Looking for your next rock star developer? A Java developer, is a Java developer, is a Java developer. The only real difference is how well they can solve a problem. Developers are easy to find, but people who understand what you're trying to do and are fanatically committed to do things better isn't. This post was inspired by my own experience with other software entrepreneurs hiring software developers (.NET, Java, PHP, Ajax, Ruby on Rails, etc.) and a great post called How to Recognize a Good Programmer

We talk to lots of startups that outsourced development work... and now they're disgruntled and unhappy with their vendors. So when we work with clients our developers have to be super sharp (to make up for the natural bias against cheap offshore developers) Our focus isn't on technology as much as it is on our problem solving attitude. We're not the biggest, we're not the cheapest, and we aren't rocket scientists... but we're tenacious as heck.
programmer.png
On the flip side, hiring developers is a headache. We run into the following problems:

1). Chicken and the Egg: Newbie developers are a good long-term investment, but there's a steep learning curve associated with hiring and nurturing them into superstars. But it's better for us because it increases our retention and builds company loyalty. The trick is to nurture the programmers so they feel more confident in their abilities and more fulfilled at work. It sometimes requires us to see more in them than they see in themselves.

2). Ego Check: Experienced developers have big egos and have usually picked up a lot of bad habits over the years. Breaking these habits isn't worth the headache. We've actually had some very humble, well seasoned programmers come on board. They're real gems and serve as role models for the younger guys. Sometimes even having heavy hitters like them around makes everyone else in the office feel better... "well if he works here then this company is really going somewhere"

3). Hit the Road Jack: Bad developers like to inflate their credentials and salary histories. We've gotta be really meticulous here and test them like crazy.  We look for developers who have a "work first, money second attitude" This doesn't mean that we hire cheap developers, it means we hire people that fit our culture. We've had to fire people that weren't committed to building a great company. They were lazy and were dragging down the entire office (even though they were decent programmers).

4). Oh Yes, There Will Be Blood: All-star developers aren't sitting on the street with a 'Hire Me' sign on their forehead. We have to build a company that attracts great talent... or at least people with the potential to be great. It costs a lot of money, but it's worth the investment in the long-term. There is war for talented software developers, and in high demand places like India, Singapore, and China... it's getting bloody. Luckily, emerging outsourcing destinations don't have to deal with the attrition/talent shortage. With any luck, by building a stellar company that attracts good developers, they'll beat a path to our door (I sure hope so).

5). Where Do You Think You're Going?: Once you've got great developers, you have to keep them stimulated or they'll drop you like Jessica Simpson dropped Nick LaWhatsHisFace. The pressure is on me (the marketing wing of the house) to find clients that are doing cool, innovative stuff.

6). Time to Step It Up: Convincing our good developers to graduate into PM's and coach the next generation of talent. This requires more convincing for some than for others, but it means we have to understand their true aspirations. The list goes on... but it definitely keeps us busy. We're currently looking for 3 developers at our offshore center in Pakistan. It's  bittersweet because Pakistan's outsourcing industry is still in its infancy so attrition isn't as bad as in India... but finding good talent is still pretty hard.

Hiring, aggressive, solution-oriented problem solvers ain't easy... but it puts food on the table. Unless I invent the next million dollar fad a la Pet Rocks, Sea Monkeys, Tickle Me Elmo... I'm gonna have to keep figuring out how to hire good developers.

 

Bhutto and Pakistani Business: Lessons from India, Ukraine, and China

On Thursday, the 27th of December, two-time Prime Minister of Pakistan, Benazir Bhutto was gunned down after a speech at a rally outside of Islamabad. The perpetrators and motives of this crime are not known for sure, but it is an event that has drawn Pakistan even more unwanted attention.

Pakistan.jpg

Some say that Pakistan, which could have been a real hot spot for IT and BPO services, is a real mess. No doubt, unstable political conditions, civil unrest, and an unpopular government have thwarted Pakistan's real potential. But as mentioned in a previous post (Doom and Gloom in Pakistan) true business people in all parts of the globe exhibit one key characteristic; resiliency. Consider this:

India: The Indian businessmen that pioneered the outsourcing phenomenon 20 years ago went to great lengths to get their companies off the ground. Socialist India made it very difficult for Indian businessmen to do something as simple as purchase a computer. Throughout the 90's India dealt with the threat of war with Pakistan over Kashmir, chilly relations with China, and an ugly spat of inter-religious riots. Through it all, India's visionary businessmen assured their frantic clients that all would be well. Today, the Indian government is more pro-business than ever and is THE desired outsourcing location for the entire world.

Russia: Since the fall of the Soviet Union, Eastern Europe has been plagued with crisis. The dramatic fall of the Ruble in the 90's rocked the Russian economy like never before. In more recent history we see the imprisonment of Russian oil tycoon Mikhail Khodorkovsky under somewhat questionable charges of corruption. The brutal war in Checnya is another potential detractor for Western businesses considering Russia. Let's not forget about the mysterious death of former KGB agent Alexander Litvinenko last year. Despite Vladimir Putin's KGB history Russia is an increasingly attractive alternative for highly complex software engineering.

 Ukraine: The growth of Ukraine's outsourcing industry has been incredible in the last few years. Let's not forget that  then Presidential hopeful, Victor Yushenko, was poisoned by parties suspected to be loyal to Russia (if not by the Russian government itself) If you haven't seen the pictures of the damage to his face caused by the poison, look here.

China: Despite lack of basic political freedom, a tainted human rights record, scandals involving tainted and defective children's products, China is gaining popularity as an outsourcing destination by reputable firms like IBM, Accenture, and EDS. What's even more surprising is China's contempt for intellectual property rights and international anti-piracy initiatives. And it's still an outsourcing hotspot?

Yes, Pakistan has a major image problem, but in life, unfortunate events do occur. It's the job of every business man to insulate his customers, employees, and vendors from these circumstances and do his best to work with the hand that he's dealt.