Agile Software Development

Similar documents
Scrum Guide. By Ken Schwaber, May, 2009

Integration of the Scrum methodology in mechatronic product development

What is Scrum? Scrum Roles. A lean approach to software development. A simple framework. A time-tested process

ScrumMaster Certification Workshop: Preparatory Reading

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

Introduction to Scrum

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

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

The Scrum Guide. The Definitive Guide to Scrum: The Rules of the Game. July Developed and sustained by Ken Schwaber and Jeff Sutherland

CSPO Learning Objectives Preamble. Scrum Basics

Scrum. SE Presentation. Anurag Dodeja Spring 2010

Agile Scrum Foundation Training

Agile Scrum Workshop

The Basics of Scrum An introduction to the framework

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

Introduction to Scrum for Managers and Executives

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

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

Software Development Methodologies

When is Agile the Best Project Management Method? Lana Tylka

Introduction to Agile and Scrum

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

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

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

Scrum In 10 Slides. Inspect & Adapt

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

A Glossary of Scrum / Agile Terms

Scrum Guidelines. v W W W. S C R U M D E S K. C O M

FREE ONLINE EDITION. (non-printable free online version) Brought to you courtesy of Sprint-IT &

LEAN AGILE POCKET GUIDE

Scrum methodology report

Product Development: From Conception to Execution. Slide 1

IMQS TECHNOLOGY AGILE METHODOLOGY

Agile Software Project Management with Scrum

There are 3 main activities during each Scrum sprint: A planning meeting where: the Product Owner prioritizes user stories in the product backlog

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

Agile Scrum and PMBOK Compatible or Contrary?

D25-2. Agile and Scrum Introduction

Traditional SDLC Vs Scrum Methodology A Comparative Study

Lean QA: The Agile Way. Chris Lawson, Quality Manager

Scrum includes a social agreement to be empirical as a Team. What do you think an empirical agreement is?

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

The Agile Manifesto is based on 12 principles:

SCRUM 1. Upon what type of process control is Scrum based? a. Empirical b. Hybrid c. Defined d. Complex

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

Using Scrum to Streamline Web Applications Development and Improve Transparency. Michelle Frisque

Introduction to Agile Scrum

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Agile Project. Management FOR DUMME&* by Mark C. Layton WILEY. John Wiley & Sons, Inc.

Nexus Guide. The Definitive Guide to Nexus: The exoskeleton of scaled Scrum development. Developed and sustained by Ken Schwaber and Scrum.

Agile Information Management Development

An Introduction to Agile Performance Management

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Essential Scrum. A Practical Guide to the Most Popular Agile Process. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis

Agile Projects 7. Agile Project Management 21

References: Hi, License: Feel free to share these questions with anyone, but please do not modify them or remove this message. Enjoy the questions!

Agile Project Management By Mark C. Layton

SCRUM. A Tool from the Software World Can Improve Analytical Project Outcomes. By KyMBER WALTMUNSON

Course Title: Managing the Agile Product Development Life Cycle

Scrum and Kanban 101

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

Agile Development Overview

Getting Agile with Scrum

The Truth About Agile Software Development with Scrum, The Facts You Should Know

Agile Software Development

Chapter 6. Iteration 0: Preparing for the First Iteration

Capstone Agile Model (CAM)

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

MM Agile: SCRUM + Automotive SPICE. Electronics Infotainment & Telematics

ScrumMaster or Armchair Psychologist Scrum Fundamentals Webinar Q&A March 9, 2016

Course Title: Planning and Managing Agile Projects

AGILE - QUICK GUIDE AGILE - PRIMER

6 Oct Agile: Creating a Culture of Quality, Value and Feedback. Agile. Creating a Culture of Quality, Value and Feedback.

Frank Cervone Vice Chancellor for Information Services and Chief Information Officer Purdue University Calumet January 17, 2012 CARLI Anatomy of a

EXIN Agile Scrum Foundation. Sample Exam

CSSE 372 Software Project Management: More Agile Project Management

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

