28
We are uncovering better ways of developing software by doing it and helping others do it.

We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Embed Size (px)

Citation preview

Page 1: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

We are uncovering better ways of

developing software by doing it and

helping others do it.

Page 2: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Fast Food vs.

Homemade AgileUncovering Better Ways of Delivering Software

Jeffrey Davidson / @JeffreyGoodReq#dsmAgile / Sept 9, 2016

Page 3: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

We are uncovering better ways of

developing software by doing it and

helping others do it.

Page 4: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile
Page 5: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

reimagining Agile

Proposing An UpdatedSet of Processes and Practices to

Achieve High-Performance Delivery

Page 6: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

reimagining Agile

Proposing A Updated PersonalizedSet of Processes and Practices to

Achieve High-Performance Delivery

Page 7: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile
Page 8: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Potentially Shippable Product

Increment

Time-boxed SprintBacklog

Items

24 hours

Daily Standup

Prioritized Product Backlog

Page 9: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

We uncovered the only better way of

developing software. Do it our way.

You’re welcome.

Page 10: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Wow!

This guy makesa lot of sense.

Page 11: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Hmm.I wonder whatJeffrey’s Agile

would look like?

Page 12: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

PerformanceHigh

Performance

Technical Stack

Business Domain Teamwork

Bel

iefs

: 3 K

eys

to H

igh-

Perf

orm

ance

Page 13: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Automated testing

Automated build process

Search for improvement

Daily clean code

Start How You Mean To Go: 4 Practices

These practices will slow us to start,

And accelerate us forever more

Page 14: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Understanding is Everything: 3 Levels

Impact

User Stories

Daily Slices

• Results in terms of measurable change

• Not a scope item list

• Customer viable• Have Acceptance

Criteria

• Testable / Provable• May not be customer

viable

At the end of every day I finished something that makes a tangible difference.

broken into

completed via

Page 15: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Time

Work Organization

User Stories are organized into a Story Map,which serves as

ª Guide to Investment Experimentsª Planning Runwayª Roadmap

Activity 1

Role Task 1 Role Task 2 Role Task 3 Role Task 4 Role Task 5

Task Detail(User Story)

Task Detail(User Story)

Task Detail(User Story)

Task Detail(User Story)

Task Detail(User Story)

Task Detail(User Story)

Task Detail(User Story)

Page 16: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Ceremonies: Only When Requiredfor

Understandingfor

Validationfor Finding

Improvement

Impact X XStory Map X XUser Story X X XDaily Slice X X

Release XImpact 10% Party

Recommended: Every time the team delivers measurable impact to the customer or business process there shall be a “Gathering of Joy.”

Page 17: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Feedback Loops• When the Impact is reached

• When a User Story is done

• When we think we can improve

Page 18: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Slices• Planning your daily slice requires

everyone involved in that slice and may not require the whole team.

• If it takes too long to plan your daily slice, do it differently. For example:– Try slicing differently– Try planning your daily slices simultaneously– Try less planning, more building– Try _______

Page 19: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

What, Not Who: team stuff• Skills, not roles– I expect to have the right technical expertise to

understand business needs, develop in our technical stack, and validate our deliverables

• Cross-functional is better than silos and sole-functional– It’s a journey. You can grow into it over time.

• No defined team size

Page 20: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

How Big Is It: determining project size

– After the team has agreed to the story map, they may estimate user stories in terms of daily slices

– Daily slices may be added up within the story map to determine estimated project size, release dates, or other metrics

– Anyone may request a re-estimation from the entire team

What about Estimation?

Page 21: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

How Big is TOO Big?We don’t know (!!), but maybe when: • Daily slices take more than 5 people• User stories take more than 20 – 30

daily slices• User stories take more than 3 weeks• Releases take more than 3 months

Page 22: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Potentially Shippable Product

Increment

Time-boxed SprintBacklog

Tasks

24 hours

Daily Standup

PrioritizedProduct Backlog

Page 23: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

ShuHaRi

Perspective Mapping

Developed by Christopher Webb

Small releases

Sprint Planning

(1&2)

Product Backlog

Sprint Backlog

Poker Planning

User Story

Daily Meeting

Relative Estimation

Definition of Ready

3 qns

Burndown Chart

Refinement Meeting

Definition of Done

Sprint Review

(Showcase)

Retrospective

Task Board

Limit WIP

Flow Control

Kanban board

Visual waste & waiting

Make Policies Explicit

3 bin system

Implement feedback

loops

Frequent releases

Evolve experimentally

Muda, Muri, Mura

Story Splitting

3C’s

INVEST

Story Mapping

Personas Queuing Theory

Manage & Measure

Flow

Theory of Constraints

Fast Feedback

Velocity

Lead time

Optimal Batch Sizes

UML Diagram

Risk Log

Minimum Viable

Product (MVP)

Minimum Viable Change

Feature

Onsite Customer

5 Whys 8 Wastes5 S’s

Spikes

Design Brief

Stakeholder Mapping

Focal Question

Relational MappingTop 5 (ideas)

Business Model Canvas

Brainstorming

Rules of Simplicity

Design Principles

Low Fiedelity

Prototypes

Doblin’s 10 types of

innovation

Define Success

User Testing

Walking Skeleton

6 Levels of Planning

Delphi estimation

Product Vision

(elevator pitch)

Trade off Sliders

Cause effect diagrams

Contract Game

Project approach questionnaire

Storyboards

Facilitated workshops

Scrum of

Scrums

Story telling

Guided Tour

SPICE

2x2 Matrix

Feasibility Assessment

