Consumerization of IT: A perspective and recommendations

40
Consumerization of IT Dr. Rama Kanneganti HCL Fellow http://www.kanneganti.com

description

Consumerization of IT is imposing lot of challenges to IT management. In this presentation, I describe a comprehensive approach that IT can take to handle, with specific recommendations.

Transcript of Consumerization of IT: A perspective and recommendations

Page 1: Consumerization of IT: A perspective and recommendations

Consumerization of IT

Dr. Rama KannegantiHCL Fellow

http://www.kanneganti.com

Page 2: Consumerization of IT: A perspective and recommendations

Core theme

• What is consumerization of IT?• How does it effect IT departments?• What should the IT departments do?

Page 3: Consumerization of IT: A perspective and recommendations

Q: How were applications being developed by Enterprise IT departments?

To understand how consumerization is impacting IT, let us see how IT develops applications in the enterprise.

Page 4: Consumerization of IT: A perspective and recommendations

Enterprise Apps for people: A brief Introduction

1950’s

• IT gave businesses growth

• IT supported large scale information processing

1980’s

• IT started large scale automation of business activities

• Ubiquity of client server computing

• Rise of Object Oriented systems

1990’s

• IT started with packaged apps

• 94% of custom apps failed

• Rise of ERP systems

2000’s

• Internet era• Integration as

the main theme

• ERP upgrades leading to rise of BPM

• Rule Engines

The focus for IT has been on business and business support. People are incidental – that is, applications are developed for functionality.

Page 5: Consumerization of IT: A perspective and recommendations

Typical application development in the enterprises

• Map the enterprise need to a technical capability• Establish a business case with ROI plan• Can be business need or business strategy driven

EA Planning

• See if there is a packaged application• Plan the customization per requirements and strategy• Understand where custom app development is needed

Technology planning

• Use the technology standards to choose a stack• Choose a methodology that suits the team and the

problem• Develop/customize the application

Development

• Make it a part of the offering: (Desktop standard deployment)

• If web, make it a part of the portal• Publicize through standard change management processes

Delivery

FOCUS on the user’s stated needs

Tends to be large and complex applications

There are no simple apps; every application is assimilated into a large application as a an additional requirement.

The summary is that process is tilted towards applications that are built to last. “big industry approach”

Page 6: Consumerization of IT: A perspective and recommendations

Enterprise IT apps: Characteristics Applications take long time to develop

Typically they are large, and serve long term needs of the enterprise

Applications serve common denominator They address most common needs

Applications lag behind the market needs Do not handle new technologies well – go for longevity

Applications, developed based on consensus needs, lack focus They do too many things

Applications are expensive to develop Compared to consumer apps

Page 7: Consumerization of IT: A perspective and recommendations

Q: How were applications developed in the consumer world?

The consumer world is different; let us see how those applications were developed historically.

Page 8: Consumerization of IT: A perspective and recommendations

Consumer application development through history

Desktop PC era

• Purpose: Mostly towards PC users and hobbyists

• Chief Characteristics: Mostly stand alone. Focus on using the machine the best.

• Distribution mechanism: Via disks, magazines, and FTP sites

Internet era

• Purpose: General users of internet

• Chief Characteristic: Leverages information in the world. Focus on transactional world

• Distribution Mechanism: Internet and search engines

App era

• Purpose: All users• Chief Characteristic:

Integration of physical, personal, social, and location information and transactional world.

• Distribution mechanism: Internet and app stores

Page 9: Consumerization of IT: A perspective and recommendations

Consumer application development: Salient facts

• Based on the user needs• Addressing long tail• Limited focus: Do one thing well

Which apps are developed?

• Aligning with the industry leader (Example: Microsoft, Apple, Google, Facebook etc.)

• Built on an API or SDK or eco-system

How do they develop apps?

• Often controlled by the platform or eco-system provider

• Need to upgrade and support if the platform evolves

How are the apps delivered?

