Lean Agile Scrum Business Value Development and Delivery using Agility. Brenden McGlinchey Software Done Right, Inc. brenden@softwaredoneright.



Similar documents
Appendix A: Deming s 14 Points for Management

Applying Lean on Agile Scrum Development Methodology

1 Introduction to ISO 9001:2000

Total Quality Management TQM Dr.-Ing. George Power. The Evolution of Quality Management

Agile Scrum Workshop

Introduction to Agile and Scrum

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

Issues in Internet Design and Development

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

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

Introduction to Agile

Scrum. SE Presentation. Anurag Dodeja Spring 2010

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

There is a Relationship Between Systems Thinking and W. Edwards Deming s Theory of Profound Knowledge.

Deming s 14 Points for the Transformation of Management

ScrumMaster Certification Workshop: Preparatory Reading

The Agile Manifesto is based on 12 principles:

Introduction to Agile Scrum

Lean Software Development

D25-2. Agile and Scrum Introduction

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

Capstone Agile Model (CAM)

QUALITY GURUS (part 1) Manuel Rincón, M.Sc. September 24th, 2004

LEAN AGILE POCKET GUIDE

Deming s 14 Points for TQM

AGILE & SCRUM. Revised 9/29/2015

"Bezpieczny Projekt"

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

Agile Software Development

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

What is meant by the term, Lean Software Development? November 2014

Introduction to Agile Software Development Process. Software Development Life Cycles

Agile Projects 7. Agile Project Management 21

SECC Agile Foundation Certificate Examination Handbook

Kanban vs Scrum Making the most of both

How Product Management Must Change To Enable the Agile Enterprise

Agile Software Development. Stefan Balbo / Patrick Dolemieux

Quality Assurance in an Agile Environment

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

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

Agile Project Management

Agile and lean methods for managing application development process

Getting Agile with Scrum

Agile and lean methods for managing application development process

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Agile Project Management

No one has to change. Survival is optional. - W. Edwards Deming - Continue your Beyond Budgeting Journey with help from Agile, Lean and Scrum

Chapter 6. Iteration 0: Preparing for the First Iteration

Certified Scrum Master Workshop

Agile Beyond The Team 1

The Basics of Scrum An introduction to the framework

Course Title: Managing the Agile Product Development Life Cycle

Course Title: Planning and Managing Agile Projects

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Agile Project Management with Scrum

Mastering the Iteration: An Agile White Paper

Agile Project Management By Mark C. Layton

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

Lean and Agile Development With Scrum (Part 2) Lucio Davide Spano

CSSE 372 Software Project Management: More Agile Project Management

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile:

How To Plan An Agile Project

A Glossary of Scrum / Agile Terms

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

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

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

Getting Agile with Scrum. Mike Cohn - background

When agile is not enough

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

Agile Information Management Development

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

Governments information technology

How to manage agile development? Rose Pruyne Jack Reed

Scrum and CMMI Level 5: The Magic Potion for Code Warriors

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

Agile Requirements Definition and Management (RDM) How Agile requirements help drive better results

Agile Extension to the BABOK Guide

As the use of agile approaches

TOPIC 8 QUALITY OBJECTIVE. Quality

Deming s 14 Points for Management

Software development. Outline. Outline. Version control. Version control. Several users work on a same project. Collaborative software development

MTAT Software Engineering

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

The Total Quality Approach to Quality Management: Achieving Organizational Excellence

Certified ScrumMaster Workshop

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

Glossary SAFe 4.0 for Lean Software and Systems Engineering

Program & Portfolio! Management using! Kanban! Copyright 2013 Davisbase Consulting. Limited Display License Provided to ASPE

Agile Testing. What Students Learn

Agile Development Overview

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

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

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

Agile & Scrum: What are these methodologies and how will they impact QA/testing roles? Marina Gil Santamaria Summer 2007

Mike Cohn - background

Scrum vs. Kanban vs. Scrumban

How NOT to Do Scrum. Patterns and Anti-patterns. Revised July First presented at New York City Scrum User Group June 17, 2010

Transcription:

Lean Agile Scrum Business Value Development and Delivery using Agility Brenden McGlinchey Software Done Right, Inc. brenden@softwaredoneright.net

High yield software engineering team Active Customer Involvement Emergent Design Built-in Quality Iterative Release We use Lean/Agile/Scrum as our ideology and process to maximize ROI and minimize errors and waste. www.softwaredoneright.net

Projects can be challenging Anything that can be changed will be changed until there is no time left to change anything. The nice thing about not planning is that failure comes as a complete surprise rather than being preceded by a period of worry and depression. A user will tell you anything you ask, but nothing more. The bitterness of poor quality lasts long after the sweetness of making a date is forgotten. Fast - cheap - good - you can have any two.

Promise of Agility The Basic Promise is that Agility allows you to develop software successfully in the face of: Unknown/Moving Requirements Goal: to produce a product that is useful at the time of delivery Delays analysis and design until needed Reduces waste Constrained Resources Goal: to produce the best product you can with what you ve got Constant reprioritization Scrum adds the Promise that: The team will adapt its processes to improve their abilities to deliver quality

