Agile Processes and Distributed Projects: Dream or Nightmare?

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

Agile Project Management with Scrum

10,000 Miles away: Developing with a Distributed Team

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

LEAN AGILE POCKET GUIDE

Agile Project Management By Mark C. Layton

How to manage agile development? Rose Pruyne Jack Reed

Agile Development Overview

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

The Agile PMO. Contents. Kevin Thompson, Ph.D., PMP, CSP Agile Practice Lead cprime, Inc E. Third Avenue, Suite 205 Foster City, CA 94404

Agile Beyond The Team 1

AGILE - QUICK GUIDE AGILE - PRIMER

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London conchango

Software Processes. Agile Methods

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

Agile Project Management: Adapting project behaviors to the software development environment

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

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

Manifesto for Agile Software Development

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

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

D25-2. Agile and Scrum Introduction

Introduction to Agile Software Development. EECS 690 Agile Software Development

Introduction to Agile Software Development

Comparing Scrum And CMMI

History of Agile Methods

Agile Projects 7. Agile Project Management 21

Agile Scrum Training. Nice to meet you. Erik Philippus. Erik Philippus (1951)

Creating a High Maturity Agile Implementation

Neglecting Agile Principles and Practices: A Case Study

Software Development with Agile Methods

Issues in Internet Design and Development

Imad Alsadeq, Qatar, May 2013 OPM3, MSP, PMP, PMOC, PMI-RMP, MCP

Introduction to Agile and Scrum

Agile Software Development. Mohsen Afsharchi

Introduction to Agile and Scrum

PMBOK? You Can Have Both! June 10, Presented by:

PMP vs. Scrum Master

Development. Lecture 3

Capstone Agile Model (CAM)

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

Governments information technology

Agile Project Management

Agile QA s Revolutionary Impact on Project Management

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

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

Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP

Agile Scrum Workshop

Agile Information Management Development

Agile Project Management and Agile Practices Training; with a Scrum Project that you will do.

Agile Certification: PMI-ACP

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Introduction to Agile Software Development Process. Software Development Life Cycles

The Agile Manifesto is based on 12 principles:

ITSM Agile Intro Feb 5, 2015

The Agile Project Manager

How To Understand The Limitations Of An Agile Software Development

An Introduction to Agile Performance Management

The Business Case for Scrum

Bridging the Gap: Traditional to Agile Project Management. I. S. Parente 1. Susan Parente, PMP, PMI ACP, CISSP, PMI RMP, ITIL, MSEM;

EXIN Agile Scrum Foundation. Sample Exam

Agile Development with C#

Agile Software Development

Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project.

Iteration Planning. also called Iteration Kickoff

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

EXIN Agile Scrum Foundation

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

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

The 2015 State of Scrum Report. How the world is successfully applying the most popular Agile approach to projects

Friedrich-Alexander-University of Erlangen-Nuremberg

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

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

Introduction to Agile

Scrum. SE Presentation. Anurag Dodeja Spring 2010

Agile Project Management

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

Waterfall vs. Agile Project Management

Agile Team Roles Product Owner & ScrumMaster. Brian Adkins Rick Smith

Risikominimering I IKT-prosjekter - experiences from the Danish Government

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

BE AGILE: PROJECT DEVELOPMENT WITH SCRUM FRAMEWORK

"Bezpieczny Projekt"

Agile Methodologies XP and Scrum

CSSE 372 Software Project Management: More Agile Project Management

Applying Agile Project Management to a Customized Moodle Implementation

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

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

Agile Project Management. What it is and what it isn t

T14 "TIMELINES, ARTIFACTS AND OWNERS IN AGILE PROJECTS" Hubert Smits Rally Software Development BIO PRESENTATION 6/21/2007 1:30:00 PM

werteorientierte Unternehmenskultur

Course Title: Planning and Managing Agile Projects

Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan

Agile Contracts. NK Shrivastava, PMP, RMP, ACP, CSM, SPC CEO/Consultant - RefineM. Agenda

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

