Bill Miller, who writes You Want it When?, a blog focused on improving the way you manage software development and I had a debate over email about outsourcing. We looked at pro’s and con’s, and our discussion centered around the best outsourcing model, and what the ramifications of outsourcing really are. Read on to see the back-and-forth.
Bill and I started this debate based on the following:
- We really enjoyed some back and forth discussions that grew around other topics we had written about previously and wanted to do it again. We both really respected the other person’s well-reasoned positions, and both felt that we learned a lot from the other person.
- We thought it would be even better if we were able to open the conversation up to others – so we decided to have a debate that we would then post to our blogs so that other people could join in, or at least see reasoned arguments on both sides of the issue.
- There are a lot of thorny issues where reasonable people can disagree. We looked forward to discussing one of them, and look forward to discussing more of them.
Bill had a great suggestion – we are each posting a copy of the back-and-forth (we couldn’t figure out a usable way to make you go back and forth between our blogs). If you want to make a point or ask a question of Bill, post it to the copy of the debate on his blog. If you have a question for me – post it here.
The Outsourcing Debate
What do you think the best model for offshore outsourcing is? To narrow the field (initially, I’m sure it will expand as we go), let’s use this article to frame our discussion:
Outsourcing Models for Software Development (at ThinkingStreet.com)
I think the best model, when trying to write innovative software is to start with low-level outsourcing, until you work out the kinks in operations and develop mutual trust. Then I think you should move to high-level outsourcing and leverage the increasing skills of the team you’ve partnered with. I don’t think you should go to the next step of complete technical outsourcing. As much as some people want to believe that it is effective, and it may be, in the short run, it is a recipe for long term failure. If you lose the capability to innovate technically – both in products and process (QA, etc), you die a slow death. Further, I believe the collaboration of “to solve this problem, I think we should do this – what do you think?” is easier than an open ended charter across cultural, language, and temporal boundaries to “solve this problem.”
I’ve read your article and your email that started this off. You’re email actually raises a number of issues that we can discuss. I’ll start on this one: “I don’t think you should go to the next step of complete technical outsourcing. As much as some people want to believe that it is effective, and it may be, in the short run, it is a recipe for long term failure.“ We have to get some better definitions of what complete technical outsourcing means. What if the technical center is owned by the company is that complete technical outsourcing? For example, at one multi-national company I worked at, we opened up wholly owned offices in India and moved entire products to be developed in India. Would you consider that complete technical outsourcing? The motivations for opening the technical centers in India were entirely based on saving operating expenses. When I was at another multi-national company, they had development offices on every continent on the planet except for Antarctica. Is that complete technical outsourcing? When you have another company do the work in a remote office, is that the only form of outsourcing? The challenges are similar whether you own the offices or you contract for the people. If you hire a company in the same city to do all the work, is that complete technical outsourcing. I’m trying to understand what about outsourcing is unique that makes it a slow death if it’s complete. Is it distance, the fact that another company is doing it, both or something else?
You die a slow death when you outsource everything, because you are outsourcing your innovative capabilities along with the contract to create short-term innovations. Neither of the multi-national company examples you gave have that problem. In both examples, you’re keeping your intellectual property “in house.” I would say, generally, that the location that does the work is the one best equipped to invent the future. As long as your company owns it – and is ok with the innovation coming from that location, then great. But if you don’t have control / ownership of the group doing the work, you’re doomed to a slow death.
I agree with you that all geographically distributed teams face the same execution challenges more or less. That element is just one of efficiency. If the extra impedance and (presumably temporary) inefficiencies of transitioning work to a different (again, presumably) lower cost provider are smaller than the savings of distributing the work, it makes sense.
But not when you give away the responsibility outside of your company.
The employees at both multi-national companies that I worked at felt there was no difference between a consulting outfit taking the work and an offshore development center being created to take on the work. Most felt the fact that the work was moving away from the originators the project was doomed to failure. They thought it was doomed to fail because the team and the knowledge base was destroyed in the process – true for either model. Do you really lose the IP when you give the work to a consulting company? I don’t believe so because the requirements, designs, and code are all owned by the company doing the outsourcing. Isn’t the IP the artifacts? Programming, managerial, and QA skills are not so unique that they cannot be reassembled elsewhere. The fact that they are reassembled from the US to let’s say India in the form of an outsourcing model is proof of that these skills are readily available. There are inefficiencies in reassembling teams that slow progress down, but once the team is up to speed, they should be just as effective as any capable team of doing the work.
Maybe “slow death” is too harsh. How about a door rusting shut? You can open it again, by reinvesting in getting the IP back into the company, but you are introducing an effort and challenge that must be overcome to do it. When you “outsource” within your company, you are only moving the expertise and “off cycle inventiveness” that comes from having a working familiarity with the space. When you outsource outside your company, you no longer have anyone who can do that work (without a ramp-up or investment period).
Imagine that you are a publisher of horror novels. You have in-house authors that write for you. You sack them, and get freelance authors to write books for you. Initially, they are writing on spec – creating books based on ideas your authors already had. Eventually, they are writing books based on their own ideas. Being immersed in the horror genre for a while, they’ve gotten pretty good at it. And they ship you all of the books and outlines.
Then one day, the authors decide to cut out the middle-man (you) and self-publish.
Just because you have a stack of books and outlines that they created for you does not mean you are in a position to write and publish horror novels any more. You have to start over.
Some people use off shoring and outsourcing interchangeably, and I was looking to understand if you were too. As I understand you, you see them as two separate models: off shoring works and outsourcing is a death sentence. I’d like to explore that more, but I need to understand your position on IP better before I can.
You seem to be using a nonstandard definition of IP. IP is a product of people’s minds: art, technology, design processes, solutions to a problem, trademarks, patents, etc. These are all protected by international law. Companies own IP; they don’t own people. The IP isn’t lost when you outsource or offshore. I tried finding a definition that supported your use, and I was unable to find it. Here’s one reference to IP definition on a Cornell University web site. http://www.library.cornell.edu/newhelp/glossary.html#I I don’t accept that IP is lost when companies outsource or offshore unless they give it away in the contract. I’d like to understand better what it is that you feel a company is losing when they outsource to respond more effectively.
Great points, Bill. I believe that the phrase “invest in your people” is more than a platitude – that years of immersion in, exposure to, and thinking about a domain creates an unrealized asset in the minds of the people. You’re absolutely right that “yesterday’s ideas” are your property in an outsourcing arrangement. I see those as two different classes of asset. But they are both intellectual assets, and in some respects, they are both property. Hence my liberal use of intellectual property as a short-hand description of the stuff in people’s heads.
When you’re investing (implicitly) in the heads of the outsourcing employees, you are doing it at the expense of investing in your own people.
And this effect will only be felt in the long run – “yesterday’s ideas” have the same value regardless of who invented them. And as you point out, in an outsourcing arrangement, you own those inventions. Since few management decisions are made with the long run in mind, it is easy to see the allure of outsourcing as a short term cost reduction with no tangible or immediate down-side. My contention is that there is a long term down-side.
I can’t say I like the changes taking place in the IT industry with regard to outsourcing and off shoring, but that’s only because of my own personal reasons. The corporate world is changing. I don’t believe it makes sense to fight inevitable change. Globalization is here to stay, and so are it’s consequences to how we work. It’s similar to the changes that occurred in the 18th century at the dawn of the industrial revolution with similar effects on how people live and work and how business is conducted. But I don’t believe all the outsourcing is motivated out of cheap labor because of globalization. It’s because the software industry has matured and global commerce is changing business practices.
As the corporate world evolves, many activities that were once done in house are now outsourced: whether it’s through a consulting arrangement or the purchase of services from a 3rd party provider. This makes obvious sense when the services or products are not strategic for the company. For example, ADP and Paychecks do payroll processing for many companies. It should be cheaper for a company to purchase this service from ADP and Paychecks than to hire staff and support this in house. Few companies have IT departments for payroll services any longer. For many companies IT is just a tool like a typewriter or copy machine. It never made sense for a company to build its own typewriters and copy machines, and they didn’t, and so for many companies, it doesn’t make sense for them to write their own software and manage their own computers either. They will never be any good at it because it’s not their business.
How did we get here with companies getting into the software development business when that was never the purpose of their business in the first place? Why should Hospitals or Insurance companies have IT departments? These are support services. We got here because the software industry was new, and there weren’t businesses that companies could go to, to purchase the software they needed, so they created it in house because it made financial sense. The return was greater than the investment. Now that the software business has matured, there are companies providing products and services that 20 or 30 years ago were unavailable. The industry has now matured where companies can purchase what they need rather than build it in house. So now they have started the process of unwinding the departments that they would have never created in the first place if software wasn’t such a nascent industry.
This is mostly a win-win situation. It is always a better career choice for an IT professional to work at ADP developing payroll processing systems than to work at Aetna, for example, developing payroll processing systems. At ADP payroll processing is a profit center and a core competency for Aetna payroll processing is a cost center and a necessary chore. At Aetna if the payroll processing system is working well, there is less motivation to improve it. At ADP there are competitive reasons to improve the payroll processing system. This usually means that the IT person working at ADP will be keeping up with the changes in the field faster than the IT person working at Aetna. (note, the company names are only used as an example to illustrate a hypothetical point.)
As for the concern that investing in the heads of outsourcing companies is a competitive disadvantage, I don’t see it for a few reasons. If Aetna outsources to ADP its payroll processing system and ADP develops talent that gets really good at this, I don’t believe Aetna lost anything strategic in the process. Now if a company hires an outsourcing company to develop a unique application that gives it an advantage in the marketplace, I still don’t believe a company loses anything here either. Let’s take Wipro; it would be bad business for them to offer contracting services and then start competing with the companies they offer contracting services to. I don’t believe any company has anything to fear from Wipro entering into their market space. Wipro is a multi-billion dollar software contract house; they are going to look to make their next billion growing that business – not entering the businesses of their customers. Second, all of these contracts have agreements for who owns the software created etc… It would be a breach of contract if they were to break that agreement, and there are legal remedies for it. Let’s assume the employee quits Wipro and enters the market themselves; that’s no different than any employee today quitting and doing the same thing, and it’s done all the time today.
I still struggle to see the loss of inventiveness that you speak of. I actually see an enhancement of inventiveness for many of the kinds of companies that I’ve described in this response. These companies are freeing up capital to invest in the reasons they went into business in the first place. With that extra capital, they have the opportunity to invent even more because less is being spent on non strategic purposes. Outsourcing for many industries has been with us for decades. The IT profession has been experiencing it marginally as well for decades, but we’ve hit an inflection point where the change has been dramatic. This is permanent. The companies that learn how to manage this successfully will win in the marketplace.
I believe, instead of the software professionals fighting this inevitable trend, we should be looking to accept it and recommend how to adopt these changes successfully. There’s no turning the clock back, and the dire predictions are specious. Oh some will fail at this, but many that do are probably already struggling with IT in the first place. If we do accept it, the possibilities for IT professionals in this new model are boundless unless, of course, the only measure of good is to see that you are doing things today the way you did those things 20 years ago. The world leaves those behind who don’t move on. We may be the early 20th century equivalent of a blacksmith. It would have been a mistake for the blacksmith to not accept the change that was upon him. Likewise, the 21st century software engineer needs to accept the changes that are upon us. Only then can the software community begin to build the future that is possible. Fortunately, the need for software engineers will not vanish like the blacksmith, but what will change is the niche we fill in the value chain. Only when we embrace change can we conquer change. When we fight change, change conquers us.