Scrum and Agile Processes. Dr.-Ing. Oliver Ciupke Haufe-Lexware GmbH & Co. KG 2011

Similar documents
CS314 Software Engineering Project Management

Introduction to Agile and Scrum

Russell Pannone February 10, 2009

Certified Scrum Master

Effort Estimation. Method + Process + Communication. OXID esales AG Dr.-Ing. Oliver Ciupke Head of Professional Services OXID esales AG

Criteria. Kanban. Scrum. Acceptance. Acceptance Criteria. Kanban. Scrum. Refinement. Agile Manifesto. Acceptance Test. Product Backlog.

Agile Essentials Track: Business Services

04. Agile Development

4. Agile Methods. Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg. Version of

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

Scrum - Introduction. Petri Heiramo. Agile Coach, CST

Acceptance Criteria. Agile. Details that indicate the scope of a user story and help the team and product owner determine done-ness.

8 th of April 2015 Bucharest, Romania Vlad Gabriel Sorin Agile PM/Scrum Master

Agile In Practice. Benjamin Booth Spring 2009

Agile Software Development. Stefan Balbo / Patrick Dolemieux

An Agile Projects Introduction Course #PMCurrent-1

Introduction to Agile (Scrum)

Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods.

Agile Software Development

Driving Business Results With Scrum

Ian Koenig Quality IS Projects, Inc. Philippines Chapter Project Management Institute June 8 th 2010

CS 5704: Software Engineering

Scrum. Software Engineering and. The Waterfall model. The Waterfall model - some arguments. The Waterfall model - some arguments. Time.

WELCOME TO INTRO TO AGILE PROJECT MANAGEMENT AUBREY KAIGLER, PMP, ITIL. Please configure your audio: Meeting Audio Setup Wizard

FIT2101 Software Engineering Process and Management

AGILE LESSONS FROM THE NEW PMBOK. Presented by Eddie Merla, PMI-ACP, PMP

Foundations of Software Engineering. Process: Agile Practices Michael Hilton

Requirements. Mountain Goat Software, LLC. Scrum in 100 words. Mountain Goat Software, LLC

An Introduction to Scrum

User-centered System Design. Agile

Sign up to mailing list Join Slack, teaching team is available. All links are on the course website Slides are uploaded there too

Managing Projects of Chaotic and Unpredictable Behavior

PMI Agile Certified Practitioner (PMI-ACP) Duration: 48 Hours

13. Team evolutionary developement

Software Development*

Agile Software Development. Agile Software Development Basics. Principles of the Agile Alliance. Agile Manifesto. Agenda. Agile software development

Scrum. an Agile Process

1. The Case for Agile 2. The Scrum Process 3. Scaling Scrum

Agile Software Development in a Regulated Environment. Natalie Custer

Introduction to Agile/Extreme Programming

Advantages of Agile model:

Agile 101. Brent Hurley Chief Problem Solver Gira Solutions. Values, Principles

Lecture 8 Agile Software Development

Course Title: Agile for Business Analysts

INDEX. Numerics 1970s - iterative practice s - iterative practice 85

Scrum Team Roles and Functions

Deloitte Shared Services Conference 2018 Agile 101: delivering value using Agile Richard Barsby, Ashley Payne Rolls-Royce, Tom Bevan, Christina

Agile Program Development. Agile Manifesto 9/3/2013. What is Agile Development? 12 Principles of Agile Development 1 of 4

Scrum Basics. Marek Majchrzak, Andrzej Bednarz Wrocław,

Processes and Life- Cycles. Kristian Sandahl

Course Title: Agile for Business Analysts

Leveraging Agile with audits. SF IIA Fall Seminar November 30, 2018

Organizational Matters

Johanna Rothman. Chapter 1 Why Agile and Lean Approaches Work. Copyright 2017

An Introduction to Scrum

Scrum er ikke en religion

Agile Development Methods: Philosophy and Practice. CSCE 315 Programming Studio, Fall 2017 Tanzir Ahmed