Certified Scrum Master Workshop

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

SCRUM & AGILE. Everything You Need To Know

Transcription:

Agile Processes and Distributed Projects: Dream or Nightmare? Instructor: Kevin Thompson, Ph.D., PMP, ACP, CSP 4100 E. Third Ave, Suite 205, Foster City, CA 94404 650-931-1651 www.cprime.com The leader in training and consulting for project management and agile development Outline 1. Overview of Agile Processes 2. The Scrum Process 3. The Distributed World 2 1

Outline 1. Overview of Agile Processes 2. The Scrum Process 3. The Distributed World 3 What is an Agile Process? In principle: Any process that adheres to the principles of the Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. Manifesto for Agile Software Development, www.agilemanifesto.org The concepts arose in software project management, BUT Change software to products or deliverables to apply more generally 4 2

Principles behind the Agile Manifesto 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10.Simplicity--the art of maximizing the amount of work not done--is essential. 11.The best architectures, requirements, and designs emerge from self-organizing teams. 12.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 5 Principles behind the Agile Manifesto 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10.Simplicity--the art of maximizing the amount of work not done--is essential. 11.The best architectures, requirements, and designs emerge from self-organizing teams. 12.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 6 3

Adaptive Spectrum Drives Process Selection All processes have their sweet spots Based on scope, effort uncertainty PREDICTIVE REACTIVE Predictive Processes Emphasize Efficiency Perform poorly when uncertainty is high Predictive Adaptive Reactive Plan-Driven Scrum Kanban Waterfall SDLC XP CBPM Adaptive processes Emphasize adaptability to rapid change Enable detailed planning The Agile Zone Reactive processes Don t require planning Handle unpredictable work well 7 Feedback Loops are Critical for Agile Processes 8 4

What Processes are Agile? In practice, these: Scrum Extreme Programming (XP) Kanban Commitment-Based Project Management (CBPM) Others DSDM, FDD, Crystal In practice, not these: Waterfall Software Development Lifecycle (SDLC) Rational Unified Process (RUP) Information Technology Infrastructure Library (ITIL) Is PMBOK Agile? Could be: It s a collection of practices (tools & techniques), not a process definition Not necessarily: Contains no explicitly agile content (up through V4) 9 Three Views of How Work Gets Done Plan-Driven Often phase-oriented, delivers results at the end SDLC, Waterfall, RUP, PERT, Critical Chain, Prince2 Agile with Planning Planning and execution are epicyclic, repeated at different scales for nested time horizons Scrum, XP, CBPM Agile without Planning Processes unpredictable requests efficiently, for types of work where planning is not possible or required Kanban 10 5

Linear Plan-Driven: Project Lifecycle Initiating Processes define, authorize initial scope Planning & Executing Processes alternate to completion Closing Processes deliver, review, shut down 11 Agile with Planning: Project Lifecycle Inception phase prepares for start of Scrum process Implementation phase plans, executes, and delivers for multiple time scales Termination phase shuts down 12 6

Unplanned Agile Project: Kanban Lifecycle Work items arrive in a steady stream, are prioritized daily Kanban (Signboard): Literally, a signal indicating that an action should be performed 13 Adaptability Expects the unexpected and adjusts gracefully Inspect and Adapt Collaboration Continuous Improvement Agile Essentials Team members self-organize Members define, allocate tasks Self improvement through reflection, learning from past experience Stable Team membership increases domain knowledge and productivity over time 14 7

Outline 1. Overview of Agile Processes 2. The Scrum Process 3. The Distributed World 15 Scrum: Our Reference Process Scrum Arose in software engineering Not tied to any subject domain Planning is iterative Execution is iterative 16 8

