Chapter seven of the course text concerned itself mostly with enterprise architecture's role in how organizations outsource. This has been a bit of a hot button topic in the Information Technology space over the last 10-15 years as more and more of IT services have been outsourced to much cheaper offshore firms. The chief driver of this has always been cost; it is going to be cheaper to farm your code out to a shop in Bangalore, Hyderabad, or Shanghai than silicon valley.
My organization has been no exception, it was not uncommon for employee IT project managers to be overseeing large offshore development teams for in house applications. The upside, of course is cost. The downsides are a bit more subtle, with time zone and language differences eroding away some of the value the low cost brings, not to mention, the contracts are often for a specified time, not created application features. This means that a single application with a long development cycle may have multiple different contracting firms working on it, each with their own unique style/ability, leading to the next vendor having a learning period to figure out what the last vendor was doing code wise. It can be frustrating to deliver results like this.
Fortunately, executive leadership took notice of this trend and there is a big push from senior management towards "in-sourcing." The goal is to retain and develop talent and keeping them on as internal employees has the added benefit of encouraging more long term thinking from the developers, they're no longer thinking in terms of the end of their current contract, but are more invested in the organization and its goals.
Outsourcing still has its place. IT infrastructure is essentially a commodity now. Cloud services companies are taking advantage of economies of scale to provide IT infrastructure as service much more cheaply than all but the largest of organizations could hope to implement on their own.
The key lesson here is to outsource the hardware and retain the talent.
http://www.cio.com/article/3048805/leadership-management/ges-jim-fowler-on-the-cio-role-in-the-digital-industrial-economy.html

Outsourcing: the hip new fad. But you're right; companies are doing it wrong. By outsourcing your technology (hardware), you're helping your organization, and probably others. Everyone outsources staff nowadays, and it's absolutely because of the emphasis on cost cost cost. No one considers the downsides - like you said, time zones, second languages, culture barriers, contract positions.
ReplyDeleteHow do we fix it? Some people say it's most important to place less emphasis on cost. I completely disagree. What is a company's number one goals? Profit. For shareholders, for the public, for its employees, whatever. Without a profit, the company won't be there tomorrow. We need to spread the message that outsourcing can be done wrong, and it has a huge effect on your bottom dollar. If anything, we need more emphasis on money.
Great post.
Ben,
ReplyDeleteThe goal of retaining and developing talent is an admirable strategy. Our company has emphasized similar principle and provided means and method to be able to advance your learning. It definitely goes a long way towards making employees feel valued and encourages loyalty. After all employees are one of an organization's biggest assets.
Concur outsourcing has its place. For instance we had to make certain application level changes for compliance and this was a repeatable task that could be easily outsourced.
Working in the DoD sector, I also heartily agree that outsourcing can be done wrong. For the military especially, it seems higher-end technical talent is almost entirely outsourced. The military has inherently high turnover for individual positions, and tries very hard to reduce complex technical issues to component pieces that can be doled out. Weirdly, there is less of a focus on "this works" and more of a focus on constantly re-evaluating contracts to look for something cheaper. As a result, the quality of products falls drastically, and problems start happening.
ReplyDelete