Friday, September 10, 2004

Outsourcing or Innovation

I was reading An Elder Challenges Outsourcing’s Orthodoxy, yet another discussion about the merits — or not — of outsourcing. (You may have to register to read the article.) Whether you think outsourcing is an economic good or evil, here’s my perspective.

You can choose to turn your products into commodities or you can innovate. If you choose commodity, then select the cheapest labor market — because it doesn’t matter. You’ll get something good enough in an adequate time, assuming you made some reasonable choices about outsourcer and spent the time and money to get them up to speed.

But if you choose innovation, you can’t outsource. You can’t define all the requirements and hand them off to anyone in a highly innovative product — requirements definition and product development have to be a joint exploration — and you can’t do that when the definers and the developers (and testers) don’t sit near each other. You can’t wait for a product to be done — you need to see the product unfold and adjust the product (or the project) to accommodate the things you forgot.

The third option I’ve seen is to outsource ongoing development with a piece of the product and continue developing in the original country. In all the cases I’ve seen, outsourcing slows down the entire project. In my opinion, this happens in the same way all non-co-located development breaks down. People aren’t together, so they’re not tied into what other people on the project are doing. The lack of face-time prevents people from working as fast as possible.

You can get cheap development — and you can’t also get adaptability or speed.

You can get innovation and speed. It’s not cheap. But with careful project initiation and management, you can contain your costs. Just don’t make the error of thinking that you can create innovative products cheaply by relying on outsourced labor.

Sunday, August 29, 2004

Links to Read and Consider

Take a look at these links:

1. Tricks of the Trade, thanks to Dave Liebriech. When I was a tester, I read the code (this tip is far down on the list.) I’m not sure the developers appreciated my questions, but if I didn’t understand something, I asked.

Here’s a tip I learned for people who need to facilitate meetings:

Always take blue painter’s tape to a meeting. You can use it to hang flip charts on any wall, or to organize index cards or stickies together, without fear that the adhesive will stick to the walls. You have to be more careful with paper, but the glue on the back of painter’s tape is less sticky than other tape.

2. Outsourcing? Consider the Source. I was a “quacko” (tester) with Tom Parmenter a long time ago. I vividly remember telling one manager or team that they could choose to release software that couldn’t be installed, but I wasn’t going to sit on the phones explaining the magic required to make the install work. We used an incremental/iterative lifecycle, organized as phase-gates. It worked (unless someone tried to finesse the exit criteria for a phase), but only in our culture. Culture matters, as well as process if you’re going to consider outsourcing.

Thursday, April 24, 2003

Deciding When to Outsource

I had dinner last night with a CIO who’s working on outsourcing a significant part of his development and testing. He suggested that any senior manager who’s not thinking about outsourcing and how to make it work is missing the boat. “When you’re in a fixed cost development situation, and people are most of those costs, you’ve got to go where the people are cheaper.”

After dinner, I read Critical Path, an article that says the IT career path is not very interesting because the jobs are moving offshore.

Ok, so here are two data points: the we-have-to-do-more-with-the-money-we’ve-got, and the our-jobs-are-changing-or-going-away perspectives. As a 25-year veteran of the industry, I say, ok, this is what happens in business.

As work becomes a commodity, the work moves to the cheapest labor pool that can handle the work. This started with the clothing business in the 1970’s and continues. Most of the clothing we wear in the US is cut, sewn, packaged, and shipped from other countries. As call centers became commodities, first they moved to rural areas in the US in the 1980s and 1990s. Now the call centers are located in India (and other relatively inexpensive labor pools). Many manufacturing plants moved to Puerto Rico in the ’60s, ’70s, ’80s, where the workforce is educated and cost to manufacture is cheaper.

If you manage a fixed-cost IT department, where IT is a cost center, not a possible revenue generator, then it’s your fiscal responsibility to consider how to accomplish more work for less money. You can attempt agile techniques, which require substantial change, or you can consider outsourcing. You can also consider managing the project portfolio, so that you make progress on one project at a time, instead of progress on none of the projects ever. :-) Except for outsourcing, the other alternatives require management change.

It’s not easy to manage an outsourced project. (No, don’t even think about outsourcing the testing. Outsource the whole darn project, not just the part you don’t understand or don’t particularly value. Otherwise, your results will be inadequate, not worth the money you invested.) You have to build trust with your outsourcers, create requirements, give feedback, use common tools, and so on. All the things you need to do with an in-house project. The only difference should be the cost of the people’s salaries.

If you are a revenue generator, not just a cost function, consider outsourcing when your products are in the mainstream, or have hit the late majority (Geoffrey Moore’s high tech marketing model). That’s the time to lower your costs and increase your margins. And it’s the time when the work is no longer “interesting” to the people you’ve hired.

I don’t claim to have figured out outsourcing, but it’s a fact of life. The more your IT shop looks like a factory, the more likely you will have to outsource and soon. If you’re creating new and unique products, you don’t look like a factory. Then look at Moore’s model to consider when outsourcing makes sense. If we plan for it and plan to make it work, we can decrease our current fixed costs and be ready for outsourcing. Let me know your experiences.