Agile Methodologies. Introduction ISSSR 2013/2014

Software Engineering Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur.

AGILE SOLUTIONS. Agile Basics

An Introduction to Scrum. Mountain Goat Software, LLC

Processes and Life- Cycles. Kristian Sandahl

SCEA 2010 EST06. Estimating Issues Associated with Agile Development. Bob Hunt Vice President, Services Galorath Incorporated

Software Processes. With a focus on Agile/Scrum CPSC310 Software Engineering

Chapter 01 - The Process The Process Application Process ACP Qualifications Scheduling Your Exam Rescheduling/Cancelling Fees

An Introduction to Scrum

International Scrum Master Foundation. Study Guide Take the Certification online

Change Agile. Ben Linders, André Heijstek. veranderproject.nl

An Evolutionary Lifecycle Model with Agile Practices for Software Development at ABB

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems.

Introduction to Software Engineering: Project Management ( Highlights )

Scrum. Juan Gabardini. Administración y Control de Proyectos Informáticos II. Universidad de Buenos Aires. 1 er cuatrimestre 2007

Ingegneria del Software Corso di Laurea in Informatica per il Management. Scrum. Davide Rossi Dipartimento di Informatica Università di Bologna

AGILE FOR NON-IT PRACTITIONERS

Chapter 3 Agile Software Development

Agile Methods. Introduction to Agile Methods by Pietari Kettunen

ATINER's Conference Paper Series COM

Software Engineering

Tuesday, October 25. Announcements

Yes! Scrum did wonders beyond IT. Padma Satyamurthy

Moonzoo Kim. KAIST cs350 Intro. to SE Spring

Keywords: Scrum framework, agile software development, change management, iterative development.

Agile. How would you implement agile methodologies and tools for web projects? What do you see as the benefits and challenges to doing this?

AGILE FOR NON-IT PRACTITIONERS

Software Design COSC 4353/6353 D R. R A J S I N G H

AGILE TEST MANAGEMENT WITH VISUAL STUDIO

WELCOME TO INTRO TO AGILE PROJECT MANAGEMENT AUBREY KAIGLER, PMP, ITIL. Please configure your audio: Meeting Audio Setup Wizard

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2.

Software Systems Design

Two Branches of Software Engineering

An Overview of Software Process

Johanna Rothman Part II Design and Manage an Agile and Lean Project Chapter 5 Start Your Agile Project Right. Copyright 2017

Vendor: GAQM. Exam Code: CSM-001. Exam Name: Certified Scrum Master (CSM) Version: Demo

Purpose. To discuss what it takes to create a fast-paced, dynamic, innovative and customer centric organisation.

The Software Life Cycle

Thriving in an Agile Environment. Kathryn Poe Rocky Mountain Chapter Feb 16, 2012

Software Life Cycles and Configuration Management

Scrum, but? Scrum, and! Using Scrum and Requirements Engineering Successfully. Susanne Muehlbauer 02 September 2011

Bridging the Gap Between Governance and Agility. Mario E. Moreira

Product Owner Training - From Idea to Implementation. Robin Dymond Mark Pushinsky

Transcription:

Scrum and Agile Processes Dr.-Ing. Oliver Ciupke Haufe-Lexware GmbH & Co. KG 2011

Scrum and Agile Processes: Outline Classical processes and their limitations Agile processes Scrum o Overview o History o Process Budgeting and planning agile projects Where does Scrum not fit? Advanced questions Summary Seite 2

Classical Process Models Waterfall: adapted from hardware development by DoD 1960s/70s Phases separated by activity: 0. Planning 1. Requirements analysis 2. Design 3. Implementation 4. Test 5. Maintenance Many refinements, e.g.: o V-Model Requirements Analysis Design Implementation Test o Boehms spiral model (already predecessor to iterative methods) Maintenance PS: Maintenance often 80% of overall effort... Seite 3

