Transforming Entertainment Through Devops

Total Page:16

File Type:pdf, Size:1020Kb

Transforming Entertainment Through Devops VIEW POINT TRANSFORMING ENTERTAINMENT THROUGH DEVOPS Pressure to rapidly release new products revealed cracks in one of the largest U.S. broadcasters’ software development processes. The company ultimately took the bold step to adopt Agile and DevOps. This required a fundamental shift in processes, technology and culture. But the benefits were worth it. less risk and better quality. Cross-functional collaboration, which is the bedrock of Transforming DevOps, nurtures innovation in developing business solutions (see Figure 1). entertainment through DevOps Figure 1. DevOps model — breaking silos to form a network One of the world’s largest Architecture entertainment companies wanted to offer enhanced viewing experiences to REQ. BACKLOG its customers. But it was taking months to translate new business ideas into live applications that could support this vision. And even then, the end Business product was mired in quality issues. Yet the business turned this around within two years. The company radically redesigned its operating model. It adopted Agile and DevOps Production practices that reduced environment Dev & QA provisioning and software deployment Collaboration Ops cycles from three months to 26 seconds, saved 85% of testing efforts through automation and increased sales by 55%. What are Agile and DevOps? In essence, Agile and DevOps are both approaches that reduce time and Release management increase quality by collapsing down Source: Infosys the traditional chain of events in a software development project, and encouraging collaboration and rapid DevOps vs. traditional waterfall model decision-making between the different people involved. The waterfall model, a term used to describe the traditional More specifically, Agile is an iterative approach to developing software, involves a sequential set software development approach of processes to design, develop, test and launch a product. wherein large functionality is Each team finishes its part of the project and passes it on to the broken down into smaller parts and next team to continue. There is little communication between developed by teams comprising the teams. This can become tricky in large projects since there experts from different areas (business, is no scope to incorporate rapidly changing requirements in development, testing, etc.). The teams such environments. Issues found in the later stages also lead are equipped to swiftly respond to dangerously long delays and high rework costs. to changes at any point in the development cycle. DevOps, on the other hand, insists on cross-functional teams DevOps is a set of practices that and therefore more interaction between developers, testers and integrate the development and designers. It involves shorter cycles of development, testing and operation activities of software deployment. It is driven by the “fail fast, early and often” mantra. development processes to enable With a continuous feedback mechanism, modifications at any faster development and deployment stage can be easily fixed and hence present fewer risks. of software, with higher efficiency, External Document © 2019 Infosys Limited used traditional ways of content It seemed impossible to address these Transforming the viewer distribution, were affected. This issues using the existing monolithic experience through company wanted to get into the OTT architecture and processes. This is streaming service business as soon as what drove the company to consider Agile and DevOps possible. It intended to deliver rich and the radical transformation of adopting The subject of this case study is one unified experiences across multiple Agile and DevOps — a completely of the world’s largest entertainment devices and browsers. It also hoped different approach to what had been companies, distributing satellite to improve its website — a critical tried previously. The objective was television services in the Americas. channel for online sales, OTT content to break down silos and empower At the start of this decade, and self-service capabilities. teams to work together in order to over-the-top services began to gain deliver high-quality applications faster, However, there were numerous popularity. With OTT services, media efficiently and in cost-effective ways. barriers to achieving this. The time content could be directly distributed The ultimate outcome of this was to: to turn an idea into reality was too to viewers via the internet, bypassing long. Very few people involved had • Develop next-generation TV the broadcast platforms. More people a complete understanding of the viewing experiences. shifted from television sets to devices projects they were supporting. There • Implement new business ideas and such as mobile phones, tablets and was no collaboration between teams offers quicker. laptops to access media content, and and no team would take initiatives • Minimize testing and deployment advertising sales began to move to to fix the issues when the project efforts to support more projects. online platforms. encountered roadblocks. Thus, the • Reduce turnaround time through The likes of Netflix and Amazon were costs of projects spiraled and the close collaboration between already leading in this domain, and quality of the resulting products different teams. the sales of the company, which still were poor. • Mitigate risk by failing fast and failing early. The three pillars of transformation Infosys was engaged to assist in the transformation journey. Given the scale of the transformation, a three-pronged approach to disrupt the existing process, technology and culture was designed to achieve the goals. Process transformation: Evaluation of existing model through the DevOps maturity model, identifying areas of improvement through value-stream mapping and implementing DevOps practices across the entire IT portfolio. Technology transformation: Architectural transformation, moving from a monolithic waterfall approach to a lightweight architecture made up of separately creatable and deployable parts. Cultural transformation: Reconfiguration of the operating model to increase collaboration across business, development, operations and quality teams; automation of the tracking system; promotion of a DevOps culture; and a minimization of efforts where possible. External Document © 2019 Infosys Limited With people, technology and process involved early in the development Continuous integration innovation as the guiding principles, cycle to identify issues and enable This is a practice in which code Infosys helped the company define a quick rollback in case any problems developed by many developers is new operating model and develop a are identified. integrated with a shared repository large-scale DevOps and Agile adoption At first this process went smoothly, several times a day. The codes thus program across the entire portfolio. but quickly challenges started to arise. integrated are automatically built With implementation across multiple and tested. Any changes or issues Process transformation applications, each team developed its are relayed back to the developers own way of doing things. The tools, immediately, who then work on the The first task was to evaluate existing processes and practices were not next version. This is a “fail-fast-and- practices in order to identify existing common across applications. The fail-often” model. It ensures problem shortcomings and challenges. teams were drifting away from the detection at early stages to avoid A team then had to develop a DevOps important principles of Agile and major setbacks later.1 model that would meet the set goals. DevOps: collaboration, efficiency and The company, together with Infosys, reusability. This started to increase Continuous deployment first created a DevOps maturity model costs. and evaluated the company using This requires that each change in To tackle this, a central governance the system is easily deployable criteria associated with it. The DevOps team was constituted immediately. maturity model is a matrix with five through automation tools. The code, This team was composed of experts which is continuously delivered, is criteria: culture; design; build and from the entertainment company deployment; reporting; and testing. immediately tested by the end users. and Infosys. It brought together Their suggestions flow back to the It also has five maturity levels: crawl, the synergies between different walk, run, sprint and fly. developers, who can then incorporate application teams and increased the changes in next version. The company also conducted a reusability. Having all the teams aware This enables continuous improvement value-stream mapping exercise linked of what the others were doing meant of the product instead of having to to the DevOps maturity assessment. that if one team had faced a challenge wait until the end of the project to The value-stream mapping exercise previously, the other teams could realize what went awry, at which point assessed the current state of processes benefit from how that team had solved it might be too expensive to correct. used to develop a product, identified it instead of starting from scratch. the improvement areas and suggested Pipeline as code delivery areas where processes could be changed without reducing value. Technology The practice of using CI and CD to develop and deploy code resembles Cross-functional scrum teams were transformation a pipeline, as shown in Figure 2. It has created, dissolving boundaries Adoption of DevOps and Agile meant a continuous
Recommended publications
  • An Analysis of Waterfall to Agile Methodology
    University of New Hampshire University of New Hampshire Scholars' Repository Honors Theses and Capstones Student Scholarship Spring 2016 Information Systems Development Methodologies Transitions: An Analysis of Waterfall to Agile Methodology Oriana Karina Eason University of New Hampshire - Main Campus Follow this and additional works at: https://scholars.unh.edu/honors Part of the Business Commons Recommended Citation Eason, Oriana Karina, "Information Systems Development Methodologies Transitions: An Analysis of Waterfall to Agile Methodology" (2016). Honors Theses and Capstones. 286. https://scholars.unh.edu/honors/286 This Senior Honors Thesis is brought to you for free and open access by the Student Scholarship at University of New Hampshire Scholars' Repository. It has been accepted for inclusion in Honors Theses and Capstones by an authorized administrator of University of New Hampshire Scholars' Repository. For more information, please contact [email protected]. Information Systems Development Methodologies Transitions: An Analysis of Waterfall to Agile Methodology Oriana Eason Advised By: Khole Gwebu The University of New Hampshire Table of Contents 1.0 Introduction ............................................................................................................................... 3 1.1 Background ........................................................................................................................... 3 1.2 Research Justification ..........................................................................................................
    [Show full text]
  • Towards an Application Lifecycle Management Framework
    VTT CREATES BUSINESS FROM TECHNOLOGY Technology and market foresight • Strategic research • Product and service development • IPR and licensing Dissertation VTT PUBLICATIONS 759 • Assessments, testing, inspection, certification • Technology and innovation management • Technology partnership • • • VTT PUBLICATIONS 759 TOWARDS AN APPLICATION LIFECYCLE MANAGEMENT FRAMEWORK AN APPLICATION 759 TOWARDS • VTT PUBLICATIONS VTT PUBLICATIONS 742 Elina Mattila. Design and evaluation of a mobile phone diary for personal health management. 2010. 83 p. + app. 48 p. 743 Jaakko Paasi & Pasi Valkokari (eds.). Elucidating the fuzzy front end – Experiences from the INNORISK project. 2010. 161 p. 744 Marja Vilkman. Structural investigations and processing of electronically and protonically conducting polymers. 2010. 62 p. + app. 27 p. 745 Juuso Olkkonen. Finite difference time domain studies on sub-wavelength aperture structures. 2010. 76 p. + app. 52 p. 746 Jarkko Kuusijärvi. Interactive visualization of quality Variability at run-time. 2010. 111 p. 747 Eija Rintala. Effects of oxygen provision on the physiology of baker’s yeast Saccharomyces cerevisiae. 2010. 82 p. + app. 93 p. 748 Virve Vidgren. Maltose and maltotriose transport into ale and lager brewer’s yeast strains. 2010. 93 p. + app. 65 p. 749 Toni Ahonen, Markku Reunanen & Ville Ojanen (eds.). Customer value driven service business development. Outcomes from the Fleet Asset Management Project. 2010. 43 p. + app. 92 p. 750 Tiina Apilo. A model for corporate renewal. Requirements for innovation management. 2010. 167 p. + app. 16 p. 751 Sakari Stenudd. Using machine learning in the adaptive control of a smart environment. 2010. 75 p. 752 Evanthia Monogioudi. Enzymatic Cross-linking of ββ-casein and its impact on digestibility and allergenicity.
    [Show full text]
  • Devsecops in Reguated Industries Capgemini Template.Indd
    DEVSECOPS IN REGULATED INDUSTRIES ACCELERATING SOFTWARE RELIABILITY & COMPLIANCE TABLE OF CONTENTS 03... Executive Summary 04... Introduction 07... Impediments to DevSecOps Adoption 10... Playbook for DevSecOps Adoption 19... Conclusion EXECUTIVE SUMMARY DevOps practices enable rapid product engineering delivery and operations, particularly by agile teams using lean practices. There is an evolution from DevOps to DevSecOps, which is at the intersection of development, operations, and security. Security cannot be added after product development is complete and security testing cannot be done as a once-per-release cycle activity. Shifting security Left implies integration of security at all stages of the Software Development Life Cycle (SDLC). Adoption of DevSecOps practices enables faster, more reliable and more secure software. While DevSecOps emerged from Internet and software companies, it can benefit other industries, including regulated and high security environments. This whitepaper covers how incorporating DevSecOps in regulated Industries can accelerate software delivery, reducing the time from code change to production deployment or release while reducing security risks. This whitepaper defines a playbook for DevSecOps goals, addresses challenges, and discusses evolving workflows in DevSecOps, including cloud, agile, application modernization and digital transformation. Bi-directional requirement traceability, document generation and security tests should be part of the CI/CD pipeline. Regulated industries can securely move away
    [Show full text]
  • Descriptive Approach to Software Development Life Cycle Models
    7797 Shaveta Gupta et al./ Elixir Comp. Sci. & Engg. 45 (2012) 7797-7800 Available online at www.elixirpublishers.com (Elixir International Journal) Computer Science and Engineering Elixir Comp. Sci. & Engg. 45 (2012) 7797-7800 Descriptive approach to software development life cycle models Shaveta Gupta and Sanjana Taya Department of Computer Science and Applications, Seth Jai Parkash Mukand Lal Institute of Engineering & Technology, Radaur, Distt. Yamunanagar (135001), Haryana, India. ARTICLE INFO ABSTRACT Article history: The concept of system lifecycle models came into existence that emphasized on the need to Received: 24 January 2012; follow some structured approach towards building new or improved system. Many models Received in revised form: were suggested like waterfall, prototype, rapid application development, V-shaped, top & 17 March 2012; Bottom model etc. In this paper, we approach towards the traditional as well as recent Accepted: 6 April 2012; software development life cycle models. © 2012 Elixir All rights reserved. Keywords Software Development Life Cycle, Phases and Software Development, Life Cycle Models, Traditional Models, Recent Models. Introduction Software Development Life Cycle Models The Software Development Life Cycle (SDLC) is the entire Software Development Life Cycle Model is an abstract process of formal, logical steps taken to develop a software representation of a development process. SDLC models can be product. Within the broader context of Application Lifecycle categorized as: Management (ALM), the SDLC
    [Show full text]
  • Drive Business Growth with Agile Processes Through Devops For
    WHITE PAPER DRIVE BUSINESS GROWTH WITH AGILE PROCESSES THROUGH DEVOPS FOR SAP - Pravas Ranjan Rout Executive summary With the launch of SAP S/4 HANA across the globe, there is a higher risk for release defects and increased cost when migrating from legacy processes. To meet the need for robust and agile process innovation without business disruption, Infosys has designed a DevOps implementation methodology that reduces cycle time, accelerates time-to-market and lowers TCO. This paper explains the key elements in the solution approach to DevOps in SAP along with SAP tools and IPs that assure a risk-free and smooth DevOps transformation. External Document © 2018 Infosys Limited External Document © 2018 Infosys Limited Introduction engagements DevOps is relatively new. This creates significant challenges as In an increasingly technology-driven world, customers use several SAP products during DevOps represents a third-generation implementation and maintenance phases. process innovation framework that extends agile methodology to overcome the This new DevOps process will reduce challenges of collaboration, culture and release cycle time, number of defects automation. As technology evolves, so do during maintenance, and total cost of processes – from waterfall to agile and, ownership (TCO) while accelerating time subsequently, to DevOps. to market. To facilitate a smooth transition from waterfall to DevOps, Infosys has DevOps signifies collaboration between designed an iDEV framework that aligns development and operations teams for with the core metrics of DevOps. With a cohesive and integrated environment. this solution, organizations can accelerate While DevOps has had successful mobile execution with fewer defects in a and cloud implementations, for SAP collaborative and automated environment.
    [Show full text]
  • CADET: Debugging and Fixing Misconfigurations Using Counterfactual Reasoning
    CADET: Debugging and Fixing Misconfigurations using Counterfactual Reasoning Md Shahriar Iqbal∗ Rahul Krishna∗ Mohammad Ali Javidian University of South Carolina Columbia University Purdue University [email protected] [email protected] [email protected] Baishakhi Ray Pooyan Jamshidi Columbia University University of South Carolina [email protected] [email protected] Abstract Swap Mem. Swap Memory Modern computing platforms are highly-configurable with thou- sands of interacting configuration options. However, configuring GPU Resource these systems is challenging and misconfigurations can cause un- 512 Mb Latency 1Gb Memory Pressure expected non-functional faults. This paper proposes CADET (short 2Gb 3Gb for Causal Debugging Toolkit) that enables users to identify, ex- 4Gb Latency plain, and fix the root cause of non-functional faults early and in a GPU Growth GPU Growth principled fashion. CADET builds a causal model by observing the (a) (b) (c) performance of the system under different configurations. Then, it uses casual path extraction followed by counterfactual reason- Figure 1: Observational data (in Fig.1a) (incorrectly) shows ing over the causal model to (a) identify the root causes of non- that high GPU memory growth leads to high latency. The trend functional faults, (b) estimate the effects of various configuration is reversed when the data is segregated by swap memory. options on the performance objective(s), and (c) prescribe candi- date repairs to the relevant configuration options to fix the non- functional fault. We evaluated CADET on 5 highly-configurable systems by comparing with state-of-the-art configuration optimiza- heat dissipation [15, 71, 74, 84]. The sheer number of modalities tion and ML-based debugging approaches.
    [Show full text]
  • Enterprise Application Lifecycle Management Solutions Enterprise Application Lifecycle Management Solutions
    Enterprise Application Lifecycle Management Solutions Enterprise Application Lifecycle Management Solutions This extensive onsite knowledge gained from years of expe- Products and Solutions for rience combined with our trusted relationships with end- users, puts us in a unique position to self-instrument the Comprehensive Enterprise products crucially needed by our customers to successfully accomplish their Enterprise Application Lifecycle Manage- Application Lifecycle ment projects. Management With this in mind, we have developed Our Enterprise Application Lifecycle Ma- RaySuite. nagement Solutions include delivering RaySuite is a comprehensive set of products that automates various tasks within an Enterprise Application Lifecycle. consulting and software packaging ser- vices to enterprises undergoing an OS This automation ranges from the analysis of the existing application portfolio and license inventories via complex migration or implementing a software license management and software packaging, all the way deployment tool. We have successfully to comprehensive quality control and fi nally software deployment in production. These automated processes served over 600 enterprise customers are sustainable and can be replicated for every change and with excellent results. every patch. A central database and a common user interface found throughout all RaySuite products form a consistent solution and off er a strong contrast to existing patchwork solutions that are often found in enterprises, as a result of limited vision and the implementation of various suppliers. Al- though Raynet guarantees a consistent approach with the use of its entire product range, it is still possible to buy and implement the individual products of RaySuite autono- mously as well as integrate them with existing third-party or home-grown products.
    [Show full text]
  • Automatic Deployment of Distributed Software Systems: Definitions and State of the Art
    Open Archive TOULOUSE Archive Ouverte (OATAO) OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 14816 To link to this article : DOI :10.1016/j.jss.2015.01.040 URL : http://dx.doi.org/10.1016/j.jss.2015.01.040 To cite this version : Arcangeli, Jean-Paul and Boujbel, Raja and Leriche, Sébastien Automatic Deployment of Distributed Software Systems: Definitions and State of the Art. (2015) Journal of Systems and Software, vol. 103. pp. 198-218. ISSN 0164-1212 Any correspondance concerning this service should be sent to the repository administrator: [email protected] Automatic deployment of distributed software systems: Definitions and state of the art a, a b Jean-Paul Arcangeli ∗, Raja Boujbel , Sébastien Leriche a Université de Toulouse, UPS, IRIT, 118 Route de Narbonne, F-31062 Toulouse, France b Université de Toulouse, ENAC, 7 Avenue Édouard Belin, F-31055 Toulouse, France a b s t r a c t Deployment of software systems is a complex post-production process that consists in making software available for use and then keeping it operational. It must deal with constraints concerning both the system and the target machine(s), in particular their distribution, heterogeneity and dynamics, and satisfy requirements from different stakeholders. In the context of mobility and openness, deployment must react to the instability of the network of machines (failures, connections, disconnections, variations in the quality of the resources, etc.).
    [Show full text]
  • Devops Point of View an Enterprise Architecture Perspective
    DevOps Point of View An Enterprise Architecture perspective Amsterdam, 2020 Management summary “It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.”1 Setting the scene Goal of this Point of View In the current world of IT and the development of This point of view aims to create awareness around the IT-related products or services, companies from transformation towards the DevOps way of working, to enterprise level to smaller sizes are starting to help gain understanding what DevOps is, why you need it use the DevOps processes and methods as a part and what is needed to implement DevOps. of their day-to-day organization process. The goal is to reduce the time involved in all the An Enterprise Architecture perspective software development phases, to achieve greater Even though it is DevOps from an Enterprise Architecture application stability and faster development service line perspective, this material has been gathered cycles. from our experiences with customers, combined with However not only on the technical side of the knowledge from subject matter experts and theory from organization is DevOps changing the playing within and outside Deloitte. field, also an organizational change that involves merging development and operations teams is Targeted audience required with an hint of cultural changes. And last but not least the skillset of all people It is specifically for the people within Deloitte that want to involved is changing. use this as an accelerator for conversations and proposals & to get in contact with the people who have performed these type of projects.
    [Show full text]
  • Code Debugging Tool to Help Teach Mainframe Programming Languages Claudio Gonçalves Bernardo Paulo Roberto Chineara Batuta Msc
    Code Debugging Tool to Help Teach Mainframe Programming Languages Claudio Gonçalves Bernardo Paulo Roberto Chineara Batuta MSc. Computer Engineer MBA Software Quality Universidade Paulista Centro Universitário Araraquara Brazilia – Brazil São Paulo - Brazil [email protected] [email protected] Abstract – The purpose of testing activity is to discover errors in important to check the quality of software at various stages of software and for this objective to be achieved many activities development, not only restricting the testing phase of the software. must be performed. There are several types of test and while An appropriate test is one that discovers the greatest possible some are generated and focused on functional verification of a number of faults in the software and when this software is designed component and incorporating components in the structure of the to run in an large environment, also known as Mainframe, becomes program, others are applied to point traceability requirements. an even greater difficulty, since this environment is complex and the There are systems tests designed to validate part of a software characteristics of each facility are different. Universities see this component, which is a part of software solution greater. Its difficulty as a major obstacle to the teaching of languages such as function is only to be a small part of a more complex reality. The Cobol, PL/I, Easytrieve, Assembler and others, who did not die and different types of tests are complementary and in most cases are will not die, as a single system mainframe can deliver thousands of applicable to all software developed. All aim to develop programs virtual Linux platforms with a small fraction the dollar cost, power with the fewest mistakes as possible, allowing the product to and space [20].
    [Show full text]
  • Radiant Info School Project Management Project Management
    Radiant info school Project Management Project Management Life Cycle Managing your digital media project is one of the most important and often overlooked aspects of the development process. You will find that effort you put into planning, scheduling, and organizing your project will pay off enormously. Here we'll outline some proven techniques for planning, scheduling, and completing your project. A project has five phases. Here's a brief summary of each: . Initiation Articulate your vision for the project, establish goals, assemble your team, and define expectations and the scope of your project. Develop a Business Case Undertake a Feasibility Study Establish the Project Charter It will help you to define the scope of your project. Writing the Project Charter is typically one of the most challenging steps in the Project Life Cycle, as it defines the parameters within which the project must be delivered. It sets out the project vision, objectives, scope and implementation, thereby giving the team clear boundaries within which the project must be delivered. Appoint the Project Team Set up the Project Office Perform Phase Review Radiant info school Project Management . Planning Refine the scope, identify specific tasks and activities to be completed, and develop a schedule and budget. Create a Project Plan Create a Resource Plan Create a Financial Plan Create a Quality Plan Create a Risk Plan Create an Acceptance Plan Create a Communications Plan Create a Procurement Plan Contract the Suppliers Define the Tender Process Issue a Statement of Work Issue a Request for Information Issue a Request for Proposal Create Supplier Contract Perform Phase Review execution Build Deliverables Monitor and Control Perform Time Management Perform Cost Management Perform Quality Management Perform Change Management This process helps you to manage all requests for change within your project.
    [Show full text]
  • A Comparison Between Five Models of Software Engineering
    IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 5, September 2010 94 ISSN (Online): 1694-0814 www.IJCSI.org A Comparison Between Five Models Of Software Engineering Nabil Mohammed Ali Munassar1 and A. Govardhan2 1Ph.D Student of Computer Science & Engineering Jawahrlal Nehru Technological University Kuktapally, Hyderabad- 500 085, Andhra Pradesh, India 2Professor of Computer Science & Engineering Principal JNTUH of Engineering College, Jagityal, Karimnagar (Dt), A.P., India Abstract increased recently which results in the difficulty of This research deals with a vital and important issue in computer enumerating such companies. During the previous four world. It is concerned with the software management processes decades, software has been developed from a tool used for that examine the area of software development through the analyzing information or solving a problem to a product in development models, which are known as software development itself. However, the early programming stages have life cycle. It represents five of the development models namely, created a number of problems turning software an waterfall, Iteration, V-shaped, spiral and Extreme programming. These models have advantages and disadvantages as well. obstacle to software development particularly those Therefore, the main objective of this research is to represent relying on computers. Software consists of documents and different models of software development and make a programs that contain a collection that has been comparison between them to show the features and defects of established to be a part of software engineering each model. procedures. Moreover, the aim of software engineering is Keywords: Software Management Processes, Software to create a suitable work that construct programs of high Development, Development Models, Software Development Life quality.
    [Show full text]