Wasted Effort The Standish Group [1] (famous for their Chaos Report) surveyed 1000 companies Features Actually Used: 7% Always 13% Often 16% Sometimes 19% Rarely 45% Never Conclusion: 64% wasted effort?

Waterfall is a Powerful Attractor Waterfall Requirements, Analysis, Design, Code, Test, Deploy For Management It is a defined process thus feels right It gives the illusion of control Of people Of money Allows for hands off management For Developers They re just following a recipe They re just left alone for long periods

Process-focused Development Legacy IT is organized by process area Systems Analysts Enterprise Data Specialists UI Designer Specialists UI Developers Mid-tier Developers Database Developers Systems Testers Encourages process decomposition and suboptimization (vs. optimizing the whole) Builds silos of experts with misaligned goals Discourages collaboration Creates Hand-offs & Waterfall phase gates (backed up queues) Creates the blame game [2] Quality may improve slightly, but at the cost of speed is there a better way?

Waterfall Observations Long delivery cycles encourages piling on of poorly prioritized requirements Requirements are not fully understood even after inspection & sign-off Requirements change often during software development Users know what they want only after they see an initial version of the software New tools and technologies make implementation strategies unpredictable Technology changes occur faster than traditional software development projects can complete (12-18 months), so software is obsolete before projects complete

Requirements Categorization of complexity in development projects Technology

Software Done Right Agile Methods Summarized Agile Manifesto for Values [3] Individuals & interactions > over processes & tools Working software > comprehensive documentation Customer collaboration > contract negotiation Responding to change > following a plan Lean Principles for Vision Add value to customer Empower the team Eliminate waste Build integrity in Amplify learning Optimize the whole Decide as late as possible Deliver Fast Scrum for Process Framework 3 Meetings 3 Artifacts (Documents) 3 Roles XP for Quality and Discipline Paired programming Test driven development

Origins of Lean Thinking: Deming Deming s 14 points for management [4] 1. Create constancy of purpose toward improvement of product and service, with the aim to become competitive and to stay in business, and to provide jobs. 2. Adopt the new philosophy. We are in a new economic age. Western management must awaken to the challenge, must learn their responsibilities, and take on leadership for change. 3. Cease dependence on inspection to achieve quality. Eliminate the need for inspection on a mass basis by building quality into the product in the first place. 4. End the practice of awarding business on the basis of price tag. Instead, minimize total cost. Move toward a single supplier for any one item, on a long-term relationship of loyalty and trust. 5. Improve constantly and forever the system of production and service, to improve quality and productivity, and thus constantly decrease costs. 6. Institute training on the job. 7. Institute leadership (see Point 12 and Ch. 8). The aim of supervision should be to help people and machines and gadgets to do a better job. Supervision of management is in need of overhaul, as well as supervision of production workers. 8. Drive out fear, so that everyone may work effectively for the company (see Ch. 3). 9. Break down barriers between departments. People in research, design, sales, and production must work as a team, to foresee problems of production and in use that may be encountered with the product or service. 10. Eliminate slogans, exhortations, and targets for the work force asking for zero defects and new levels of productivity. Such exhortations only create adversarial relationships, as the bulk of the causes of low quality and low productivity belong to the system and thus lie beyond the power of the work force. Eliminate work standards (quotas) on the factory floor. Substitute leadership. Eliminate management by objective. Eliminate management by numbers, numerical goals. Substitute leadership. 11. Remove barriers that rob the hourly worker of his right to pride of workmanship. The responsibility of supervisors must be changed from sheer numbers to quality. 12. Remove barriers that rob people in management and in engineering of their right to pride of workmanship. This means, inter alia, abolishment of the annual or merit rating and of management by objective (see Ch. 3). 13. Institute a vigorous program of education and self-improvement. 14. Put everybody in the company to work to accomplish the transformation. The transformation is everybody's job.

Software Development Waste Taiichi Ohno, the mastermind of Toyota Production System, identified seven types of manufacturing waste [5] Overproduction = Extra Features Code for today Inventory = Requirements Requirement detail unfolded just-in-time Extra Processing Steps = Extra Steps Code directly from stories, get verbal clarification directly from customers Motion = Finding Information Collocation, including customers Defects = Defects Not Caught by Tests Test first; both developer tests and customer tests Waiting = Waiting, Including Customers Deliver in small increments Transportation = Handoffs Highest bandwidth form of communication is 2 people at a whiteboard, not backlogs of documentation (from Poppendieck & Poppendieck [6] )

Short Cycle-Time 10-day increments (Sprints) of completed software Ensures Focus on highest priority work Don t build what you don t need What do you want to see in 10 days? Builds in change-tolerance What do you want to see in future sprints? Leverages feedback Team reflects every 10 days What are we doing well? What can we do better? Feedback now vs. post-mortem

Built-in Quality Test-Driven Development Create automated testing then create code that makes tests pass Make code coverage visible Run suite of tests with every build Frequent (hourly builds) Paired-programming (Real-time code review) Creates an environment that allows architectures and designs to emerge Agile Principle The best designs and architectures emerge from self-organized teams