Where s the problem? Problems: Errors are made in every phase, including requirements specification Specification errors are often not detected before system is running Late requirement changes are nowadays more norm than exception Processes depending on absence of errors are doomed to fail Effect: Changes to requirements cause all phases to be re-done Cost of a change is multiplied by number of phases and/or affected documents! Approaches to fix this by increased perfection lead to again more steps and then even higher costs Seite 4

Proof Research found between 40% and 70% of all SW projects failing Governmental SW projects require very formal, typically pre-descriptive SW processes (e.g. V-model in Germany) Studies report 90% of large governmental projects to fail o (There are of course other reasons as well, to be honest: E.g. large governmental projects tend to be a) complex and b) simply too ambitious.) Seite 5

Non-Trivial Systems Cannot be Fully Specified both in Detail and in Advance 3-Requirements Example: A robot may not injure a human being or, through inaction, allow a human being to come to harm. A robot must obey any orders given to it by human beings, except where such orders would conflict with the First Law. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law. (Isaac Asimov, I, Robot, 1942) Seite 6

Agile Processes In a complex environment, following a plan produces the product you intended, just not the product you need. (Jim Highsmith) Agile Manifesto: Numerous variants, e.g.: 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 Adaptive Systems Development (ASD) Crystal Scrum Dynamic Systems Development Method (DSDM) extreme Programming (XP) Feature Driven Development (FDD) Seite 7

Scrum: Overview Agile methods are meanwhile the norm in software industry Scrum is by far the most widespread agile method Advantages compared to other agile methods (e.g. RUP): o More a library than a framework with less need for company specific adaptation o Highly standardized and thus easier to apply and to onboard new team members Standard reference: http://www.scrum.org/scrumguides/ Sure enough, there is no such thing as a silver bullet! Seite 8

Some Terms Incremental: iterate development and test Iterative: iterate requirements, development and test Agile: according to agile manifesto Scrum: one out of many, but recently the most successfull, iterative software process, that can be practiced in an agile manner Seite 9

History & References 1986: Takeuchi and Nonaka describe a iterative production as a rugby approach, compared to a classical relay race approach ("The New New Product Development Game" in Harvard Business Review, Jan/Feb 86) 1990/91: Ken Schwaber and Jeff Sutherland with others used such an approach at their companies and referred to it as Scrum 1995: Sutherland and Schwaber present the Scrum Development Process (OOPSLA 95 Business Object Design and Implementation Workshop in Austin, Texas) 2001: Schwaber and Sutherland are among 17 first signees of the Agile Manifesto Seite 10

Scrum Process Three Roles Scrum Master Product Owner Team Three Artefacts Product backlog Sprint backlog Burndown chart Four Ceremonies Sprint planning Daily scrum meeting Sprint demo Sprint retrospective 2-4 weeks Seite 11

The 3 Scrum Roles Scrum Team = SM + PO + Team Scrum Master Product Owner Team Responsible for ensuring that the Scrum team adheres to Scrum values, practices, and rules Helps the Scrum Team understand and use selforganization and cross-functionality Scrum Master always Product Owner Responsible for managing, prioritizing and maintaining the product backlog One person, no comitee May integrate backlog entries from other persons Turns product backlog into increments of potentially shippable functionality every sprint Teams are selforganized without external interference Optimal size is seven people, plus or minus two Seite 12

Optimize ROI along Business Value Accumulated business value Business value of stories? Optimal time of market entry Story t Seite 13

Some Principles Pull instead of push: Tasks are not assigned to individuals, but are taken on by individuals PO is always available for clarifying requirements, but may introduce new ideas only in form of prioritized requirements for the next sprint planning The team is self-organizing without external interference Time boxing both sprints and meetings: time determines scope, not the other way round Seite 14

Technical Analogy A pre-descriptive process corresponds to a open-loop controller (German Steuerung ) An iterative process corresponds to a closed-loop controller (German Regelung ) Non-trivial processes require the feedback of a closed-loop control Seite 15