FOCUS on the end result not on the user’s stated needs

User’s inferred needs also a part

User needs are subordinate to end result

Prune the stated needs to build focus

The summary is that process is tilted towards applications that are built to change. Also, focus on specific needs of people.

Page 10: Consumerization of IT: A perspective and recommendations

Consumer Applications: Salient facets

Only interesting applications get developed Developers are impatient with problems they do not

understand

All user needs may not be satisfied Focus only on the larger segment of users

Replication of capabilities in many applications => Waste of energy in solving the same problems Think how many account balance apps will be there!

Lack of uniformity in solutions (depends on the platform) Need for control and governance on the applications

Page 11: Consumerization of IT: A perspective and recommendations

11

Consumerization: Why should the IT care?

Page 12: Consumerization of IT: A perspective and recommendations

Reason 1: In some industries, IT is forced to deal with consumers

• In several service industries like retail, retail banking, entertainment, and health, IT department is forced to work with consumers, whose ways of working and expectations

• Examples: Customer facing websites; customer communications; gathering data from customer systems; marketing campaigns; customer support; innovative apps to encourage customer advocacy; customer driven information gathering …

Page 13: Consumerization of IT: A perspective and recommendations

Reason 2: Internal users are behaving like consumers

Aging workforce means new incoming

workforce are used to consumer technologies

Existing users use consumer technologies to conduct activities on

the devices and the net.

1. #1 web site for spending time for people: Facebook.

2. Most people discover service outlets using apps like Yelp.

3. Consumer technologies are shaping the way users use technology.

Page 14: Consumerization of IT: A perspective and recommendations

Reason 3: Consumer technologies are becoming cheaper than enterprise technologies

• Public cloud is cheaper (often) than internal machines• Compute servers (open computer servers etc) are cheaper

than commercial equivalents

Consumer hardware is becoming cheaper

• Most of the development tools are focused on consumer technologies.

• Open source is prevalent on the consumer tech -- the frameworks and tools favor consumer focused development

Dev tools are cheaper for consumers

• Innovations in interactions, usage patterns and best practices are driven by consumer technologies.

• Technologies supporting those innovations come from the consumer world as well.

New innovations focus on consumers more

Most enterprise IT departments are looking to consumer technologies to reduce costs and improve quality in the enterprise apps.

Page 15: Consumerization of IT: A perspective and recommendations

15

Consumerization: What does it mean to IT?

Page 16: Consumerization of IT: A perspective and recommendations

What we need: to get the best of both models of app development

Best of enterprise IT• SLA’s• Governance• Robustness• Alignment to the

enterprise

Best of consumer IT• Choice of apps• Extreme

segmentation of users

• Quick turn around

• Alignment to users

Page 17: Consumerization of IT: A perspective and recommendations

How it changes the IT landscape

Small number of large applications

Large number of small applications

Future status

Move towards consumerization

Current status

Note: App here means an isolated functionality that people useApplications may be replicated to focus on different user groups.

3. Deployment?4. Support?5. Enterprise architecture?6. Goverance?

Questions: How does this move change:1. Development?2. Life cycle plan?

Page 18: Consumerization of IT: A perspective and recommendations

Challenges in transitioning enterprise to consumerization – I

• Enterprise apps calculate ROI over long period (ex: 7 years to 5 years).

• Enterprise apps need stability over such long term: means they don’t use cutting edge technologies

• Enterprise apps are large and monolithic – changes or contributions are difficult to make.

Development Cost Unless we make changes the way we develop, large number of small apps increase development costs tremendously.

Example: Google development of applications.IPhone applications

Page 19: Consumerization of IT: A perspective and recommendations

Challenges in transitioning enterprise to consumerization – II

• Enterprise apps are geared towards slow and careful deployment. Quarterly releases are common.

• Enterprise deployment often means training of users, support staff, and operational staff

• Enterprise has only one deployment at a time; more versions of software is not often attempted in enterprise.