Select Process: Scrum Summary Product Owner provides ranked requirements, as short narrative descriptions ( Stories ), or bug-fix requests. Set of unscheduled requirements is the Product Backlog. Each requirement is a Product Backlog Item (PBI). Small Teams (3 9 people) work in short Sprints (2 4 weeks) to implement stories in rank order. Requirements frozen when Sprint starts no change requests allowed! Teams self-organize to best apply member skill sets (coding, test development, testing, etc.). ScrumMaster does not assign tasks SM focuses on planning, tracking, mentoring, and issue resolution Schedule rules: Don t extend Sprint to finish incomplete Stories 17 The Defining Characteristics of Scrum Three roles Team ScrumMaster Product Owner Three artifacts Product Backlog Sprint Backlog Burndown chart Five Time Boxes Sprint Sprint Planning Daily Scrum Meeting Sprint Review (Demo) Meeting Retrospective Meeting 18 9

The Time Boxes of Scrum Sprint: 2 4 weeks Implement requirements in rank order Sprint Planning Meeting: < 8 hrs Plan work to be done in Sprint Daily Stand-Up Meeting: 15 min Review status and issues Sprint Review Meeting: 1 hour Product Owner reviews deliverables Retrospective Meeting: 1 hour Learn from experience 19 Sample Two-Week Sprint 20 10

Sprint (Each Day s Major Activities) Purpose: Implement PBIs in Sprint Backlog ScrumMaster monitors work, facilitates issue resolution Team members swarm to implement PBIs in rank order Ask Product Owner to clarify requirements Ask ScrumMaster to resolve issues the Team cannot resolve Team members update status of each task On starting, finishing, revising to-do effort, Team members don t start PBIs they can t finish in Sprint Maintain discipline of finishing what is started! 21 Sprint Planning Meeting Purpose: Assign PBIs to Sprint Backlog ScrumMaster facilitates, enforces selected time box E.g., 1 hour, if Team has reviewed PBIs carefully in advance Agenda For each Product Backlog Item (PBI), in rank order 1. ScrumMaster reads PBI to Team 2. Team discusses, asks Product Owner to clarify details 3. ScrumMaster facilitates & records Planning Poker estimation 4. ScrumMaster adds PBI to Sprint Backlog 5. Planning is finished when Sprint Backlog is filled to capacity After: Team creates Task Breakdowns for Sprint Backlog items Revise scope of Sprint Backlog based on Task estimates 22 11

Daily Scrum Meeting Purpose: Promote common understanding of Sprint status, and identify issues to be resolved ScrumMaster facilitates, enforces 15-minute time box Team members, ScrumMaster, Product Owner attend Agenda 1. ScrumMaster shows burndown chart, describes progress 2. Each Team member describes What I ve done since the last Daily Stand-Up meeting What I plan to do before the next Daily Stand-Up meeting What issues I m facing that I need help to resolve In meeting: Decide who will collaborate to resolve each issue after the meeting ( sidebar discussions ) 23 Sprint Review Meeting Purpose: Confirm acceptability of implementations ScrumMaster facilitates, enforces selected time box Agenda 1. Team demonstrates finished PBIs to the Product Owner Team members decide who will do the demonstrations. One person does all; round-robin style; etc. 2. Product Owner provides final decision on whether implementations are acceptable for release If not, then they are not released Should be rare, since PO monitors & evaluates throughout Sprint. After: Product Owner writes Stories for changes to implementations 24 12

Retrospective Meeting Purpose: Learn from experience, and improve ScrumMaster facilitates, records, enforces time box Say, 60 minutes total: 30 for recording, 30 for discussion Agenda 1. Review status of work items from previous Retrospective 2. Team members, Product Owner, ScrumMaster answer What went well, that we should do again? What needs improvement? What specific improvements should we make? 3. Specify follow-up actions 1. Prioritize improvements 2. Select top few to address 3. Select owners to drive improvements 25 Agile Collaboration by Swarming How many people can work on Story #1? They swarm on #1. How many people can work on Story #2? They swarm on #2. How many people can 26 13

Outline 1. Overview of Agile Processes 2. The Scrum Process 3. The Distributed World 27 Agile Manifesto Principles Affected by Geographic Distribution Business people and developers must work together daily throughout the project. The most efficient and effective method of conveying information to and within a development team is faceto-face conversation. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 28 14

