White paper Redefining Agile to Realize Continuous Business Value
Abstract As enterprises look to move the needle on their business in an intensely competitive market, they expect superior performance from their IT organizations. Superior performance involves accommodating changes to the IT landscape at rapid speed and high quality in a repeatable manner, to realize immediate business value. The focus on building a highly responsive IT ecosystem has led to increased adoption of Agile practices by application development teams. However, as Agile goes mainstream, larger enterprises with complex ecosystems are seeking opportunities to realize greater business value from Agile methods and practices. Companies such as Walmart, Microsoft and GE have embraced Agile practices to enhance responsiveness and hasten time to market. This paper looks at effective ways to extend Agile principles beyond application development - to the entire business value chain - to build a truly Agile organization. By transforming into a product centric organization, scaling Agile processes to both upstream and downstream activities, leveraging new technical practices such as Continuous Integration (CI), and implementing Lean product portfolio management processes, enterprises can successfully redefine Agile in their business context. 1
About the Authors Author Prabhu Arumugham Global Product Head, Jile Prabhu is the product head for Jile. He is a Certified Scrum Master and SAFe Program Consultant (SPC) with over 19 years of experience in building innovative solutions across different industries. His expertise is in product management, strategy, design, engineering and deployment support. He is passionate about Agile methodology and has pioneered product development in the areas of test management, test automation, application lifecycle management and DevOps. Prabhu has several patents filed and granted in categories of test automation and management. 2
Contents Agile Goes Mainstream 04 Barriers to Realizing the True Potential of Agile 05 Six Steps to Making Agile Work 06 Scaling Agile across the Value Chain 09 3
Agile Goes Mainstream Gone are the days when IT was mainly about maintaining records for business transactions and reporting. Today, it is the backbone of digital businesses including retail e-stores, online banking, and mobile services, enabling businesses to expand to newer markets, win more customers, and meet demands effectively. Given the growing competition and evolving customer needs, demands of superior IT performance are higher than ever before. Even a few minutes of system outage translates into quantifiable business losses. These demanding conditions make it imperative for IT to respond to emerging requirements with agility, without compromising quality. The need for a highly responsive IT ecosystem has, in turn, led to increased adoption of the Agile approach. An Agile development approach drives several business benefits including: Faster time- to-market: Organizations are frustrated with long delivery cycles at the end of which, they often release products that are not of interest to consumers. With Agile, they can successfully drive shorter delivery cycles and release cadences. Quicker ROI: Typically, businesses accrue the most value from only 20% of the capabilities delivered by long delivery cycles. However, Agile enables them to achieve increased ROI with intermediate sprint outputs that add value to the business. By arriving at key features that are in sync with customers and business requirements or market strategies, companies can realize early ROI on their development spend. Regular evaluation: Agile provides the opportunity to frequently inspect deliverables and adapt to evolving needs early on, helping businesses assess whether it is worthwhile pursuing investment in an initiative. Greater quality: In traditional methodologies, the schedule, scope, and cost are fixed, so teams are often forced to compromise on the quality. Quality depends on the extent of testing activities that can be incorporated into the schedule. On the contrary, in Agile methodology, the cost and quality are fixed. Teams have to factor in all the effort required to ensure the highest quality of every delivery. The only flexible variable in the Agile equation is the scope - teams must choose just the right amount of functionality that can be delivered in line with the defined cost and quality standards. Improved culture and morale: Agile endorses creating teams of empowered individuals working on the highest priority items for the business, with a shared sense of purpose. This creates a motivated set of development teams that deliver greater productivity and better results. The Agile Manifesto was drafted and adopted by various IT leaders¹ in 2001. After over a decade, Agile methodology and practices have become mainstream with Application Development (AD) teams across enterprises. Businesses are now looking to shift their focus from adopting Agile to creating greater value from Agile. The next section discusses the challenges involved in this process. 4 [1] AgileAlliance, Manifesto for Agile software development, Accessed Feb 2016, https://www.agilealliance.org/agile101/the-agile-manifesto/
Barriers to Realizing the True Potential of Agile While the benefits and rationale for adopting Agile are obvious, there are certain constraints that hinder businesses from deriving its true value. Here are some of the main barriers: Complex ecosystems: Agile requires small, cross-skilled, co-located teams comprising empowered and self-organized developers. Instead of conservative command and control relationships, teams must be based on an inverted management pyramid that grants more decision-making powers to individuals. In practice, the environment in enterprises is rarely this simple. Enterprises today deal with exponentially growing portfolios, products, and markets with teams working across geographies There are multiple layers of business processes along with layers of technology comprising package customizations, middleware or legacy, and other integrated systems. The complex management structure of teams operating on offshoring and outsourcing arrangements with competing agendas compounds these challenges. Digital and enterprise IT divide: Enterprise IT teams work on a traditional model of delivery, emphasizing safety and accuracy over agility. Enterprise business units, on the other hand, increasingly face the demand for quick Agile application roll-outs owing to intense competition and disruptive digital developments. This often compels them to create their own IT teams, over and above enterprise IT teams, thus creating a divide. As a result of the lack of collaboration, governance, and systematic roll-outs based on impact analysis that prevail in such situations, the quality of production systems suffers in the long run. This divide between enterprise IT and digital IT needs to be overcome by formulating a new mode of operation. A governance model can then be established to support the two-speed model of IT delivery by different teams in a synchronized manner. Limited focus on end-to-end Agile adoption: Agile methodologies enable developers and small teams to split work into smaller chunks, and deliver them at consistent intervals. Such methodologies also accelerate feedback loops, thus aligning product features with market needs. With the growing maturity and increased adoption of Agile methods and practices, the notion of scale has now come to the forefront. Large enterprises typically go through a long planning and budgeting cycle prior to implementation, and a long release and deployment cycle post implementation. This prevents them from realizing the true value from Agile. 5
Six Steps to Making Agile Work To derive greater benefits from Agile, businesses need to deploy Agile methods beyond application development, ensuring incremental value reaches end users. The following six key steps help achieve this objective: 1. Evolve to a Product Centric Organization IT organizations at enterprises will have to evolve to product based delivery organizations to ensure quick incremental delivery of business value. This can be made possible by: Creating capability [or product] teams: Enterprises will have to organize teams around portfolio outcome based initiatives referred to as capabilities (or products, in the Agile world). Portfolio capability refers to a set of integrated systems that work together to deliver value to the business. Building cross-functional capabilities: Capability teams comprise relevant stakeholders from business, development, quality assurance, security, compliance, and operations - dedicated to the portfolio. They need to remove functional silos and organize themselves as cross-functional teams. These teams also need to be equipped with adequate resources and infrastructure to deliver the required functionality. This implies the adoption of DevOps practices that are based on the collaborative participation of operations and development engineers in the service lifecycle, from demand through deployment. These cross-functional teams are referred to as BizDevOps teams (shown in Figure 1). DevOps practices enhance effective interaction among functional stakeholders and reduce wait times, with all members dedicated to the common objectives and outcomes of the portfolio capability Adopting a release-based approach: Capability teams adopt a release based approach to product development. This is contrary to the traditional project mode, where people and teams are shuffled across projects for different initiatives. The traditional approach, evolved to optimize and share resources, results in delayed releases. Portfolio capabilities or products comprise several applications and systems working together, with multiple cross functional teams synchronizing their work through iterative release cycles. 6
Figure 1: Product centric organizational structure 2. Extend Agility Beyond Application Development Agile practices need to be adopted holistically across the entire software delivery lifecycle. Development teams adopting Agile processes can produce functioning software in increasingly shorter iterations. However, in enterprises with complex ecosystems, it is important to extend agility to the associated downstream processes such as deployment and release. If not, the operations team struggles with deployments piling up, hampering customers from realizing the intended value. Figure 2 shows the various functions in the application delivery lifecycle that are best suited to adopting Agile practices Figure 2: Continuous delivery lifecycle management 7
3. Enhance Agile Using New Practices To speed up the delivery cycle, Agile needs to adopt new processes and technical practices such as CI and Continuous Delivery (CD). CI is the practice of checking code often, and testing and integrating chunks of code several times a day in a shared trunk. CD is a new trend that involves treating the entire software lifecycle as a single automated process. CD leverages automation to the fullest extent - from CI builds to testing, deployment, and release. These practices can be adopted to enable systematic, repeatable, and frequent releases of quality software to end customers. 4. Implement Lean Product Portfolio Management An effective way to scale Agile at an enterprise level is to craft the enterprise roadmap at frequent intervals. This can be done by identifying, organizing, prioritizing, and governing the IT demands of all portfolio capability teams on a quarterly basis. Often, the demand for changes to portfolio capability systems comes from various sources including internal ideas from the enterprise, market trends, and regulatory agencies. These demands are usually sporadic with frequently changing priorities and resulting business value. In this ecosystem, a traditional top-down strategy of upfront planning and annual budgetary cycles does not work. Agility needs to be introduced in these processes by transforming them into lean-agile budgetary models. Under these models, businesses need to evolve strategy and allocate budgets at frequent intervals, based on market or customer feedback. They need to frequently review the demand for changes at a portfolio level, and send it through a light weight business case approval process for implementation by the portfolio capability teams. The budgets have to be allocated to the right set of initiatives and the right portfolios that maximize business value for the enterprise. The progress of various portfolio capability teams should be assessed at the enterprise level to ensure feedback is received on time and the enterprise roadmap adjusted accordingly. 5. Implement Lean Product Portfolio Management Enterprise portfolios need to adopt the practice of managing two separate, coherent speeds of IT delivery, one focused on stability and the other on agility. The first is traditional and sequential, emphasizing safety and accuracy, predominantly relevant to enterprise applications. The second is exploratory and nonlinear, emphasizing agility and speed, needed for customer facing solutions. By operating two speed IT that is comprehensive and coherent, but deeply different, IT organizations can exploit their combined benefits and respond to the digital divide in their organizations efficiently. To achieve optimum outcomes, it is also essential to leverage the right technology, ensuring speed and agility across portfolio initiatives. 8
6. Ensuring the Right Technology isin Place After setting up the organizational structures and processes, enterprises need to ensure the right technology and platform support to manage Agile processes at scale in the demand-to-deploy value chain. In the current context, the scope of application lifecycle management is expanding. Along with development management and tracking that comprises requirements, design, construction, and testing, it now includes Agile portfolio, program management, and continuous delivery tracking. Enterprises therefore need to adopt applications lifecycle management solutions that help connect all tool chains to govern and track the end-to-end demand-to-deploy value chain. It is important to have a unified view of all KPIs across this value chain to be able to optimize the process as a whole, eliminate waste, and improve end-to-end cycle time. Enterprises also need to leverage the right automation tools to accelerate theprocess and improve time-to-market. Scaling Agile across the Value Chain In today s global economy, agility is central to the success of IT as well as business. While Agile processes have been successfully implemented by application development teams, these processes need to be scaled and extended across the demand-to-deploy value chain in large enterprises with complex ecosystems. The idea is to ingrain the Agile mindset across the enterprise, driving continuous improvement, collaboration, interaction and delivery, eventually increasing organizational responsiveness. By leveraging the right combination of technology, management structure, governance, and skill sets, enterprises can breakthrough to new levels of agility and realize continual business value. 9
About Jile Jile, a product offering from Tata Consultancy Services Ltd, helps enterprises in continuously building and shipping reliable software faster to the market. It is the first Agile DevOps product on cloud, by Agile teams and for Agile teams, that will help you scale from single teams to large programs and portfolios to drive change. Contact For more information about Jile, visit: https://www.jile.io Or email at contact@jile.io Visit our resources section at https://www.jile.io for more whitepapers, blogs, product videos and knowledge articles! About Tata Consultancy Services (TCS) Tata Consultancy Services is an IT services, consulting and business solutions organization that delivers real results to global business, ensuring a level of certainty no other firm can match. TCS offers a consulting-led, integrated portfolio of IT and IT-enabled infrastructure, engineering and assurance services. This is delivered through its unique Global Network Delivery Model TM, recognized as the benchmark of excellence in software development. A part of the Tata Group, India s largest industrial conglomerate, TCS has a global footprint and is listed on the National Stock Exchange and Bombay Stock Exchange in India. For more information, visit us at www.tcs.com IT Services Business Solutions Consulting All content / information present here is the exclusive property of Tata Consultancy Services Limited (TCS). The content / information contained here is correct at the time of publishing. No material from here may be copied, modified, reproduced, republished, uploaded, transmitted, posted or distributed in any form without prior written permission from TCS. Unauthorized use of the content / information appearing here may violate copyright, trademark and other applicable laws, and could result in criminal or civil penalties. Copyright 2015 Tata Consultancy Services Limited