1. Sprint Planning. Agile Ceremonies Demystified. A four part series written by Angela Boardman, CSM, CSP ATG (4284)

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

Issues in Internet Design and Development

Sprint with Scrum and get the work done. Kiran Honavalli, Manager Deloitte Consulting LLP March 2011

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

Understanding agile project management methods using Scrum H. Frank Cervone Purdue University Calumet, Hammond, Indiana, USA

When User Experience Met Agile: A Case Study

Agile Software Development in the Large

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

Introduction to Scrum

THE BUSINESS VALUE OF AGILE DEVELOPMENT

Project Management and Scrum A Side by Side Comparison by Anne Loeser, October 2006

How to optimize offshore software development with Agile methodologies

Introduction. Contents. Introducing the DSDM Agile Project Framework. Introducing DSDM

Glossary SAFe 4.0 for Lean Software and Systems Engineering

Scrum for Managers, Zurich March 2010

Scrum Is Not Just for Software

Transcription:

Agile Software Development Lecturer: Raman Ramsin Lecture 4 Scrum: Current Framework 1

Scrum: New Process Framework 1. A people-centric framework based on a set of values, principles, and practices that provide the foundation to which an organization can add its unique implementations for realizing the Scrum practices. 2. Scrum Values: Honesty, Openness, Courage, Respect, Focus, Trust, Empowerment, and Collaboration. 3. Scrum Principles: Manifestations of the Agile Principles. 4. Scrum Practices: Embodied in specific roles, activities, artifacts, and their associated rules. 5. Introduced herein based on Rubin s book (2012), and The Scrum Guide (2013). 2

Scrum Practices 3 [Rubin 2012]

Scrum Practices: Scrum Team Roles 1. Product Owner: Responsible for what will be developed and in what order. [Rubin 2012] 2. Scrum Master: Responsible for guiding the team in creating and following its own process based on the broader Scrum framework. 3. Development Team: Responsible for determining how to deliver what the product owner has asked for. 4

Scrum Roles: Product Owner 1. Empowered central point of product leadership 2. Single authority responsible for deciding which features and functionality to build, and the order in which to build them 3. Maintains and communicates to all other participants a clear vision of what the Scrum team is trying to achieve, and therefore, responsible for the overall success of the solution being developed or maintained. 4. Actively collaborates with the Scrum Master and Development Team to ensure that the team rapidly builds what he wants; so, must be available to answer questions soon after they are posed. 5

Scrum Roles: Scrum Master 1. Helps everyone involved understand and embrace the Scrum values, principles, and practices. 2. As a Coach: Provides process leadership and helps the Scrum team and the rest of the organization develop their own specific Scrum process. Helps the organization through the challenging change management process that can occur during a Scrum adoption. 3. As a Facilitator: Helps the team resolve issues and make improvements to its use of Scrum. Protects the team from outside interference and takes a leadership role in removing impediments (when the team cannot resolve them). 4. Has no authority to exert control over the team: Functions as a leader, not a project manager or development manager. 6

Scrum Roles: Development Team 1. A cross-functional collection of various types of people who are responsible for designing, building, and testing the product 2. Self-organizes to determine the best way to accomplish the goal set out by the Product Owner. 3. Typically five to nine people in size 4. Members must collectively have all of the skills needed to produce good quality, working software. 7

Scrum Process: Activities and Artifacts 1. Product owner has a vision of what he wants to create. Through an activity called grooming, the vision is broken down into a set of features that are collected into a prioritized list called the product backlog. 2. Sprints are performed iteratively; each sprint consists of: 1. Sprint planning: At the beginning of each sprint: 1. The development team selects a subset of the product backlog items (features) it believes it can commit to completing. 2. A sprint backlog is created; it describes, through a set of detailed tasks, how the team plans to design/build/integrate/test the selected features. 2. Sprint execution: The development team performs the tasks necessary to realize the selected features. 1. Each day, team members conduct a synchronization, inspection, and adaptive planning activity known as the daily scrum. 2. At the end of execution, the team has produced a potentially shippable product increment that represents some of the product owner s vision. 3. Sprint review: Stakeholders and Scrum team inspect and adapt the product being built. 4. Sprint retrospective: Scrum team inspects and adapts the Scrum process being used to create the product. 8

