Consumerization of IT: A perspective and recommendations

942 views
771 views

Published on

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.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
942
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • The main purpose of this talk is to go beyond buzz words and define what clearly it means to IT. It is meant as a prescriptive talk – that means, it will take positions and may fail at being comprehensive.
  • current traditional situation: - Map the enterprise need to a technical gap - see if there is a packaged application - Customize the packaged application - or, develop an application based on the requirementsThere is nothing wrong with that of course. It is standard way of doing business. Most of these questions bold down to “Build vs. Buy”. Of course, even buying has lot of building – customization, extensions etc.
  • Consumer world operates differentlyYou have a needYou go and find out that there are several applications that satisfy the need in different ways.You pick the one best for youWhat is the main difference between enterprise IT world?Here are the ones:Enterprise is “one size, fits all” model.Enterprise IT looks for the standardization – Development and roll out is long and complex – mostly because there is lot of costs associated with rolling out to users, training and supporting users.For consumer apps, roll out is simple => users discover and users download. Only peer-to-peer support.
  • While the consumer apps look hunky-dory, their strength seems to be their weakness. That is, they are incredibly democratic – anybody can write anything. That is the weakness as well. All these are the symptoms of that underlying cause. But, what if we can marry both? Can we create apps in consumer model that are enterprise ready?
  • While enterprises may not be ready for developing their apps fully as consumer apps, there are ways that enterprises can take advantage of TechnologyPeople training and expectationsFalling costs of tools, devices that cater to the usersAnd, do all that in the constraints of enterprises.
  • This is a sample technology architecture transformation.
  • - What are consumer style applications - Focus -- not too wide ranging, Do one thing, but do it well - Choice -- deal with the tail of the curve as wellWhat works best in the enterprise apps?GovernanceComprehensiveness – you can do all you need to.
  • This is a classic modern app storeSubmission:DeliveryDiscovery….This is a powerful app store eco system that is in use. When people think of app store, this is what they think of. But, there are lot of problems with it and limitations. There are lot of choices, that are different from this as well.Btw, lot of companies setup enterprise app store using same technology.
  • Here, FB even provides execution mechanism. That is they offer a way of development (SDK), delivery (via FB), execution (your own mechanism or sometimes, even on FB).
  • Chrome app store comes the closest to my idea of app store. It offers everything an enterprise needs: it has a technology platform; it supports discovery; it supports delivery; it offers a run-time as well, though it is not as comprehensive as I would like it to be.Another example would be sfdc.
  • Consumerization of IT: A perspective and recommendations

    1. 1. Consumerization of IT Dr. Rama Kanneganti HCL Fellow http://www.kanneganti.com
    2. 2. Core theme • What is consumerization of IT? • How does it effect IT departments? • What should the IT departments do?
    3. 3. 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.
    4. 4. 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.
    5. 5. 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”
    6. 6. 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
    7. 7. Q: How were applications developed in the consumer world? The consumer world is different; let us see how those applications were developed historically.
    8. 8. 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
    9. 9. 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.
    10. 10. 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
    11. 11. 11 Consumerization: Why should the IT care?
    12. 12. 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 …
    13. 13. 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.
    14. 14. 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.
    15. 15. 15 Consumerization: What does it mean to IT?
    16. 16. 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
    17. 17. 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 use Applications 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?
    18. 18. 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
    19. 19. 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
    20. 20. 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.
    21. 21. 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.
    22. 22. Dealing with consumerization in IT: A recipe
    23. 23. 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
    24. 24. Pace Layered Architecture
    25. 25. Pace Layered Architecture: What it means to IT 25 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.
    26. 26. 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
    27. 27. Platform based development with integrated DevOps
    28. 28. 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 platform 2. Facebook platform 3. Azure platform 4. SFDC platform Key lesson learnt: 1. Enterprises need multiple platforms 2. Pattern based development of platforms 3. Industry specific platforms to solve specific pain points
    29. 29. API based development for external and internal needs
    30. 30. Target state architecture: Technology Perspective using API’s 30 Web applicatio n Web application + Progressive enhancement s Web application + Native extensions Native applicatio n IOS/Andr oid 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 factors Mobile 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 support Based on analytics, application evolution Ability to integrate modern practices as they evolve.
    31. 31. 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 development 2. SOA as the backbone for modern application development 3. Data services + Business services + Technology services delivered via SOA Consumerization demands repurposing of the services for different applications
    32. 32. App store for application delivery (discovery, provisioning, analytics, and support)
    33. 33. Complete Application life cycle: What App store provides 33 APIs for developers App discovery mechanisms App promotion Social context for apps Peer-to-peer app support App upgrades Multi-device apps Multi- channel apps Technology + 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
    34. 34. Examples of app store: ITunes 34 Technology: Check. Delivery mechanism: Check. Platform support: No. Vendor control: Definitely. Versatile: No web – only their own.
    35. 35. Examples of app store: Facebook 35 Technology: Check. Delivery mechanism: Check. Vendor control: Definitely. Versatile: Multi-platform.
    36. 36. Examples of app store: Google Chrome app store 36 Technology: Check. Delivery mechanism: Check. Vendor control: Partially Versatile: Multi-platform.
    37. 37. 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
    38. 38. 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.
    39. 39. 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 Architecture  Platform based development (with DevOps)  API’s for rapid development  App Stores for app delivery and support
    40. 40. End of Deck

    ×