Planning Poker Origins in Scrum Accelerates Delphi-method Poker -cards avoid undesired mutual inducement (Roughly) Fibonacci numbers to model progression Many web applications available, e.g. for distributed teams Seite 16

Sprint Burndown Chart Seite 17

Advanced Questions Where does Scrum not fit? Up-front planning Fixed price contracts Early phase of a new development Trailing efforts Cards & walls or tools? Scrum role questions Scaling scrum The tea leaves effect Seite 18

Where does Scrum not fit? Support tasks and alike o Tasks arriving any asynchonously o Reaction before next sprint o Priority by urgency rather than business value o E.g. Kanban: Limits work in progress instead of sprint length Upfront specification required for contract o Scrum can then be applied in a more incremental manner for increased transparency Small scale fixed price settings o Scrum has smaller benefits, if only few changes are expected and concepts are well understood by all stakeholders Seite 19

Combine with Up-front Planning Overall Budgeting Rough estimation ( Guesstimate, Hausnummern ) as before Decide on feasibility (ROI sufficient?) as before Optimize ROI Sort requirements according to benefit / cost ratio Produce detail estimations of requirements filling release resp. budget (plus 10-30%) Adjust Per iteration (e.g. during sprint planning): Estimate newly added and changed requirements Re-Prioritize (update order of requirement) Adjust release scope, if needed Estimate and commit (Scope) of upcoming iteration (sprint) Seite 20

Fixed Price Contracts Frequent approach with Scrum: Initial Backlog for budgeting Client can re-prioritize items given effort estimate is kept o (Already a compromise!) Requires mutual trust, but not more than otherwise "Requirements-Clarification mode" paid by time & material o Raises the pressure to state clearly what is required Compare common practices in large waterfall contracts: Product and functional specification produced by time & material (typically 30% of overall budget) Call for bids after specifications (with advantage for specifier ) Reserve for change requests (20 30% recommended) Many projects stopped after concept phase Seite 21

Early Phase of a New Development Trade-offs: Optimizing total effort competes with delivering a potentially shippable product Technical foundation and architecture tasks vs. potentially shippable product You ain t gonna need it can compete with avoiding large refactorings Lacking velocity vs. information for decisions Instable backlog vs. need for scoping Seite 22

Trailing Efforts Should QA tests be done within the sprint or in the sprint after? The larger the team, the more likely the sprint after Can be similar for other tasks Potentially releasable then with pipeline of trailing tasks Within current sprint: Fixing this sprint s errors According to process During next sprint: Limited time for QA tests Implementation and developer tests must finish earlier Dev Dev Dev Dev Dev Dev Test Test Test Unit & developer tests as in definition of done always within sprint! Seite 23

Cards or Tools? In most teams: Product Backlog with tool o Spreadsheet or (preferably) task tracker o Nowadays Scrum-plugins for many trackers Sprint Backlog: o Cards on the wall for co-located teams o Tool for distributed teams Tracker, since spreadsheet does not scale Must support hierarchical decomposition Some trackers can visually simulate a task board Seite 24

Scrum Role Questions The Team consists of developers with all the skills to turn the Product Owner s requirements into a potentially releasable piece of the product by the end of the Sprint. Good practice to include roles beyond development, such as QA or UI designers, into the team o But how to deal with fractions of FTE capacity? Scrum Master or Product Owner or both may be part of the team o But they should not be the same person (Similar to separation of power / checks and balances in constitutions) Seite 25

Scaling Scrum Scrum recommends team sizes of about 7 people Larger projects require more structure Common organization is Scrum of Scrums o Formed by scrum masters of individual teams o Not necessarily daily Seite 26

The Tea-Leaves-Effect Tea leaves swim at the very top in the beginning Dwindle down inside the cup until they reach the bottom a bit later Similar with product backlog items o Real business value is re-considered This occurs in many if not most projects o How would a pre-specifying project deal with it? Seite 27

Scrum: Summary of Advantages Meanwhile the one standard among software processes Easier to introduce than many other processes Many open questions, but most issues are shared by other approaches And now: Your questions please! Seite 28