Scrum Process: Activities and Artifacts 9 [Rubin 2012]

Product Backlog 1. The product owner, with input from the rest of the Scrum team and stakeholders, is responsible for determining and managing the sequence of work in the form of the product backlog. Initially, product backlog items are features required to meet the product owner s vision. During development, the backlog also contains new features, changes to existing features, defects needing repair, and technical improvements. 2. The product owner collaborates with internal and external stakeholders to gather and define the product backlog items. High-value items appear at the top of the product backlog and the lower-value items appear toward the bottom. 10 [Rubin 2012]

Product Backlog: Grooming 1. Overall, the activity of creating and refining product backlog items, estimating them, and prioritizing them is known as grooming. 2. Product backlog items are placed in the correct sequence using factors such as value, cost, knowledge, and risk. 3. Prioritization requires estimation of the size of each product backlog item. Size equates to cost. Scrum does not dictate which size measure to use. Relative size measures are usually used; such as story points or ideal days. Instead of the absolute value, the relative size of an item compared to other items is considered. [Rubin 2012] 11

Sprints [Rubin 2012] 1. In Scrum, work is performed in iterations or cycles of up to a calendar month called sprints. 2. The work completed in each sprint should create something of tangible value to the customer or user. 3. Sprints are timeboxed so they always have a fixed start and end date, and generally they should all be of the same duration. 4. As a rule we do not permit any goal-altering changes in scope or personnel during a sprint, unless absolutely necessary. 12

Sprint Planning [Rubin 2012] 1. To determine the most important subset of product backlog items to build in the next sprint, the Scrum team performs sprint planning. 2. During sprint planning, the product owner and development team agree on a sprint goal for the upcoming sprint. Using this goal, the development team determines the high-priority product backlog items for the upcoming sprint. 13

Sprint Planning: Sprint Backlog 1. The development team breaks down each targeted feature into a set of tasks. The collection of these tasks, along with their associated product backlog items, forms a second backlog called the sprint backlog. 2. The development team then provides an estimate (typically in hours) of the effort required to complete each task. 3. There are several approaches that can be used for sprint planning. The preferred approach is as follows: 1. Select a product backlog item; 2. break the item down into tasks, and determine if the selected item will reasonably fit within the sprint; 3. If it does fit and there is more capacity to complete work, repeat the cycle until the team is out of capacity to do any more work. 14

Sprint Planning: Sprint Backlog 15 [Rubin 2012]

Sprint Execution 1. The development team, guided by the Scrum Master s coaching, performs all the task-level work necessary to get the features done. Done means there is a high degree of confidence that all of the work necessary for producing good-quality features has been completed. 2. Exactly what tasks the team performs depends on the nature of the work. For example, are we building software and what type of software, or are we building hardware, or is this marketing work? 3. Nobody tells the development team in what order or how to do the task-level work in the sprint backlog. Team members define their own task-level work and then self-organize in any manner they feel is best for achieving the sprint goal. 16

Sprint Execution: Daily Scrum 1. Each day of the sprint, ideally at the same time, the development team members hold a timeboxed (15 minutes or less) daily scrum. 2. The Scrum Master facilitates the meeting and each team member answers three questions for the benefit of the other team members: 1. What did I accomplish since the last daily scrum? 2. What do I plan to work on by the next daily scrum? 3. What are the obstacles that are preventing me from making progress? 3. By answering these questions, everyone understands: 1. The big picture of what is occurring; 2. How they are progressing toward the sprint goal; 3. Any modifications they want to make to their plans for the upcoming day s work; and 4. What issues need to be addressed. 17

Sprint Execution: Rules of Daily Scrum 1. The daily scrum is an inspection, synchronization, and adaptive daily planning activity that helps a self-organizing team do its job better. 2. The daily scrum is not a problem-solving activity. Rather, many teams decide to talk about problems after the daily scrum and do so with a small group of interested people. 3. The daily scrum is not a traditional status meeting. 4. At the daily scrum, only the pigs should talk; the chickens, if any, should attend as observers. 18

