Optimizing Agile with Global Software Development and Delivery



Similar documents
Agile/Scrum Implemented in Large-Scale Distributed Program

Maximizing Business Value Through Effective IT Governance

How To Choose A Test Maturity Assessment Model

ICD-10 Advantages Require Advanced Analytics

Transform Customer Experience through Contact Center Modernization

Credit Decision Indices: A Flexible Tool for Both Credit Consumers and Providers

Driving Innovation Through Business Relationship Management

DevOps Best Practices: Combine Coding with Collaboration

Creating Competitive Advantage with Strategic Execution Capability

Knowledge Management in Agile Projects

Cognizant Mobility Testing Lab A state of the art Integrated platform for Mobility QA

A Tag Management Systems Primer

Cognizant Insights. Executive Summary. Overview

Two-Tier ERP Strategy: First Steps

Cognizant assetserv Digital Experience Management Solutions

Agile Planning in a Multi-project, Multi-team Environment

Building a Collaborative Multichannel Insurance Distribution Strategy

Open Source Testing Tools: The Paradigm Shift

Cognizant Mobile Risk Assessment Solution

Cognizant Mobility Testing Lab. The faster, easier, more cost-effective way to test enterprise mobile apps.

How Healthy Is Your SaaS Business?

> Cognizant Analytics for Banking & Financial Services Firms

Business-Focused Objectives Key to a Winning MDM Implementation

Extending Function Point Estimation for Testing MDM Applications

> Solution Overview COGNIZANT CLOUD STEPS TRANSFORMATION FRAMEWORK THE PATH TO GROWTH

Retail Analytics: Game Changer for Customer Loyalty

LifeEngage : The Life Insurance Platform for the Digital-Age Insurer

The Impact of RTCA DO-178C on Software Development

Virtual Clinical Organization: The New Clinical Development Operating Model

How To Know If A Project Is Safe

Complaints Management: Integrating and Automating the Process

Granular Pricing of Workers Compensation Risk in Excess Layers

POS Data Quality: Overcoming a Lingering Retail Nightmare

Key Indicators: An Early Warning System for Multichannel Campaign Management

Cloud Brokers Can Help ISVs Move to SaaS

Innovative, Cloud-Based Order Management Solutions Lead to Enhanced Profitability

Improve Sourcing and Contract Management for better Supplier Relationship

Strategic Cost Optimization: Driving Business Innovation While Reducing IT Costs

Integrated Market Research: The Intelligence Behind Commercial Transformation

Making Multicloud Application Integration More Efficient

Virtual Brand Management: Optimizing Brand Contribution

Talent as a Service: Enabling Employee Engagement While Boosting Efficiencies

Using Predictive Analytics to Optimize Asset Maintenance in the Utilities Industry

An Agile Twist: Fixed-Bid Pricing

Reducing Costs, Increasing Choice: Private Health Insurance Exchanges

e-signatures: Making Paperless Validation a Reality

Mortgage LOS Platform Evaluation and Selection

Migration Decoded. Cognizant Insights

Software Quality Transformation: Focus on Results, Not Process

Transforming the Business with Outcome-Oriented IT Infrastructure Services Delivery

Siebel Test Automation

Online Capabilities of UAE Insurance Carriers: The Road to Customer Satisfaction

Best Practices for Global MES Rollouts

Moving Beyond Social CRM with the Customer Brand Score

The Business Case for On-Demand Test Services

Solving Storage Headaches: Assessing and Benchmarking for Best Practices

Emerging Differentiators of a Successful Wealth Management Platform

Streamlining Submission Intake in Commercial Underwriting for Middle Market Segments

Predictive Response to Combat Retail Shrink

Two-Tier ERP: Enabling the Future-Ready Global Enterprise with Better Innovation, Customer Experience and Agility

HIX 2.0: New Alternatives for State Participation in Health Insurance Exchanges

Proactive MDM: Marrying Master Data with Operational Processes to Elevate Business Value

Top Five Secrets for a Successful Enterprise Mobile QA Automation Strategy

Convergence of CRM, BPM, MDM and BI: The Fantastic Four of Customer Centricity

Transcription:

Cognizant 20-20 Insights Optimizing Agile with Global Software and Delivery A blueprint for integrating global delivery and Agile methodology, allowing organizations to achieve faster returns on investment, accelerate time-to-market and increase market opportunity. Executive Summary Agile software development and global service delivery have achieved demonstrable benefits for organizations worldwide. Although there are challenges with both strategies, and questions as to whether they can coexist, when managed properly Agile and global service delivery provide organizations with numerous benefits, including accelerated and bug-free software delivery that tightly aligns with business requirements. This white paper provides a process framework that was developed as part of our implementation of a multimillion-dollar project for a global consumer goods company delivered via a global, Agile delivery model. This paper not only examines the benefits that businesses can leverage by implementing this model but outlines the best practices that should be followed to handle challenges that are sure to crop up along the way. Evolution of Concept The software services industry has undergone numerous changes during the past decade. Among the visible changes in software development has been the increased use of Agile software methodology, which has emerged as a way to accelerate code creation and delivery while remaining aligned with dynamic business requirements. Meanwhile, traditional global delivery has provided a unique selling point due to cost reductions and gains in productivity and resource management. However, the increased adoption of the Agile software methodology has proven challenging for companies trying to seamlessly partner with software service providers. Software service providers were at first reluctant to embrace Agile since it was thought to offset the benefits of the global delivery model. However, increased adoption of Agile by organizations worldwide has forced clients to realign their relationships with service providers to incorporate the features of Agile development, such as rapid development and quick turnaround time, to fit the global delivery model. Business Environment Organizations are exhibiting increased levels of confidence in sourcing due to the success of the global IT and business services industry. This has led to an increase in the complexity of projects that are outsourced. Complex projects increase cognizant 20-20 insights june 2013

What is Your Preferred Software Methodology/Model? 56.5% 9.2% 15.6% 0.8% 1.9% 2.3% 4.6% 9.2% Agile Iterative Watefall Process RAD RUP XP: Extreme Programming V-Model Other Source: Executive Brief, 2011 Software Trends Survey Figure 1 the risk of failure; this has resulted in many services firms using structured development methods that call for greater customer involvement. This creates overhead for the project and reduces flexibility. There is evidence that Agile methodology in outsourced projects can deliver better results in a dynamic environment. A survey conducted by Executive Brief, indicates that more than 56% of software industry business leaders preferred Agile software methodology over other models (see Figure 1). Industry Challenges Among the key obstacles to global services firms that want to embrace Agile is that it requires a single team working in one location; adapting this process to multiple teams in different geographies and time zones poses significant challenges. The process-oriented global delivery model requires the cumbersome and time-consuming creation of several artifacts, such as functional specification documents, technical specification documents, test case documents, requirement specifications, etc. The Agile model provides an alternative to overcome this challenge by providing rapid development with minimal documentation due to its enhanced interactivity among developers and clients. Customer Expectations Whether it s software development or business process outsourcing, when two disparate organizations work together success can be achieved only iteratively, using as many feedback loops as possible that can be designed into the effort. Global Agile software development offers both buyers and sellers of global business and IT services the opportunity to achieve perfection. In a global services engagement, customers can partner with service providers to meet the increased need for rapid builds and dynamic business requirements, thereby providing: Increased visibility during the development process. Flexibility to alter requirements and incorporate change requests. Quick turnaround. Our framework helps organizations embrace global Agile software development by leveraging proven global services delivery methods. Key Components s: A module/feature of a product will be developed using short development cycles called s. User stories: A user-centric description of the goals that one or more people will achieve by using the end software deliverable. This includes delivery of a product with incremental features and improvements at the end of each and parallel execution of all phases of the software delivery lifecycle (SDLC) in a. Stand-up meetings: Daily Scrum calls for status updates and risk/issue resolution. Key decision-makers participate in the meeting and all issue clarifications/resolutions are provided in the same meeting. cognizant 20-20 insights 2

Creating a Global Agile Plan Client to identify a product owner. Vendor to identify Scrum master. Vendor to set up development team. review meeting to be decided by client and vendor. Product backlog to be decided by client and vendor. To define features/requirements of the product and prioritize. Sign off product backlog & : accept or reject. Ensure team is fully functional and productive. Maintains close cooperation among all roles and functions. Each module should have 4-8 member team. Mature and committed team which organizes itself and its work. Client to provide clarifications and resolve outstanding issues. Team to demonstrate development status to product owner. At least 20% of the product features should be prioritized. every and reprioritize accordingly. Advance plan by product owner. Product owner should have plan for at least two s in advance. Review product backlog list and identify scope of current. Figure 2 Agile Scrum-specific software configurable items (SCI) include: Product backlog: This is a prioritized list of all features needed and wanted for the end product. : A subset of the product backlog that needs to be frozen before a starts. Any change suggested in a will be added to the product backlog and will be part of the next. Prerequisites Figure 2 illustrates the prerequisites needed to begin global Agile development. Roles and Responsibilities One of the main criteria for a successful global Agile delivery model is the commitment from the organization and its end users to engage closely with service provider and carry out the responsibilities, as listed in Figure 3. Allocation of Responsibilities During a Project Stage Details Vendor Client Deliverables scope and duration. requirement gathering. execution. user testing. daily stand-up meeting. review. sign-off. Figure 3 duration should be no more than three to four weeks. For execution, it is mandatory to have clear requirements prior to the start of the. Product backlog will be updated with new requirements. To be done in the last week of the. Decide the schedule (three or four weeks) depending upon the requirement. Confirm the requirement s clarity after requirement analysis. To confirm the scope at least one week before the start of the. To decide the start of and clarify all requirements. backlog. Product backlog user stories. Execute the. Perform user testing. UAT logs. To plan bug fixing and changes suggested. 15 minute stand-up meeting. Present quick status and plan for the day. review meeting to be held daily to give status and receive clarifications if any. sign-off as the exit criteria. Share learnings and issues. Perform user testing. Clarification queries and discuss what to take up next if required. Share learnings and issues. Provide sign-off on successful execution of each. UAT logs. Steps needed to modify the process. Sign-off e-mail. cognizant 20-20 insights 3

