Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London 2007. conchango 2007 www.conchango.com



Similar documents
AGILE - QUICK GUIDE AGILE - PRIMER

Agile Project Management By Mark C. Layton

Agile Overview. 30,000 perspective. Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013

Agile Project Management with Scrum

Agile Beyond The Team 1

Agile on huge banking mainframe legacy systems. Is it possible?

Software Processes. Agile Methods

LEAN AGILE POCKET GUIDE

Agile Scrum Workshop

Agile Development Overview

Manifesto for Agile Software Development

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

Sometimes: 16 % Often: 13 % Always: 7 %

26 May 2010 CQAA Lunch & Learn Paul I. Pazderski (CSM/CSP, OD-CM, CSQA) spcinc13@yahoo.com Cell: AGILE THROUGH SCRUM

Agile Processes and Distributed Projects: Dream or Nightmare?

The Basics of Scrum An introduction to the framework

Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP

Introduction to Agile Software Development

Jukka Mannila KEY PERFORFORMANCE INDICATORS IN AGILE SOFTWARE DEVELOPMENT

Developing the Agile Mindset for Organiza7onal Agility. Shannon Ewan Managing

Agile QA s Revolutionary Impact on Project Management

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

Answered: PMs Most Common Agile Questions

Agile Scrum and PMBOK Compatible or Contrary?

Gothenburg 2015 Jan Marek com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

Scrum In 10 Slides. Inspect & Adapt

The Team... 1 The Backlog... 2 The Release... 4 The Sprint... 5 Quick Summary Stakeholders. Business Owner. Product Owner.

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Comparing Scrum And CMMI

What does it mean to be Agile. Marek Majchrzak, Andrzej Bednarz Wrocław,

Neglecting Agile Principles and Practices: A Case Study

Agile and ITIL And how they integrate. enterprise.bcs.org

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

Role of Agile Methodology in Software Development

werteorientierte Unternehmenskultur

Processes in Software Development. Presented by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008

A Viable Systems Engineering Approach. Presented by: Dick Carlson

AGILE BUSINESS INTELLIGENCE

Adapting Agile Software Development to Regulated Industry. Paul Buckley Section 706 Section Event June 16, 2015

Capstone Agile Model (CAM)

Introduction to Agile and Scrum

Agile Systems Engineering: What is it and What Have We Learned?

SCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated

History of Agile Methods

Agile Project Management

ITSM Agile Intro Feb 5, 2015

How To Understand The Limitations Of An Agile Software Development

Governments information technology

Software Development with Agile Methods

Case Study on Critical Success Factors of Running Scrum *

SCALING AGILE. minutes

Agile with XP and Scrum

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Agile Software Development. Mohsen Afsharchi

Agile and PRINCE2 And how they integrate. enterprise.bcs.org

How to manage agile development? Rose Pruyne Jack Reed

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

Introduction to Agile Software Development. EECS 690 Agile Software Development

Agile Metrics. It s Not All That Complicated

Transitioning from Waterfall: The Benefits of Becoming Agile. ASPE Web Seminar Friday, February 27 th, 2015

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Atomate Development Process. Quick Guide

IMQS TECHNOLOGY AGILE METHODOLOGY

Agile software development

CSSE 372 Software Project Management: More Agile Project Management

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Development. Lecture 3

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

COMP 354 Introduction to Software Engineering

Agile Development with C#

Agile Projects 7. Agile Project Management 21

Adopting Agile Project Management - Corporate Culture Must Match (Apr 15)

Evaluation of agility in software development company


THE AGILE WATERFALL MIX DELIVERING SUCCESSFUL PROGRAMS INVOLVING MULTIPLE ORGANIZATIONS

Quality Assurance in an Agile Environment

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

Introduction to Agile Scrum

The Agile Manifesto is based on 12 principles:

Testing in Scrum Projects

The traditional project management uses conventional methods in software project management process.

Agile Methods for Analysis

NokiaSiemens and Agile Development by Petri Haapio JAOO 2008

Agile Extension to the BABOK Guide

Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software.

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

Applying Lean on Agile Scrum Development Methodology

Introduction... 2 Introducing the DSDM Agile Project Framework (AgilePF)...2 Introducing DSDM...2 Introducing Scrum...3

Issues in Internet Design and Development

Transcription:

Scaling Scrum Colin Bird & Rachel Davies Scrum Gathering London 2007

Scrum on a Slide

Does Scrum Scale? Ok, so Scrum is great for a small team but what happens when you have to work on a big project? Large projects have a high complexity and greater risk of failure Scrum is empirical so seems a logical choice It is possible Although it s hard work!

What does Big mean? A Scrum team is 7 +/- 2 people Above this number the team doesn t function efficiently What else? 1. Many teams 2. Geographically dispersed 3. Agile adoption at an organisational level Often all of the above!