Deployment cost If we need to deploy large number of small apps, it makes the deployment lot more complex and costly.

Example: On average, Amazon can deploy an app every 11 seconds

Page 20: Consumerization of IT: A perspective and recommendations

Challenges in transitioning enterprise to consumerization - III

• Enterprise apps are optimized for supporting users over many years. In fact, the ROI banks on decreasing the ops cost over years

• Enterprise apps mature over years to reduce the operational cost.

• Enterprise apps

Operations cost If we need to deploy large number of small apps, it makes the deployment lot more complex and costly.

Example: Instagram supports 100’s of Terabytes of DB with 2 ops persons.

Page 21: Consumerization of IT: A perspective and recommendations

Recap: What consumerization means• Consumerization of IT means offering choice to users,

evolving apps quickly, and agile offerings to customers.• “LARGE NUMBER OF SMALL APPS” (APP = small unit of

meaningful functionality for a consumer)• The way IT operates, this demand increases

– Development cost– Deployment cost– Operations cost

However, best in class app development reduce the costs, while moving towards consumerization.

Page 22: Consumerization of IT: A perspective and recommendations

Dealing with consumerization in IT: A recipe

Page 23: Consumerization of IT: A perspective and recommendations

A framework for consumerization of IT

What to develop?

How to develop?

How to let others

develop?

How to get people to

adopt?

We have to reduce the cost of changing technologies and

bring domain focus.

Platform based development with DevOps

Question Key Challenge Key Concept

We have to make use of the existing enterprise assets.Innovation has to have ROI

Pace Layered Architecture

We have to create an eco-system so that others

(partners, other divisions, clients) can develop apps.

API based development

We have to get people to discover the right apps for them without spending on

support costs.

Modern App stores

Page 24: Consumerization of IT: A perspective and recommendations

Pace Layered Architecture

Page 25: Consumerization of IT: A perspective and recommendations

25

Pace Layered Architecture: What it means to IT

Systems of Record

Systems of Change

Systems of Innovation

Standard Processes

Differentiated processes

Innovative processes

COTS, ERP Packages

Customization via SOA, BPM

Custom apps, Decision support

systems (Data related)

No uncertainty: What to do and

how to do

Partial certainty: We only know

what to do, but not how to do.

Full uncertainty: What to do and

how to do.

EA perspective Process perspective App perspective IT perspective

Consumerization mostly effects systems of innovation.We need to let different parts of IT evolve at different paces.

Page 26: Consumerization of IT: A perspective and recommendations

Pace Layered Architecture in action

• Based of technology maturity• Based on the existing IT landscape

Identify the different layers of

architecture

• Based on the differentiated focus• Based on industry directionsAlign the layers with

business vision

• Different layers evolve differently • Standardize at the systems of record• Support diverse technologies at innovation

layer

Establish governance for different layers

differently

Page 27: Consumerization of IT: A perspective and recommendations

Platform based development with integrated DevOps

Page 28: Consumerization of IT: A perspective and recommendations

Platform based development

• A reference architecture implementation• A platform ready to be deployed for

development, testing, and production use• A platform that standardizes on core support,

deployment processes and tools (DevOps)

What is it?

• To reduce the support and deployment costs• To focus on the core domain problem =>

reduction of development cost

Why do we need it?

• Long answer: create an integration ready, cloud ready, enterprise ready platform with coherent elements

• Integrate DevOps tooling into the platform

How do we develop it?

Example platform:1. Google platform2. Facebook platform3. Azure platform4. SFDC platform

Key lesson learnt: 1. Enterprises need

multiple platforms2. Pattern based

development of platforms

3. Industry specific platforms to solve specific pain points

Page 29: Consumerization of IT: A perspective and recommendations

API based development for external and internal needs

Page 30: Consumerization of IT: A perspective and recommendations

Target state architecture: Technology Perspective using API’s

30

Web applicati

on

Web application

+ Progressive enhanceme

nts

Web application +

Native extensions

