Key Accenture Learnings on Scaled and Distributed Agile Delivery
Total Page:16
File Type:pdf, Size:1020Kb
Key Accenture Learnings on Scaled and Distributed Agile Delivery Andrew Ball, Ajay Nair & Mirco Hering Focus for today • Many companies struggle to implement Agile at scale when they have distributed workforces. • Accenture has a range of experience in implementing large-scale, distributed Agile programs using the Scaled Agile Framework. • The intention of today’s session is to give some insights into Accenture’s solutions for implementing scaled and distributed Agile. Copyright © 2015 Accenture All rights reserved. 2 Challenges for distributed and scaled Agile Copyright © 2015 Accenture All rights reserved. 3 Challenges for distributed and scaled Agile Accenture has been able to leverage Scaled Agile Framework and a range of tools to address a number of these challenges Process Organization Tools • Solution • Different locations • Different DevOps misalignment • Different working Tools between between teams hours teams • Timeline • Different holidays • Some tools don’t misalignment scale well • Different customs between scrum • Offshore system teams • Cross-team performance activities • Integration of Agile • Poor collaboration with Waterfall technologies • Status tracking misalignment Copyright © 2015 Accenture All rights reserved. 4 Suggested solutions for these changes Copyright © 2015 Accenture All rights reserved. 5 Process – Aligning solutions between teams Enhanced SAFe processes are key to attaining solution alignment between different scrum teams INITIATE DISCOVER EVOLVE Feature Elaboration ReleasePlanning ReleasePlanning I1, I2, I3… Project Initiation High Level Release Revised Harden Team A KDD Backlog PI Objective s I1, I2, I3… Program Feature Backlog Team B Backlog Copyright © 2015 Accenture All rights reserved. 6 Process – Ensuring timeline alignment between teams SAFe is critical to the alignment of delivery timelines Synchronize iterations Group iterations into common Program Increments (PIs) Aim for synchronized iterations and PIs across enterprise Copyright © 2015 Accenture All rights reserved. 7 Process – Integrating Agile and Waterfall – Upfront identification of features/scope requiring Agile and Waterfall delivery – Synchronize these activities for impacted features: • Discovery (Agile) and Solution Definition (Waterfall) • Release Planning • Integration Test • Release – Manage any further changes in release via change control process for Waterfall team – Consistent tooling and common DevOps team Iteration 1 Agile Team Revised Release Release Revised Enterprise Iteration 2 Test Integration Iteration 3 Planning Iteration 4 Release Waterfall Team - Design wide Build Test Waterfall Change Control Process Copyright © 2015 Accenture All rights reserved. 8 Process – Status tracking alignment Aligned tracking across scrum teams requires: • Consistent definition of ‘Done’ • Consistent sizing method through the use of: – Ideal hours – Standardized story points – this requires: 1. Creating a catalogue of story types for each team 2. Agree on equivalent stories across teams 3. Using equivalent story types as guides, extrapolate sizes for other story types 3. Extrapolate 1. Catalogue story story types 2. Equivalent sized story Team A backlog Team B backlog Copyright © 2015 Accenture All rights reserved. 9 Organization – Possible different structures Client Vendor Client Vendor Program Program Product Release Train Product Release Train Manager Engineer Manager Engineer Team Team Testers Scrum Master Testers Testers Scrum Master Testers Product Product Owner BAs Owner BAs Developers BAs Developers BAs Local Local Local Remote Selection Criteria Selection Criteria • Business requirements are too critical or confidential to be offshored • Simple business requirements • Team has limited knowledge of business functionality • Remote team has good knowledge of business functionality • Limited availability of Business Users/Product Owner • High availability of Business Users/Product Owner • Adequate budget Copyright © 2015 Accenture All rights reserved. 10 Organization – Possible different structures Client Vendor Vendor Client Vendor Vendor Program Program Product Release Train Release Train Product Release Train Release Train Manager Engineer Engineer Manager Engineer Engineer Team Team Testers Scrum Master Testers Testers Scrum Master Testers Product Product Owner BAs Owner BAs Developers BAs Developers Developers Local Local Remote Local Local Remote Selection Criteria Selection Criteria • Business requirements are complex or not very • Business requirements are complex and not well-defined well-defined • Remote team has limited knowledge of business • Remote site team has limited knowledge of functionality and availability of Business Users/Product business functionality Owner • Limited availability of Business Users/Product • Development of some application areas cannot be Owner shifted to remote locations Copyright © 2015 Accenture All rights reserved. 11 Organization - Example Activity Split Offshore Onshore Team Activities Offshore Team Activities: Team • Release Planning input • Backlog definition • Planning Poker and • Release Planning RTE • Architecture estimation Scrum A Scrum B • Build and unit test Program Stand-up, • Business value definition and Release Planning etc. measurement stories Dev Lead Dev Lead • Application test stories • Planning Poker and estimation • • Test planning, Dev QA Dev QA Story verification preparation and • Integration (E2E) test planning execution – Integration and execution support Test, SVT and ORT • Deployment support • Application deployment • Support readiness • Application support • Application support (client liaison) • Agile coaching and training Scrum Stan-ups, Planning Poker, Conversations etc. RTE Scrum A Scrum B Prod. Prod. Owner Owner BA IM BA IM Onshore Team Copyright © 2015 Accenture All rights reserved. 12 Collaboration in time zone Onshore - Offshore model provides the ability for the team to work around the clock CST Time Monday Tuesday Wednesday Thursday Friday 23:30 00:30 Start of Day Indian Standard Time (IST) Offshore team connects with onshore UX Lead receive inputs from SMEs 01:30 02:30 Offshore team works on UX planning 03:30 Use virtual collaboration tools (tele- and execute UX delivery and conference, Lync screen sharing, 04:30 delivery management activities. Offshore Factory video conferencing) to facilitate 05:30 Workday Peer review of UX deliverables. standup meetings between Uses shared location 06:30 Vr controlled distributed teams. to park the deliverables. 07:30 (IST) Time Standard Indian 09:00 Standing call on 10:00 End of Day IST Standing call project update Standing call on Offshore Factory/ Standing call on / on project Offshore 11:00 project update US Team Meeting project update Start of Day US update Factory/US Team 12:00 Meeting 13:00 Work on UX delivery planning activities 14:00 Review user stories and query logs with SME US Workday 15:00 (CST) Review session with Business Partners and Stakeholders Work on UX deliverables 16:00 17:00 US Central Standard Time Time Standard US Central End of Day US 18:00 Provide next day instructions to offshore UX team Copyright © 2015 Accenture All rights reserved. 13 Agile & DevOps Approach Development Operations Copyright © 2015 Accenture All rights reserved. 14 Why DevOps – example in an Agile delivery context Adopting DevOps principles compliments Agile delivery to enable faster delivery and speed to market Working software Planning Iteration Iteration Iteration 1 Month 1 Working software Iteration 2 ! Wait Month 2 Working software Wait confusion of Wall Iteration 3 ! Month 3 Release Team A Release 1 Backlog Working software Planning Iteration Iteration Iteration 1 Month 4 Working software Iteration 2 ! Wait Working software Month 5 Iteration 3 ! Wait Month 6 Team B Release 2 Backlog Want Change Developers Ops Want Stability Copyright © 2015 Accenture All rights reserved. 15 DevOps principles DevOps uses automation techniques to optimize collaboration across development and operations, enabling faster, more predictable and more frequent deployments to market Strong Source Deliver small AUTOMATE COHESIVE Automate Control increments EVERYTHING TEAMSTest early everything and often IMPROVE Improve ExperimentDELIVER EXPERIMENTCohesive CONTINUOUSLY frequently teams continuously SMALL FREQUENTLY INCREMENTS Copyright © 2015 Accenture All rights reserved. 16 Key building blocks Some of the key building blocks in moving to a DevOps model are below Application Source Code Service Continuous Incident lifecycle Configuration Virtualisation / Integration Management Management Management Stubbing Analytics & Unit Test Asset Repository App Monitoring & Test Automation Governance & Change Management & Change Governance Reporting Automation Management Alarming Technical) & (Enterprise Architecture Code Quality & Deployment Coverage Review Automation & MethodsProcesses Software Delivery Software Feature Toggling Infrastructure VM Provisioning Application Environment lifecycle Automation provisioning Management Management Analytics & Automate Firewall Configuration Capacity Reporting Provisioning Management Management Automate LB Platform validation Security Delivery Provisioning / Test Automation Management IMPROVE Automate Storage Software Defined Platform Monitoring Infrastructure & Platform Platform & Infrastructure DELIVER Provisioning EXPERIMENTNetworking CONTINUOUSLY& Alarming SMALL FREQUENTLY Increase in maturity canINCREMENTS be via further improvements within each capability or targeting additional capabilities