Raise your hand if You tried Scrum on a project like this: 1-5 teams 5-15 teams Multi-site teams Entire IT department Entire company Any others?

Scrum works because.. SCRUM uses these tools: Focus on goal Visible progress and results Removing interruptions Daily review of issues Accepted responsibility Simple rules But some may disappear in scaling

What does Scrum literature say? The beauty of Scrum is that it s simple It s a toolkit for an Inspect & Adapt approach Scrum does not contain optional elements We learn about scaling thru case studies

Scrum of Scrums (S2) Scrum practice: Subdivide into Scrum teams and hold scrum of scrums meeting These meetings allow clusters of teams to discuss their work, focusing especially on areas of overlap and integration. Attended by a representative from each team Not the 3 question format More focus on issues

Challenges to Scaling Scrum

The Agile Manifesto Scale means that it is even more important to understand the fundamental principles behind the Agile Manifesto and apply them to the specific challenges While there is value in the items on the right, we value the items on the left more. Individuals & interactions Working Software Customer Collaboration Responding to Change over over over over Processes & Tools Comprehensive Documentation Contract Negotiation Following a Plan http://www.agilemanifesto.org

Agile Manifesto Principles - 1 of 2 What impact does scale have on the Agile principles? Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

Agile Manifesto Principles - 2 of 2 The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly. http://www.agilemanifesto.org/principles.html

Scrum Roles Challenged Product Owner Workload Being at all the meetings Scrum Master More inter-team issues Dependencies Scrum Team Less empowered Large or distributed

Scrum Practices Challenged Sprint Planning Harder to establish goal as need to consider other teams Daily Scrum Distributed team members Product Increment Dependencies on other teams Sprint backlog Emphasis on electronic communications for remote team members and other teams Product backlog More money at stake so more political wrangling Sprint Review Whole product or team output? Any others? Sprint Retrospective Joining forces to resolve common problems

Other Scaling Challenges Organisational Departmental structure and line management Cultural impedance Reward/Motivation systems Political loss of power/control Existing project/programme management and measurement Logistical Working environment Technical infrastructure

Notes Vision - Communicate Widely and Often Models for inter team synchronisation Train the teams and management Coach the teams and management Don t be too prescriptive and complete with Scaling model let the team find their own solutions Ensure leadership is within the teams not above it Start with a consolidated view of the whole backlog A Programme Backlog

Approaches to the Challenges Team Structures

Start Small Start with a Beachhead team and then build from there Initial Team Add New Team members Time

Existing Teams Unite Extract core team Focusing on forward plan Integration team Keeps the whole working

Independent Projects Independent Teams Customer Backlog 1 Customer Backlog 2 Multiple Customers PO 1 Feature a 2 Feature b 3 Feature c 4 Feature d PO 1 Feature e 2 Feature f 3 Feature g 4 Feature h Requirements independently prioritised Teams Are Independent Separate Product Backlogs Separate Sprint Planning Separate Sprint Backlogs Team 1 Team 2 But what about reuse?

A Bigger Project 1 < Teams < 3 1 st Stage Scale Model Single Customer Single set of prioritised requirements Joint Sprint Planning & Reviews Separate Sprint Backlogs Dynamic team split from iteration to iteration Works well for a small number of teams Runs into issues above 3 teams Sprint Planning & Reviews Daily Scrums Common code base and check-in/out Code contention

Programme Teams > 3 2 nd Stage Scale Model Scale number of Streams Programme Owner Programme Backlog 1 Feature a 2 Feature b 3 Feature c 4 Feature d 5 Feature e 6 Feature f 7 Feature g 8 Feature h Streams are logical subsets of the Backlog(s) split by: Business Service E.g. CRM Technical Service E.g. Web Platform Stream Backlog 1 Stream Backlog 2 PO 1 Feature a 2 Feature b 3 Feature c 4 Feature d PO 1 Feature e 2 Feature f 3 Feature g 4 Feature h Team 1 Team 2 Team 3 Team 4 Scale number of Teams

PO Teams as Customers Business Service 1 Stream Backlog 1 Feature a 2 Feature b 3 Feature c 4 Feature d PO Business Service 2 Stream Backlog 1 Feature e 2 Feature f 3 Feature g 4 Feature h Team 1 Team 2 Customer facing teams can generate their own requirements for common Platform features Teams 1 & 2 are Customers for Team 3 Team 3 has a Product Owner who prioritises the Technical backlog Team 3 consults with Teams 1 & 2 while building their platform features Team 3 Sprint Review to show output PO Technical Service 1 Stream Backlog 1 Feature aa 2 Feature bb 3 Feature cc 4 Feature dd Teams 1 & 2 can feedback Teams 1 & 2 integrate platform features into their own delivery in subsequent iterations Team 3 may work to a smaller iteration length, but still in phase with Teams 1 & 2 Team 3 may Borrow team members from Teams 1 & 2 agreed in Sprint Planning Team 3

