Most large corporations attempt shared services out of necessity and common sense. After all, duplication is wasteful, and sharing services for application hosting and administration promises to reduce cost, complexity and waste. But while I’ve seen it succeed, more often than not it’s a struggle to satisfy all of your development groups without requiring too many exceptions to the development and deployment process — and that offsets some of the gains.
To get another view on the subject, I recently interviewed several IT executives, including one at a major financial institution, about their efforts with shared services. Not only is it possible to succeed, this executive said, but “We are doing it.” The biggest challenge he found “is supporting a robust technology stack without turning off projects” that are not on the list of common platforms. For example, the company has promoted shared platforms in four categories: Java, .NET, databases and general Unix deployments. The Java Application Platform was the first, and it has been in production for more than 10 years. “This is a shared services platform based on WebLogic server, Solaris (changing to Linux), and a popular tools stack. The servers are large core machines,” he explained, and developers must use the specified environments. If you turn off projects, you may fact downtime or poor service.
Getting everyone’s buy-in, therefore, is critical when moving from dedicated to shared applications. The first challenge is getting your development teams on board and willing to integrate their development cycle with the requirements of a shared services platform.
CIOs are often concerned that development teams will push to do what they please, despite the best efforts to build a common platform Another IT executive, who did not want to be identified, said that satisfying each development area is critical to adoption, but it is also important to tighten the reins to a degree. “If we were to support an ad hoc technology stack, it would not be feasible to perform proper testing, diagnose problems and provide support.”
Striking a Balance
The key is to strike a balance between meeting everyone's needs with a single platform and not requiring too many exceptions to the development and deployment process. A joint effort is needed. “To promote consensus, we form technical advisory groups (TAGs) comprising representatives of all areas of the bank, [who] agree on a technology stack,” said the financial services IT executive. “Once that’s decided, teams have to make a strong case to introduce competing technologies. If you need a technology that is not supported, you will generally be granted an exception — but a TAG will first review it and make a recommendation, he said.
Focusing on developers is only part of the story. Additionally, “maintenance of the technology stack is in the hands of the operations teams,” and end-of-life migrations can be hastened as part of their job. That’s an important point, since a common complaint is that shared services platforms tend to stagnate in terms of technology. According to the financial services IT executive, “We use a three-year strategy, and every year a new platform version is released. Applications on the previous release are notified that they will need to migrate within the year.”
Cloud-based Solutions
Building on standards-based systems has become more critical as enterprises explore the cloud and Platform-as-a-Service (PaaS) solutions, but views differ about which approach to take. “In a financial services firm, it’s difficult to get any traction on an external platform. However, a hybrid strategy is practical,” so you can “host non-sensitive data and applications on external clouds while keeping the rest more securely in-house”, the financial services executive said.
In my own experience, even if you never deploy to a public cloud, there’s still something to learn from them. The financial services IT executive I spoke with agreed: “We can learn from the cloud vendors about automated procurement, security and monitoring, and then build internal clouds based on industry experience.”
Overall, it is possible to build out shared services in the enterprise and reap the benefits. However, you need to have a close working relationship with each development group to understand its unique challenges. Here’s an example an IT executive presented: “Low latency applications have a special challenge. If every machine instruction is critical and a poorly timed, garbage collection can be expensive, some teams are understandably reluctant to run on shared hardware. But others take a more practical view and ask the operations teams to guaranty their Service Level Agreements.”
The key takeaway is that building a single shared services layer shouldn’t be a quest for a single holy grail, or a mandate from an architecture group. It needs to be a corporate-wide team effort where all stakeholders are involved, including the CIO, the enterprise architects, and the development and operations teams.
Stakeholders may question whether this centralization really benefits the business or affects business users in any way. “Actually, the goal is the opposite,” said the financial IT executive “[We aim] to tighten up the plumbing without impacting the business.” And since the cost savings are significant and the financial industry is operating under so many new legislative constraints, the push will continue. “The savings are integral to success.” It’s hard to question that.
Eric Bruno is Principal and Technology Specialist at Allure Technology Inc., where he is focused on software design and applications.