Native applicati

on

IOS/Android

HTML + Platforms (ex:

Phongap)

HTML5 + shims

HTML5

Internal Web applications

Web workflow

Older style web apps; driven by the functional requirements

However we change, we will deliver the same functionality => no transformation.

All form factorsMobile apps

New style apps; driven by the art of possibility

Well integrated; services offered to partners => creating partner ecosystem

Services taken from partners and public => transformed apps

Greater need for flexible apps and quicker ROI

 

Partner web

External web applications

Partner web

Back office Back office

External

services

External

services

Internal Web applications

Integrated web

Social web

Applications continuum to support anytime-anywhere design.

A standard architecture transformation:

Moving from monolithic web to platform + different apps

Different paradigm supportBased on analytics, application evolution

Ability to integrate modern practices as they evolve.

Page 31: Consumerization of IT: A perspective and recommendations

Using SOA to support different presentations of services

31

Backend

Web applications

Web workflow

Older style web apps; may not work on new form factors

Not well suited for modern needs

Needs too much work to have multiple apps for multiple platforms

Backend

All form factors Mobile apps

 

ESB

Working on all form factors Reuse the same logic (and

data) via ESB Mobile and BPM and web apps

work off the same code base Front-end strategy for

developing what and which paradigm.

BPM apps

Backend

Backend

Backend Backend

HCL’s architecture best practices:1. Composite application development2. SOA as the backbone for modern application development3. Data services + Business services + Technology services delivered via SOA

Consumerization demands repurposing of the services for different applications

Page 32: Consumerization of IT: A perspective and recommendations

App store for application delivery (discovery, provisioning, analytics, and support)

Page 33: Consumerization of IT: A perspective and recommendations

Complete Application life cycle: What App store provides

33

APIs for developer

s

App discovery mechanis

ms

App promotion

Social context for apps

Peer-to-peer app support

App upgrades

Multi-device apps

Multi-channel

appsTechnology + Tools + Frameworks + Social context + Application

Creating an ecosystem of apps:

Run time support for application discovery, provisioning, integration, and analytics

Design time support via platform and app registration, categorization, social context

Examples: Google App store, FB app store, Apple App store

Page 34: Consumerization of IT: A perspective and recommendations

34

Examples of app store: ITunes

Technology: Check. Delivery mechanism: Check. Platform support: No. Vendor control: Definitely. Versatile: No web – only their own.

Page 35: Consumerization of IT: A perspective and recommendations

35

Examples of app store: Facebook

Technology: Check. Delivery mechanism: Check. Vendor control: Definitely. Versatile: Multi-platform.

Page 36: Consumerization of IT: A perspective and recommendations

36

Examples of app store: Google Chrome app store

Technology: Check. Delivery mechanism: Check. Vendor control: PartiallyVersatile: Multi-platform.

Page 37: Consumerization of IT: A perspective and recommendations

Building your own appstore

• Registration services for registering application• Application meta data services for configuration, backup, security etc.

Implement design time API’s

• Hosting API’s to run on the platform• API’s for runtime analytics• API’s for user management and provisioning

Implement run time API’s

• Platforms for users to develop applications• Support for standard patterns and technology platforms

Create a set of platforms

Page 38: Consumerization of IT: A perspective and recommendations

Related work

• Another way consumerization of IT is handled is through supporting UDA (User Defined Applications). Examples: ServiceNow, Microsoft (Sharepoint + Friends).

• API based development: Most modern web development (see: www.leanstack.io for examples).

• App Store: Cloud based app deployment has become standard – part of app store functionality.

Page 39: Consumerization of IT: A perspective and recommendations

Concluding Remarks

Consumerization is forcing enterprise to become agile: from concept for production

Four key elements to support this brave new world are:Pace Layered ArchitecturePlatform based development (with

DevOps)API’s for rapid developmentApp Stores for app delivery and support

Page 40: Consumerization of IT: A perspective and recommendations

End of Deck