Sprint Execution: Potentially Shippable Product Increment 1. In Scrum, we refer to the sprint results as a potentially shippable product increment. 2. Whatever the Scrum team agreed to do should be really done according to its agreed-upon definition of done. 3. Potentially shippable does not mean that what got built must actually be shipped. Shipping is a business decision, frequently influenced by things such as: Do we have enough features to justify a deployment? or Can our customers absorb another change given that the last release was made just two weeks ago? 4. Potentially shippable is better thought of as a state of confidence that there is no materially important work left undone. 19

Sprint Execution: Definition of Done 1. This definition specifies the degree of confidence that the work completed is of good quality and is potentially shippable. A bare-minimum definition of done should yield a complete slice of functionality that is designed, built, integrated, tested, and documented. An aggressive definition of done enables the business to decide each sprint if it wants to ship what got built to internal or external customers. 2. Over time some teams may vary the definition of done: For Example, in the early stages of development, having features that are potentially shippable might not be economically feasible or desirable. In this situation, the definition of done might be a slice of product functionality that is sufficiently functional and usable to generate feedback. 20

Sprint Review 1. The goal is to inspect and adapt the product that is being built. 2. Participants include the Scrum team, stakeholders, sponsors, customers, and interested members of other teams. 3. Conversation is focused on reviewing the just-completed features in the context of the overall development effort. 4. Everyone in attendance gets clear visibility into what is occurring and has an opportunity to help guide the forthcoming development. 5. Bidirectional information flow: The people who are not on the Scrum team get to sync up on the development effort and help guide its direction. Scrum team members gain a deeper appreciation for the business and marketing side of their product. 21

Sprint Retrospective 1. An opportunity to inspect and adapt the Scrum process. 2. The development team, Scrum Master, and product owner meet to discuss what is and is not working with their Scrum process and its associated practices. 3. The focus is on continuous process improvement. The Scrum team identifies and commits to a practical number of process improvement actions, to be undertaken by the team in the next sprint. 22

Applicability of Scrum Scrum is not the proper solution in all problem situations. We will discuss Scrum s applicability based on the categories of problem situations proposed by the Cynefin Framework. Cynefin, pronounced ku-nev-in, is a Welsh word: It signifies the factors in our environment/experience that influence us in incomprehensible ways. The Cynefin Framework is a sense-making framework that helps us understand the situation in which we have to operate, and decide on a situation-appropriate approach. Defines and compares the characteristics of five different domains: Simple (Obvious), Complicated, Chaotic, Complex, and Disorder; Disorder occurs when you don t know which other domain you are in. 23

Cynefin Framework 24 [Rubin 2012]

Applicability of Scrum to Various Problems Scrum is particularly well suited for operating in a complex domain. Scrum can certainly work in a complicated domain (e.g., software maintenance), but it might not be the best solution. Analysis and design processes based on expert knowledge and good practices may be better options. Scrum can be used in a simple (obvious) domain, but it may not be the most efficient tool. Using a process with a well-defined, repeatable set of steps that are known to solve the problem would be a better fit. Scrum is not the best solution in a chaotic domain. In such domains, we are not interested in prioritizing a backlog of work and determining what work to perform in the next iteration. We need to act fast. Scrum is not well suited to highly interrupt-driven (or request-driven) work. Interrupts may disrupt your plans and constantly change your priorities, prohibiting reliable planning of iterations of a week or more. Pipeline solutions are preferred. 25

References Rubin, K.S., Essential Scrum: A Practical Guide to the Most Popular Agile Process, Addison-Wesley, 2012. Schwaber, K., Sutherland, J., The Scrum Guide, Published online at: http://www.scrumguides.org/, July 2013 (last visited on: 7 November 2014). Snowden, D.J., Boone, M.E., A Leader s Framework for Decision Making, Harvard Business Review, November 2007. 26