When I joined computer science in 1982, I asked a senior of mine what computers do (they were too novel at that time). He looked at me pitifully and told me that they sort records. Eventually, by the time I graduated out of IIT Madras, I learnt about compilers, operating systems, databases, programming languages and a lot of other hard-core computer science subjects. And, I thought that’s what people use computers for. And, once I entered the real world, I knew my friend was much closer to reality than what I learnt in school.
After working with computers for 20 years, when I landed into IT accidentally, it fascinated me with infinite possibilities. In a sense, IT is still figuring out what to do with computers. We can say that originally, companies automated exactly what they were doing with computers. Only recently they are figuring out disruptive models of computers – perhaps as the use of computers in social and mobile settings is becoming ubiquitous.
I have been trying to understand this evolution of IT and how to explain it well to others. I have been talking to several people from various industries to get this perspective. Hopefully, you, the reader, appreciate this perspective.
What IT wants
What IT wants is simple: it wants to support running the business, It does so by using systems. It runs the systems on computers. These computers are hosted in data centers and user desktops. It also may run the communication systems and other facilities.
In the beginning, it was not clear what this support meant. Obviously, a business does a lot of things. It is not even clear that there are similarities between different businesses, right? So, what does it mean supporting the business?
Turns out that businesses are not all that dissimilar. Thanks to the rise of the modern enterprise, there are standard parts of a business – HR, supply chain, inventory management, finance, customer relationship management etc. In fact, these “parts of business” are so standard that people learn these subjects in college during their MBA.
Now, can IT do all these things? If it can automate, what do you need people for? Actually, in the beginning the range of problems that IT was solving were few. For concreteness sake, let us consider the insurance industry.
[If I made mistake in the actual details, please overlook.] The gist is that the state of the art permitted only some portions of the business operations to be automated. More over, some of the automatable tasks may not be automated because IT did not know that they could be, or the problems are not modeled that way.
In the beginning: Rise of ERPs
In the late 80’s and the early 90’s, there was lot of hype around object oriented analysis and development. People had access to all the new fangled technologies: data bases, compilers, cheap computing power, and networks. Add to this heady mix, the new methodology of OO. It promised that we can uncover the “What” part of IT: “What needs to be built”?
By mid-90’s dissolution set in. Most projects stalled or miserably failed. IT departments realized that they cannot build software, merely because they have the tools. Just then, ERP became very popular. Here is what they offered (For instance SAP):
- Standard programs that suit most needs
- Standard processes for most of the common tasks in different industries
- Common data models for most industries
Companies started signing up aggressively. They reasoned, rightly, that these ERP solutions solve many problems in their IT: They know what to automate. They know how to automate it. Standardization provided them all the efficiencies they ever wanted. SAP went from industry to industry, functional area to functional area and offered a reasonable model to support business operations.
That is, there is a comprehensive platform to run businesses using a set of modules or components from a vendor. That is obviously a big step in an IT department, in fulfilling their mission.
With the internet: Integration and differentiation
An interesting thing happened along the way in the late 90’s: internet. It suddenly added a few more expectations on the IT such as e-commerce, intranet, internet based customer programs etc. Unlike the standard HR module or finance module, these programs did not have standard models. The scope, the operations, the execution – none of this was standardized.
What it meant that it was difficult to implement in ERP systems. Remember that these ERP systems create standard models (data, process, application) for users. With internet evolving at breakneck speed, companies scrambled to implement in whichever technologies they could: Perl, php, C, java, or whatever.
Why were they implementing these new systems? Couldn’t they have done in ERP? The answer is complex: you could say that ERP systems did not have the technical capabilities that the new applications demanded. That was true, but only in the beginning. To understand main reason see the larger context:
First a little terminology: systems of record are the ones that are standard in any business. The systems of differentiation are the ones that distinguish this business from other businesses. In fact, they are sufficiently different that ERP’s have not made it a part of their standard offerings.
As you can see that there are two ways that these systems can be built:
- Customize the ERP systems: Naturally, ERP vendors are smart enough to offer various kind of mechanisms to customize their systems. They offer ways to customize the data models. For instance, if you want to add one more field to track your inventory, you can easily do that customization. You can add to the business logic using their programming systems (for instance, you can use ABAP to customize SAP).
Unfortunately, while it is clear how to customize the ERP systems, they have two problems:
- The cost of customization is high: When you hear of jokes about ERP systems being “corporate crack” you understand the high level of frustration about never-ending projects about ERP customization.
- Upgrade costs become almost as much as implementation costs: Most companies who implemented ERP in the mid 90’s started realizing the hidden costs of customization in mid 2000’s. The cost of upgrades have several components: understanding and documenting the customizations, upgrading the customizations, increased costs of inducting new developers and analysts, not being able to use off-the-shelf components etc.
- Build new systems: Building new systems is easy – in fact, most developers prefer to do that. In the beginning days of the internet, thanks to rapid development frameworks offered by the scripting languages and other systems, people developed lot of applications. However, they fall into the following trap:
- Not integrating well into the ERP eco-system: For example, if you added a training system like Moodle into your application soup, you have to address how that system integrates with your HR system (which may be in ERP). You have to make it both use as well as contribute corporate data.
- Not coordinating well with other custom systems: To take the same example, your training system may have to be a part of the process with other systems as well as ERP. For instance, if you designate a course on industrial safety as mandatory, you have to use moodle to enforce that mandate.
- Lack of governance and control: Suppose some other department decides to implement a blogging system (say Drupal) that also has capabilities to run training programs. If you don’t have good governance, your training programs end up fragmented which make the coordination and integration difficult.
What it points out is that while custom applications may offer an advantage, they suffer from the several problems. One particular way the industry handled it was through some specific technologies.
There are several different technologies that evolved to support integration. At their heart, they support integration at data level (EDI, MDM, XML…), at application level (SOA, web services), at process level (BPM), at front end (portals).
In addition to technology standardization, these tools and technologies bring governance, standard ways of bringing in differentiation, and patterns of usage. In effect, the systems of differentiation making differentiation a well-understood, engineering led process.
So, let us review what the business operating platform is:
- ERP’s are still the center of the IT offerings, both in terms of budget and strategic importance.
- Differentiation is achieved through special purpose technology platforms and tools.
Pressures of disruptive models
One of the big trends in 2010’s is the way conventional wisdom has been upended: until then, technology was supporting business. It was essentially codifying what business wants in IT systems. It was helping businesses scale. For instance, if you have an insurance company in 1950’s (I am reminded of umpteen movies set in 1950’s, starting with Apartment), however well you are doing, if you try growing, you end up with unmanageable mess.
The scaling of business systems was not particularly disruptive. It is a labor saving device, which helped the growth of organizations. The fundamental capabilities of business didn’t differ – only the ability to offer to lot more people was the new addition thanks to Technology.
Last few years we have been seeing some fundamental shifts. I suppose that Internet started it all. For the first since computers appeared in the enterprise, they started impacting the business fundamentally. The reason is simple: the consumers of the services and products, the employees that provide these services and products, the management that plans and executes the activities, the financiers that oversee the use of the assets, the investors that learn and invest in the companies – all of them are using computers in innovative ways: to learn, to socially interact, to carry out tasks, to communicate, to organize – and do all of these in highly connected devices.
For instance, when we see an Unbank like www.simple.com come up, or an Unhotel like www.airbnb.com come up, we have to question ourselves: How do these disruptive models impact the IT of the modern organizations?
Transforming the business operating platforms
Imagine if we are building a modern insurance company. How do you build it differently? First of all, the standard services IT provides are not much value. Think payroll – do they even need it? Can they get a company take care of it for them? Email system? They can use gmail. Marketing? They can use mailchimp.
In fact, for most common needs, the enterprise really doesn’t have to spend money on IT. Take a look at the kind of tools that are available to a startup today: http://steveblank.com/tools-and-blogs-for-entrepreneurs/ and http://startuptools.pbworks.com/w/page/17974963/FrontPage . Any IT department would love to offer those facilities.
Here is the way I think the role of IT is changing:
What we observe is this:
- The role of IT is moving away from standard operations.
- ERP is only partially outsourced. For the reasons of security, control, and integration, lot of intertwined functionality is retained under IT.
- The Business Operating Platform that IT develops and controls is steadily shifting higher.
How does this new IT address the disruptive business models? Not yet. These systems only address the differentiators –the ones that help them compete with other businesses that are similar to them.
If you look at the disruptive models, most of them that are coming out of startups or innovative spaces are around a few ideas:
- Reach the consumers in new and innovative ways: For instance how instagram or hipmunk do it.
- Get more information out of available data: LinkedIn, Groupon, NetFlix leverage the data and precisely target the customers.
- Understand the market better: By working well with the social universe and creating the right market for the services. For instance, several FB based companies do that (example: Zynga).
- Go after the long tail: Organizations have been focusing on serving the statistical median that they are losing the growing long tail (hipsters, anyone?). Several companies, thanks to the reduced costs of services and IT, are able to create a market for the long tail.
- Simplify the offerings: Some companies (actually, Google did it), are able to take a moribund sector and simplify the offerings to revitalize the market. For example, staid telephony market is shaken by DIY company www.twilio.com.
This list is not comprehensive. In fact, it is continuously growing. The hallmark of these ideas is not how they are implemented, but how they are disrupting the way the world works.
As you can from the above picture, the standard operating platform business is incorporating the systems of innovation as well. It is not yet clear how this will eventually evolve, but for now, there is a great deal of excitement.
Another way to look at the picture is how the BOP transformation is evolving:
The evolution of the BOP towards the innovative space and the increasing emphasis IT is placing on it is indeed interesting. For a full description of the architecture perspective of the same, refer to: http://www.kanneganti.com/technical/it-transformation-an-architecture-perspective/.
Of course, there are lot of open questions: How do we build for something that is constantly changing? If we want to run the business, how do we make use of systems that may be in flux? If I make my web applications mobile, am I transforming the IT? Someday, I will get to all those questions in this blog.
Let’s recap once: we started with the rise of modern ERP systems. We traced the need to create flexible applications and the rise of integration. We later showed how the differentiation begat new technologies that came to address extension or customization or filling-in-the-gaps of an ERP system.
The modern business operating platform looks more interesting than before. As IT sheds unnecessary, non-value-add tasks like productivity applications, it is freed to create more innovative applications. As shown in the picture above, IT needs to learn not only new technologies, but also need to understand what needs to be done. Whether IT can step up to it or not, I cannot say.
Ob Plug: My group in HCL (Enterprise Transformation Services) has been working on the modern business operating platforms for a while. We have tools, frameworks, sample platforms etc to support the POV expressed here. In fact, BOPT™ (Business operating platform transformation) is one of the main service offerings from my group in HCL. If you would like to know more, shoot an email to me and I will put you in touch with right people.