Divergent / Convergent

Thinking

Five E’s

Why-How Laddering

Programming Rotation

Refactoring Map

Revert

Independent Goal Naively

Mikado Dependency Map

5 Focusing

Steps

TOC thinking process

Information Radiators

Improvement KATA

Dreyfus Model

Team eNPS Actionable

Metrics

Monte Carlo

Poisson Cumulative Distribution

Test Driven Development

Integrated Testing

Test Automation

Inspections

7 qns of context driven testing

Continuous Integration

Automated Test Code Coverage

Plant Types

Context Driven Testing

Reflection Workshops

Domain Object Modelling

Niko-Niko Calendar

Exploratory 360 degree

reviews

JIT Ad-Hoc

retrospective Agile Release Trains (ART)

Parking Lot

Decision Tree

Object Relational Mapping

Baselined Requirements

Delivery Plan

JIT Model Storming

Continuous Production Testing

Automated visual dashboard

Continuous Deployment

Standardised Promotion

Path

Source Code Mgmt

Config Mgmt

Virtualisation

Feature Toggling

Artefact Mgmt

Version Control

Dynamic Environments

Componentised Architecture

Automated Build

Casual Loop Diagrams

Auto-scale & Heal

Buffer Mgmt

Incremental Architecture

Incremental Re-architecture

Usability Testing

Acceptance Testing

Sustainable Pace

Release Planning

Story Hierarchy

Metaphor

iterations Feedback Loops

Test

Feature naming template

Idea collaboration

session

Ecosystem Map

Empathy Maps

Affinity Clustering

Context Mapping

Journey Maps

PDCA (Deming cycle)

Kaizen blitz

Kaizen burst

Refactoring

Document Prerequisites

Change Canvas

Scale method by

colour

Osmotic Communication

Reflective Improvement

Focus Period (2hr)

SOLID principles

4+1 View architecture

Emerging Design (code

craftsmanship)

A3

Update when if hurts

Team Safe

space

Safety (user

solution)

Business Vision

Development approach definition

Time box

Shift Left

MoSCoW

Hypothesis Statement

Value stream mapping

Lean Coffee

12 Cardinal Sins

Exploratory Days

ADKAR Survey

4 MindsetsMarshall Model

Mock Objects

Marick’s Test

Categories

Acceptance Criteria

Understanding complexity (Framework

precedes data)

Sense making (Data precedes

framework)

User Case

CDEL method selection

Barmaiindex

estimates

Improvement Service

Communities of Practice

System NFR Overview

page

Feature Teams

Potentially Shippable Product

Overall Retrospective

Requirement Area

Feature Set (combined, vertical, horizontal)

Product Owner

Top down+ Bottom

Up

Feature team

adoption map

Area Product Owner

Multi-team design

workshop

Vision Page

Team PBR

3 levels coaching (org, team, tech)

Organise by

customer value

Project Charter

5 Dysfunctions of team

Strategic Theme

ART Budget

Release on Demand

SAFe Patterns

Program Planning

3 Levels Portfolio, Program, Team

WSJF Agile portfolio

Architectural runway

Portfolio Backlog

Business EPIC

Innovation & Planning

Sprint

Cycle time

Program Increment

5C’s of Agile Mgmt

Architectural EPIC

Release Train Engineer

Voice of Customer

Cumulative Flow

Diagram

Hackathon

4 versions of lifecycle

Fixed Delivery

Date

Software Development

Context Framework

(SDCF)

Hybrid waterfall practices

Product MgmtTeam

Architecture Team

Geographically distributed

development (GDD)

Risk Value Driven cycle

Coordinate Activities

Focus

Goal Diagram

Parallel Independent

Testing

Tiger Team

Card sort

6 Sigma

Meddlers (change

card game)

Delegation Poker

Kudos Cards

10 Intrinsic desires

Moving Motivators

Turn up the good

7 Tests of a new model

Schneider Culture Model

Theory X vs. Theory Y

Collaboration, Cultivation, and

Competence

Simple Design

Business Case

Solution Architecture

Delivery Control Pack

CRC Cards

Branching Strategy

Leadership

FDD

Scaling

Initiate Discover Deliver Release

Disciplined Agile Delivery (DAD)Scaled Agile Framework (SAFe)

Large Enterprise Scaled Scrum (LeSS)

Design Thinking

Cynefin

Lean

eXtreme Programming (XP)

Human Centered Design

Product Development (FLOW)

Deming Theory of Constraints

Dynamic System Development Method (DSDM)

RUP

Crystal

Mikado Method

Kaizen

Kanban

Rightshifting Management 3.0

Beyond Budgeting

DevOps

Test Driven Dev

Scrum

Prince2 / Waterfall

Agile Modelling

2016 Deloitte Consulting Pty Ltd.

The Agile Landscape v3

Page 24: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

High Performance

Technical Stack

TeamworkBusiness Domain

Impact

User Stories

Daily Slices

Automated testing

Automated build process

Search for improvement

Daily clean code

Always Feedback

Page 25: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

How About You?What ideas do you have?

• What are your core beliefs about delivery / excellence?• What are your must-have practices?• How do you ensure understanding? • How would you deliver value?

Page 26: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

Beliefs about Delivery / Excellence

Practices

Understanding & Organization

Feedback & Improvement

Page 27: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile
Page 28: We are uncovering better ways of developing software by ...dsmagile.agileiowa.org/assets/presentations/2016/09/FastFoodAgile... · developing software by doing it and ... Scaled Agile

We are uncovering better ways of

developing software by doing it and

helping others do it.