Ready, Set, Daily Scrum s Product Release Goals 15/20 Working Days s Detailed Gathering Increment Regression/ Integration Testing Code & Test Review Deployment Regular Builds Figure 4 Methodology Project delivery is divided into small functional releases or increments to manage risk and to obtain early feedback from customers and end users (see Figure 4). These small releases are delivered on a schedule using iterations that typically last between one and four weeks each. s are all fixed at the same length to maximize feedback and regularly force the trade-offs necessary to deliver. Moreover, their fixed scope helps retain stability. Plans, requirements, design, code and tests are created initially and updated incrementally as needed to adapt to project changes. Schedule The various stages of a representative are depicted in Figure 5. 0: This is the initial step to begin the Agile process. It consists of gathering requirements necessary to begin the first. A product backlog list is created to identify all the potential user stories. 1 will begin only after the scope is confirmed and all requirements are clarified. 1: In the example shown in Figure 5, each consists of three weeks of development followed by two weeks of user acceptance testing (UAT) and change requests (CR). Change requests raised by the client are classified into major and minor CRs. Minor CRs are incorporated into the current during the UAT week and major CRs are added to the product backlog. The product backlog is reviewed during the iteration planning process, and the scope for the upcoming is Representative Timeline W0 W1 W2 W3 W4 W5 W6 W7 W8 W9 W10 W11 W12 W13 W..n 0 1 User Acceptance Testing/ Change 2 User Acceptance Testing/ Change 3 User Acceptance Testing/Change 4..N Figure 5 cognizant 20-20 insights 4

A Typical Agile Sequence User Stories & Functionality High Priority User Stories Scope Release Management Integration Testing Gathering and Product User Acceptance Testing Deployment Change Vendor Client Business Analyst Scrum Master Business User Developer Tester Figure 6 finalized based on the priority of the items in the product backlog. 2: gathering for 2 will begin during the development stage of 1. of 2 will begin in the second week of UAT of 1. The same process will be repeated for subsequent s. The roles associated with each stage in the iterative process are illustrated in Figure 6. Testing Maximizing the benefit of global Agile software development requires that testing and coding begin concurrently. s are translated into user stories and then software features, against which test cases are built. Acceptance testing occurs in tandem with development; no development is considered complete until the software features pass QA. Test-driven development (TDD) is a rapid cycle of testing, coding and refactoring. When adding a feature, the developer and tester may perform dozens of these cycles, implementing and refining the software in baby steps until there is nothing left to add or take away. A Microsoft research 2 study shows that TDD substantially reduces the incidence of defects. When used properly, it also helps improve design, documents public interfaces and guards against future mistakes. Business Benefits The benefits that were realized as part of our implementation of a multimillion-dollar project for a global consumer goods company delivered via a global Agile delivery model are as follows: Financial Market opportunity: Building functional products with limited features and then continuing to add features results in accelerated time-to-market. Faster return-on-investment:: By using a global Agile development model, products/ applications can be built and released earlier than by using traditional Agile or waterfall models, resulting in faster ROI. Higher productivity and reduced risk: Clients are able to obtain higher productivity than with traditional Agile and waterfall models due to elimination of irrelevant paperwork, and they require fewer artifacts by leveraging the Agile global delivery model. The iterative process ensures that risks are minimized due to constant feedback on deliverables provided by the client organization. cognizant 20-20 insights 5