Why Co-Location is Preferred Members work together easily throughout day Proximity encourages interaction Information propagates rapidly Communication is Osmotic Members absorb information from questions, answers in background Members can chime in if they have something to contribute Agile projects favor in-person communication over documentation Co-location encourages and enables good communication Distribution impairs it, requires more documentation 29 Distributed Teams: Best Case Scrum Teams are distributed Scrum Team members are co-located per Team Compared to total colocation Intra-Team communication is the same Cross-Team communication somewhat more difficult, but not hard Cross-Team work synced via Scrum of Scrums meetings 30 15

How to Implement Cross-Team Requirements Synchronize with Scrum of Scrums meetings Purpose: Identify & address cross-team issues Frequency: As needed (daily, weekly, ) Participants: One from each team Team Member, ScrumMaster Facilitator Agenda: Each person describes What my Team is doing that may affect other Teams What issues my Team needs help to resolve Resolve issues in meeting, if possible Identify follow-up actions and owners Diagram by Clinton Keith, www.gamasutra.com 31 Distributed Teams: Other Cases Members of Scrum Team are distributed Compared to colocation Communication latency increases with fragmentation, time-zone separation Productivity decreases Non-overlapping time zones make collaboration difficult 32 16

Working Time Sprint Planning Daily Stand-Up Best Practices for Meetings Sprint Review Retrospective Comment Full overlap All attend All attend All attend All attend Co-located Full overlap All attend All attend All attend All attend Distributed Partial overlap All attend All attend All attend All attend Adjacent All attend All attend All attend All attend Far apart All attend Sub-groups, SMPs meet. SMPs, SM provide all findings to full Team. Rotate demo to PO among subgroups Sub-groups, SMPs meet. SMPs, SM provide all findings to full Team. One SM proxy (SMP) per subgroup Full Team meets twice / week Sub-group nearest to PO demos 33 Case Study: S Corp. Three Teams ScrumMaster in CA Product Owner in PA 1/3 Team members in CA 1/3 Team members on the East Coast 1/3 Team members in Shanghai, China Adaptations One proxy for ScrumMaster in Shanghai 15 min Daily Stand-Ups Twice-weekly 30-60 minute meeting/team Sprint Planning meetings One for US, one for Shanghai Sprint Retrospectives One for US, one for Shanghai ScrumMaster in all meetings 34 17

Case Study: Z Corp. SixTeams ScrumMaster in CA 3 Product Owners in CA 1/6 Team members in CA 5/6 Team members in Beijing, China Adaptations One proxy for ScrumMaster in Beijing Six 15 min Daily Stand-Ups Sun-Thur, 8-10 PM PST Sprint Planning meetings One per Team, staggered so POs can attend all, with POs facilitating Task Breakdowns Drafted in Beijing, reviewed in CA Sprint Retrospectives One for all in CA, one for all in Beijing ScrumMaster in all meetings 35 Case Study: Xebia Corp (Jeff Sutherland) Three Distributed Teams Across The Netherlands & India (3 hrs separation) One Product Owner Three ScrumMasters Adaptations Start small, then grow Start co-located team, members from all locations Later seed distributed teams with experienced members All Scrum meetings Video-conferenced via Skype, except for Sprint Review meeting Held in The Netherlands 36 18

Best Practices for Engaging & Aligning People 1. Start small and co-located Members come from all locations Work together for 3 Sprints 2. Spread the wealth Seed new Teams in other locations with seasoned members 3. Understand cultural differences ScrumMasters provide safe environment, encouragement to enable people from hierarchical cultures to adjust to Agile culture of egalitarian collaboration 4. Build personal relationships face to face Encourage travel to other offices Socialize with the visitors 5. Use video in all meetings 37 Closing Thoughts Distributed Agile projects are not desirable Distributed Agile projects are possible Technology and common sense adaptations reduce but do not eliminate pain 38 19

The Most Important Thing to Remember The process exists to help the people succeed Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 39 20