Agile Methods: Scrum Lightweight Framework that Produces Heavyweight Results 3 Roles Product Owner ScrumMaster Development Team 3 Meetings Sprint Planning (4 hours) Daily Scrum (15 minutes) Sprint Demo & Retrospective (4 hours) 3 Artifacts Product Backlog Sprint Backlog Sprint Burn-down

Complex Adaptive System Feedback Input Plan Do Something Compare Output *Agile Management for Software Engineering, David J. Anderson [7]

Business Value Engine Daily Standup Reports Work in Progress Metrics Impediments Sprint Planning Stories Sprint Sprint/ 2 weeks Iteration Meaningful Increment of Product Release 3-4 Sprints Epics Sprint Product Demo Team Retrospective

Key Meetings Sprint Planning The Product Owner and team agree on the subset of the Product Backlog to work on this sprint. Result is the Sprint Backlog Sprint Review The Team shows their Product to their Product Owner and other Stakeholders. The purpose is to show off and get buyoff and feedback Daily Standup (Daily Scrum) The team understands its status every day in order to do a daily inspect and adapt cycle Sprint Retrospective The team (or Scrum Team) analyzes their own process and modifies it as necessary

Key Roles and Responsibilities The Scrum Team consists of: Product Owner ScrumMaster Team

Key Roles and Responsibilities Product Owner Product Owner Defines the features of the product, decides on release date and content Is responsible for the profitability of the product (ROI) Constantly Prioritizes the Product Backlog Can change features and priority every sprint Accepts or rejects work results

Key Roles and Responsibilities: ScrumMaster ScrumMaster Helps resolve impediments Ensures that the team is fully functional and productive Enables close cooperation across all roles and functions and removes barriers Shields the team from external interferences Ensures that the process is followed. Invites to daily scrum, iteration review and planning meetings

Key Roles and Responsibilities: Team Team Cross-functional, 7 ± 2 members Negotiates the iteration goal and specifies tasks Has the right to do everything within the boundaries of the project guidelines to reach the sprint goal Organizes itself and its work Demos work results to the Product Owner

Product Backlog Prioritized collection of functionality, technology, issues Can be a list ordered by priority (only one thing in the top slot) Issues are placeholders that are later defined as work Emergent and prioritized More detail on higher priority backlog Product Owner responsible for priority Anyone can contribute Posted Visibly Derived from Requests

Product Manager Board

Epics, Stories, Tasks Epics (High-level Capability Statements) Contain 1 or more stories Business Value/Business Speak Stories: Fundamental increment of Business Value Business Value/Business Speak Validation-centric: MUST define DONE! Tasks: Small chunks of work that must be completed to validate story Team creates and estimates during planning session

Roadmap to Business Value (Epics) Epics: High-level capability statements (White Cards) Prioritized by Business Value (which can change!) Tightly Coupled w/ Vision Unfold into 1 or more stories Epic: Jim Advisor can create a new financial scenario for Joe Customer that will allow for clarity in investment decisions

Roadmap to Business Value (Roles) Roles: Defined to ensure Line-of-sight with System Users (Green Cards) Helps keep focus on: Real business value flows Real users of the system Help reduce waste! Don t build what you don t need Role: Jim Advisor 20 years experience Uses a wants/needs/expects approach Uses self-defined allocation models

Roadmap to Business Value (Stories) Stories: Unit of work = Story, similar to: 1 or more Use Case Steps 1 or more features Story: Jim wants to track graphically the rate at which money managers are changing over time so that an advisor can make appropriate decisions. Done: Jim can see a representation of money manager changes over time Stories are written in business language As a <some role>, I want <some feature>, so that <some business value or functionality> Card, Conversation, Confirmation

Analysis: Product Feature Story Analysis is primarily about Decomposition Our Product decomposes into Features Features are implemented by doing stories But not all stories are feature-driven Our Project s work can be seen as a collection of Stories But we re only going to focus on the feature-driven ones Incremental Analysis is (basically): Find the Features, then Find the Stories Then we use the stories to drive development Product Features Story

Agile Requirements Frontburner - Work committed to in current iteration (Sprint)

Real-time View of Business Value Delivery Stories Tasks

Agile-V Provides Real-time View of Sprint

Critical to Success Short Cycle-time Collocated, collaborative team w/clear line-ofsight to business value Focus on validation of completed product, not process Built-in Quality

References 1. Jim Johnson, Standish Group (http://ciclamino.dibe.unige.it/xp2002/talksinfo/johnson.pdf) 2. See Ron Pereira, Stop the Finger Pointing (http://lssacademy.com/2007/02/07/stop-fingerpointing/ ) 3. See (http://agilemanifesto.org) 4. W. Edwards Deming, Out of the Crisis, (1986), MIT Press. 5. Taiichi Ohno, The Toyota Production System: Beyond Large-Scale Production, (1988), Productivity Press. 6. M. Poppendieck & T. Poppendieck, Lean Software Development: An Agile Toolkit, (2003), Addison-Wesley 7. David J. Anderson, Agile Management for Software Engineering, (2004), Prentice Hall

Contact Information Brenden McGlinchey brenden@softwaredoneright.net