Process Continuous improvement: Agile development accelerates the delivery of initial business value, and through a process of continuous planning and feedback is able to ensure that value is continually maximized throughout the development process. Visibility: By measuring and evaluating status, based on testing software, much more accurate visibility into the actual progress of projects is available for end user and development teams. Collaboration: Through daily communication, global Agile teams can best understand and discuss customer requirements. Team collaboration reinforces best practices and makes it easier to introduce new tools and development techniques. Application Lower defect density: Customers are assured of getting defect-free applications due to the iterative nature of releases. Critical bugs are caught early in the project. Adaptability: As a result of iterative planning and feedback loops, global teams are able to continuously align the delivered software with desired business needs, easily adapting to changing requirements throughout the process. Flexibility: An Agile global delivery model is far more accommodating to change requests at any time of the project when compared to traditional Agile and waterfall models. Frequent communication eliminates gaps in requirement gathering. The Best of Both Worlds To succeed, global Agile software development model projects require the following: An ideal project resource split: 20% customer resources, 30% IT onsite resources and 50% IT global resources. The teams should have overlapping work hours and the entire team should start together. An offshore representative should be part of the daily Scrum. Retention of business knowledge by the client organization is key. A variety of communication methods should be used (rather than just one): videoconferencing, IM, Live, Web collaboration tools, project portal repository, Wiki forums and faceto-face sessions. Preplanning for the next (three-week Scrums) should occur in parallel with the running. Guidelines to consider include: Well-defined acceptance criteria with production-like boundaries: While unplanned work sometimes occurs, it lowers efficiency of completing planned work. Try, if at all possible, to defer the unplanned work to the next (a three-week delay). Centralize documentation so it is accessible for all and changeable by all. Maintain daily stand-up meetings. Maintain metrics of planned tasks vs. unplanned tasks completed per. Ensure the requisite communication bandwidth. This is often a challenge for global teams. Remember to schedule overlapping work hours. Provide full visibility into project status. Work with mature clients only; clients need to understand how Agile works. Provide Agile mindset and method training. Examples of training approaches include: > > One-day workshops. > > Computer-based training (CBT) of best practices. > > Mentoring. Footnotes 1 http://c.softserveinc.com/newsletter/software--trends-survey-results-2011.pdf 2 http://research.microsoft.com/en-us/groups/ese/nagappan_tdd.pdf cognizant 20-20 insights 6

About the Author Jithin Josey PMP, CSCP is a Senior Consultant in Cognizant Business Consulting s Engineering and Manufacturing Services Practice. He has seven-plus years of experience in project management, Agile software development methodology, business requirement gathering, business analysis and intelligence and business consulting around IT strategy, supply chain management and manufacturing and logistics across multiple geographies in the U.S., Canada, Singapore, UAE, Philippines, Malaysia and India for leading Fortune 500 clients. Jithin holds an M.B.A. from SP Jain Center of Management-Dubai/ Singapore and a bachelor s of engineering degree from Bangalore University-India. He can be reached at Jithin.Josey@cognizant.com. About Cognizant Cognizant (NASDAQ: CTSH) is a leading provider of information technology, consulting, and business process outsourcing services, dedicated to helping the world s leading companies build stronger businesses. Headquartered in Teaneck, New Jersey (U.S.), Cognizant combines a passion for client satisfaction, technology innovation, deep industry and business process expertise, and a global, collaborative workforce that embodies the future of work. With over 50 delivery centers worldwide and approximately 162,700 employees as of March 31, 2013, Cognizant is a member of the NASDAQ-100, the S&P 500, the Forbes Global 2000, and the Fortune 500 and is ranked among the top performing and fastest growing companies in the world. Visit us online at www.cognizant.com or follow us on Twitter: Cognizant. World Headquarters 500 Frank W. Burr Blvd. Teaneck, NJ 07666 USA Phone: +1 201 801 0233 Fax: +1 201 801 0243 Toll Free: +1 888 937 3277 Email: inquiry@cognizant.com European Headquarters 1 Kingdom Street Paddington Central London W2 6BD Phone: +44 (0) 20 7297 7600 Fax: +44 (0) 20 7121 0102 Email: infouk@cognizant.com India Operations Headquarters #5/535, Old Mahabalipuram Road Okkiyam Pettai, Thoraipakkam Chennai, 600 096 India Phone: +91 (0) 44 4209 6000 Fax: +91 (0) 44 4209 6060 Email: inquiryindia@cognizant.com Copyright 2013, Cognizant. All rights reserved. No part of this document may be reproduced, stored in a retrieval system, transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the express written permission from Cognizant. The information contained herein is subject to change without notice. All other trademarks mentioned herein are the property of their respective owners.