Combining the Models

And With Multiple Customers

Distributed Teams Co-location is ideal Anything else is less than ideal! If the teams have to be distributed minimise the communications gap Arrange the teams to match geographical and architectural boundaries Instant Messenger VOIP enables low cost voice communication - Skype Web Conferencing for team presentations WiredRed, Live Meeting Good quality phone conference facilities Programme and team level wikis Face to Face meetings/working swap team members Maintain daily Stand-up meetings Ensure the teams have an integrated development infrastructure Common source control system and structure Ensure regular integration of all teams output

Approaches to the Challenges Inter-team Communication and Synchronisation

Inter-team Communication How do Multiple Teams work together? Informal team to team collaboration Communities of common disciplines E.g. Resolve integration issue E.g. DBAs

Stagger Daily Stand-up Meetings Any team members can attend any other team stand-up meetings

Limit to Staggered Daily Stand-ups Not practical to stagger all Daily Scrums with many teams

Parallel Daily Stand-up Meetings Stream A Stream B Run parallel sets of Scrums grouping by Stream

Scrum of Scrums Classic model for scaling Scrum projects Coordination across teams through the Scrum meetings Aggregated view of requirements Programme view of impediments Prone to Command & Control mentality Implied Hierarchy Scrum of Scrums of Scrums Scrum of Scrums Teams

Align Iterations Across Teams Enables Joint Planning Enables Joint Delivery Smaller Iterations In Phase

Approaches to the Challenges Planning

Scrum Lifecycle Add a Sprint Zero to get Product Backlog, Release Plan and Infrastructure in place Follow this with Sprints resulting in tested and integrated product increment Apply final polish in Consolidation sprint Internal Releases Final Deployment 0 1 2 3 Sprints 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2

Levels of Planning Release Planning & Programme Backlog Sprint Goals & Sprint Planning Stream Planning Team Sprint Planning > Sprint Backlogs conchango 2007 www.conchango.com

Maintaining Levels in Plans Planning precision Vision Roadmap with goals per release High-level view with Themes per sprint Product Backlog Sprint Backlogs per team

Product Owner? One person in this role for a large project may not scale! Consider creating a Product Owner team One person to set priorities and mediate between stakeholders One person per team to help communicate what s required for each product backlog item

Common Language Need to create shared domain model and glossary to help teams maintain consistency Also need architecture guidelines

Visible Progress It may be useful to start using a planning tool to help create an overall backlog across teams (such as VersionOne, Rally, ScrumWorks, Scrum for Team System, etc) You can still use spreadsheets or wikis but then you need dedicated admin time to maintain the current picture

Integration? If you divide the teams into component teams or feature teams working in parallel using Scrum then you need to put some thought into Integration Form a virtual team to tackle integration issues - establish another S2 meeting for this You may need a Release Sprint but watch out you don t slip into Scrumfall

Testing You are likely to need an additional team of testers to support integration, UAT, regression, stress testing of the whole integrated system rather than the output of individual teams This is not a substitute for embedded testers working within each Scrum team

Product Showcase Each team will hold a Sprint Demo of the features developed but it s important not to lose sight of the whole Organise Product Showcase meetings open to all teams at regular intervals within the project

Scaled Infrastructure Requirements Integrated Source Control Consistent source structure Share common code Consistent engineering and quality practices Lots of environments Sandboxed team development environments Sandboxed team testing environments Integration environments Automation Builds Team and Integration Deployments Smoke testing Regression testing Regular performance testing Backlog(s) visibility across teams Dependency mapping Reuse opportunities components and frameworks Team metrics Programme metrics

Scaled Infrastructure Support

Striking a balance More team members longer meetings less focus Contention for single PO higher workload less available More teams more time to co-ordinate between teams working at cross-purposes PO team more churn on decisions Cross-functional team less time with skill group Specialist teams miss the big picture

Scaling Summary Keep to Agile Principles Build up rather than Big Bang Prepare for scale but don t be prescriptive Communicate widely Provide the infrastructure, tools and logistical support Mitigate corporate Programme reporting requirements Let the teams evolve their own inter-team communication and working practices But ensure common engineering practices and supportive infrastructure Be prepared for mistakes and unforeseen issues But ensure the lessons are learned and applied

Questions? colin.bird@conchango.com http://blogs.conchango.com www.scrum-master.com www.scrumforteamsystem.com rachel@agilexp.com http://www.agilexp.com/ http://twelve71.typepad.com/rachel