Industrial Revolution, Industrialization and IT
Let's move back in history.... I am sure all of you remember the industrial revolution....
Let's move back in history.... I am sure all of you remember the industrial revolution. The movement that changed the way we live and manufacture things. It has been a major turning point in history, as it has had a profound impact on economy, society and culture of those times. It started with Great Britain in the 18th century, but quickly spread through Europe, North America and rest of the world.
As the revolution became mainstream, industries matured and the industrial age had set in. Be it automobiles or aviation, rail-road or refrigeration - most things became affordable to an average family in the industrialized world. This was made possible as management and manufacturing sciences came together to bring in automation, mass production, supply chain, economies-of-scale, statistical quality control, productivity tools and so on - the end result was consistent & high quality of products available at a lower cost. The impact has not only helped in meeting needs of a growing world, but has influenced many other industries in their journey to maturity.
With the growth and advancement, certain products and markets matured. In a matured market, buyers' & seller's interests are in alignment. For example, people buy cars today without checking about the engineering of the car, the capacity of the engine or the type of brakes used and so on. Those basics are given. What a typical buyer looks for instead, is the additional utility the vehicle offers, as it drives towards its destination. Similarly, before boarding a flight, we don't check the credentials of the aircraft, its repair history and so on; as we expect someone else would do it for us. The flyer is interested in the in-flight experience and on-time arrivals.
Fast forward to the wired world we live in today, where Information Technology (IT) is not only ubiquitous but also changing social & business paradigms. The way we interact or listen to music, shop around, access information and accomplish things - they have changed and continually evolving. And also, I (Information) is slowly getting separated from the T (Technology). As an end-user, one needs to focus on what information is needed and the manner in which it is delivered. Nothing else matters. No one wants to know what technology stack is used to deliver the information or what processes are followed. The buyers are increasingly going to buy "anything as a service" and the car/flight phenomenon is happening in IT as well. Industrialization brings us consistency, quality and affordable price points so that things can be consumed at mass scale. An app at 99 cents is a great buy, one gets an industry grade app, which doesn't need AMC and get updated regularly. These are early signs of a maturing industry and an industrial model of delivery.
Let's look at another phenomenon shaping the IT landscape. The scale at which software needs are growing, is simply mind blowing. An order entry system built years ago had only ~1.7 MLOC, while an S Class Mercedes-Benz radio with navigation system today has 20 MLOC !! Each and every product we use as daily-needs, has built-in software. They are more complex, delivers more use cases, have more interfaces, multiple delivery channels and so on. In addition, the world is getting connected with intelligent devices, internet of things is a reality, and all this is fuelling the growth in demand for software code. Automation becomes a key driver for software development, if we need to cater to our ever-growing needs. Handcrafted software, will slowly evolve to include manufactured software, one day. Whether it is assembly based development of pre-fabricated components or availability of an enterprise App-store or a large partner ecosystem in the supply chain - things are changing fast leading us to this holy grail of software development. For example, Force.com platform to build social & mobile applications. Our own Social Edge, helps building an ecosystem of social apps with a layer of analytics thrown in to get greater insight into interrelated nature of social interactions.
Infrastructure is another paradigm. During industrial revolution, between 1838 and 1850, Britain's rail lines multiplied 10 times; making it easy and cheap to connect factories with buying and selling centers. This helped people set-up factories almost anywhere and on-demand. This seems to find a parallel as well. Today, the cloud ecosystem is making the same thing possible in IT. One can set-up an IT shop anywhere as virtual infrastructure is available on demand at a fraction of on-premise set-up. With a growing need of software, one needs infrastructure for software development without having to worry about capacity planning and utilization. All that one has to do is to connect the dots.
A virtualized infrastructure giving the benefit of scale and lowered price-point, a matured market where buyers are looking at business value, an ecosystem that is evolving to assemble software from components and benefit from a matured supply chain are at the core of this revolution. The industrial model of IT would deliver consistent high-quality software in a more predictable manner, in a virtualized & shared infrastructure, leveraging partner ecosystem (supply chain) and at a lower cost.
Did someone design all the above consciously by taking lessons from the world of manufacturing? Unlikely. It just evolved. It's just that the industrial revolution has left a permanent template for any industry to shape up and mature. Only to discover later that a template already existed!
How do you think industrialization will play out in future for applications maintenance and development ? How will manufactured software and handcrafted software occupy this space - what are your thoughts ?