29
Copyright 2007-2016 Peter M. Allen An Agile Primer What is Business Agility? The speed at which we can observe, orient, decide, and act .

AgileIntro

Embed Size (px)

Citation preview

Page 1: AgileIntro

Copyright 2007-2016 Peter M. Allen

An Agile Primer

What is Business Agility?

The speed at which we can observe, orient, decide, and act.

Page 2: AgileIntro

Copyright 2007-2016 Peter M. Allen

Waterfall vs. Agile(Design, Build, Test)

Waterfall = Big Hand-Off Relay

Agile = Iterative, Collaborative

time

Page 3: AgileIntro

Iterative Releases vs Big Bang(Agile vs Waterfall)

Co$t

Time

M

M’

Market

$

Market: Which approach can learn and pivot to meet shifting customer needs? Cost: Which cash flow, revenue, and risk profile would

companies prefer?Copyright 2007-2016 Peter M. Allen

Page 4: AgileIntro

Copyright 2007-2016 Peter M. Allen

Introducing Agile Concepts

Agile is a set of principles and practices. No single Agile method applies everywhere.

Agile development gets tailored to your culture, customer’s needs, and product risk profile.

Agile responds to and exploits change by focusing on the highest business value in iterations.

Iterations encourage more collaboration, completion, feedback, and transparency.

Ask not “Are we Agile?” but rather “To what degree are we Agile?”

Page 5: AgileIntro

Copyright 2007-2016 Peter M. Allen

The Agile ManifestoFebruary 2001 Principles

Working software over comprehensive documentation

Individuals and interactions over processes and tools

Responding to change over following a plan

Customer collaboration over contract negotiation

Note: These principles are preferences rather than mandates.

Page 6: AgileIntro

Copyright 2007-2016 Peter M. Allen

Some Possible Agile Practices

• Scrum – Iterations with roles & rituals• Kanban or Lean (Flow, WIP, “Waste Not”)

• XP – Extreme Programming

• TDD – Test Driven Development

• CI – Continuous Integration

• CD – Continuous Delivery• DevOps (systemic culture of Trust & Discipline)

Page 7: AgileIntro

Copyright 2007-2016 Peter M. Allen

Teams: Waterfall vs. Agile

Product

Dev

UX

QA

Release

Waterfall has silos of teams. Agile has cross functional teams.

Page 8: AgileIntro

Copyright 2007-2016 Peter M. Allen

Agile Product Management

FutureToday Near Term

Product requirements iterate – quantity and quality. They become more refined approaching the present and fuzzier into the future. The higher the business priority the clearer the ‘story’ will become.

Page 9: AgileIntro

Copyright 2007-2016 Peter M. Allen

Agile Development

Prototype UsableUseful

ReleaseConcept

When may or should work begin?When is each story complete or done?

Each iteration delivers an increasingly refined product.

Research

Page 10: AgileIntro

Copyright 2007-2016 Peter M. Allen

• Agile means no planPlanning is continuous due to feedback and new information.

• Agile has no disciplineAgile requires a lot of discipline to collaborate and stay focused.

• Agile makes no commitmentsCommitments are made just in time for iterations and releases.

• Agile has no documentationDocumentation should be a profuse artifact of agile processes with greater transparency, shared understanding, and less waste.

• Agile is the latest silver bulletIt’s mature but won’t overcome poor practices or incompetence.

Agile Myths

Page 11: AgileIntro

Copyright 2007-2016 Peter M. Allen

Agile: Iterations and Scrum

Page 12: AgileIntro

Copyright 2007-2016 Peter M. Allen

An Agile Weekend(Is this familiar?)

This Weekend(Iteration)

You

‘Bugs’

Spouse

Kids

New Info

Meals(Backlog)

Honey Do Jar

Example 1: An Agile Process/Pattern

Page 13: AgileIntro

Copyright 2007-2016 Peter M. Allen

ProductBacklog

Iteration Stories

Eng&QA

Staging &Production

Bugs

Sales

Ops

Eng

Example 2: An Agile Process/Pattern

Any NewInformation

or Stakeholder

Page 14: AgileIntro

Copyright 2007-2016 Peter M. Allen

Example 3: An Agile Process/Pattern

Monthly board meetings check on a startup’s progress and determine further funding (or not!) and pivots.

Venture Capital Tranche FundingFundingBacklog

$? $?

A Lean Startup

Page 15: AgileIntro

Copyright 2007-2016 Peter M. Allen

Iteration Basics

Iterationor

Sprint

Pro

du

ct B

ack

log

Don

e

Iteration Time Box

Sprint Backlog

Page 16: AgileIntro

Copyright 2007-2016 Peter M. Allen

Key Iteration Words• Iteration – a time boxed work cycle

• Backlog – a prioritized list of work (stories)

• Epic – a deployable parent story >1 iteration

• Story – a short description of work <= 1 iteration

• Task – a short checklist of work within a story

• Points – a relative estimation of effort (1,2,3,5,8,13)

• Story and Task States (basic): – Defined or ‘Ready’ (written and in the backlog)– In Progress (work in progress)– Complete (work is Ready to Accept)

• Accepted (this story is Done!)– Blocked (something is preventing progress)

Page 17: AgileIntro

Copyright 2007-2016 Peter M. Allen

Basic Iteration Logistics

Defined(Ready)

InProgress

Complete Accepted Blocked

Story 1

Story 2

Story 3

Story 4

Story 5

Story 6

!

Page 18: AgileIntro

Copyright 2007-2016 Peter M. Allen

Iteration Tracking

• Iterations can be run F2F or online.

• Stories can live on cards, Post-Its, or online in an Agile wiki.

• Use colors to call out a common characteristic such as: priority, effort, shared Epic, or a stakeholder.

Page 19: AgileIntro

Copyright 2007-2016 Peter M. Allen

Story Writing: TemplateDescribe ‘what’, not ‘how’.

• Part I: A Story <=1 iteration effort– So that ____________ <benefit>– As a __________ <stakeholder>– I wish to _________ <goal>

• Part II: Acceptance Criteria– Given <this setup> – When <this occurs> – Then <this should happen>

Page 20: AgileIntro

Copyright 2007-2016 Peter M. Allen

User Story – an Example• Story Title: Claim Search• Story Phrase: So that I may reference my claim, as a

member, I wish to search and locate my claims.• Screenshot: <wireframes and short explanation>

Information here can contribute to Acceptance Criteria.• Acceptance Criteria:

1. Given: As a customer, I am on the xxx pageWhen: Enter a search string that has a special characterThen: I get an error message as shown in screenshot #1

2. Given: As a customer, I am on the xxx pageWhen: Enter a normal search string and click on SearchThen: I get a list of all relevant search results

• Implementation Details (Comments):<Brief relevant technical information, data sources, dependencies or tasks that could otherwise be forgotten.>

Page 21: AgileIntro

When is a Story ‘Ready’?The INVEST principle

Independent: Not dependent upon another story

Negotiable: Stories are a reminder, not a contract

Valuable: Story must have value to the end user

Estimable: Sufficient to estimate effort

Small: Must be able to complete in 1 iteration

Testable: Clear acceptance criteria

Copyright 2007-2016 Peter M. Allen

Vital question: Given this story, can I write a test ?

Page 22: AgileIntro

Copyright 2007-2016 Peter M. Allen

Agile Effort Estimation

• Acceptance Criteria guides estimates.

• Points – team may decide the basis– Reference size story of 3 points– Fibonacci series (1,2,3,5,8,13 …)– Or estimated hours /x (training wheels)

• Iteration Planning– Team converges on a best total estimate.– Tasking out helps refine understanding.

Page 23: AgileIntro

Copyright 2007-2016 Peter M. Allen

Determining ‘Done’

• Iterations refine ‘Done’ at each stage.Proof of Concept, MVP, Useful, Usable, etc. Demo the work!

• Story writer defines Acceptance Criteria.What is sufficient to make appropriate progress today?

• Difference: Completed vs. AcceptedWork completed needs stakeholder acceptance.

• Done means Accepted in this iteration. New information may reveal enhancements for later.

• Does the code have a passing test?Automation provides feedback, assurance, and captures story intent and behavior in a scalable test that lives in version control.

Page 24: AgileIntro

Copyright 2007-2016 Peter M. Allen

Iterations and Scrum

Iterationor

Sprint

Daily Scrums

Review/Demo

Planning

Pro

duct

Ba

cklo

g

Do

ne

Retrospective

Scrum adds specific rituals and roles to iteration practices.

Grooming Sprint Backlog

Page 25: AgileIntro

Copyright 2007-2016 Peter M. Allen

Scrum Team Roles• Product Owner – a Business leader

– Gathers proper stories from all stakeholders– Prioritizes stories in the backlog and for each iteration– Negotiates Minimum Viable Product (MVP) for releases– Clarifies ‘done’ as needed and Accepts demo’d stories

• Scrum Master - a “Servant Leader”– Facilitates the four Scrum rituals (Planning, Scrum, Demo, Retro)

– Enables the team: Removes blocks, shields from distraction, facilitates communications, and gardens backlogs

• Team – 3 to 9 full time cross functional members– Negotiate backlog and iteration story points– Collaborate to complete stories– Self organized (all ‘us’ - no ‘them’, optimized, easy enter/exit)– QA members can Accept work as ‘done’ if so delegated by PO

Page 26: AgileIntro

Copyright 2007-2016 Peter M. Allen

Scrum – Key Ritual Questions

Planning:• What can deliver the highest business value?• Are we sizing iterations to team capacity?• Agree on “Done” for each story.

Daily Scrums:• What did I accomplish?• What do I intend to do?• Where am I blocked?

Retrospective:• What is working well?• How can we improve?

Page 27: AgileIntro

Copyright 2007-2016 Peter M. Allen

Metrics – a Dashboard Example

• Feedback is imperative!

• What measurements are useful?

• How often should they be updated?

• Should there be hi/low warnings?

• What data gets kept for records or analysis?

Page 28: AgileIntro

Copyright 2007-2016 Peter M. Allen

Agile – ‘New’ Metrics

• Points & Team Velocity: Value Delivered• Backlog dynamics

Size, health, story cycle time

• Iteration Progress (‘Burn Down’)

• Iteration Unplanned work• Test Coverage & Bug dynamics• Subjective Feedback (Retrospective)

• Ritual Checks: Planning, Scrums, Demo, Retro, Training, Sprint duration, Team stability

Observe

Orient

Adjust

Do

Page 29: AgileIntro

Copyright 2007-2016 Peter M. Allen

Learning Agile

Book knowledge can help.

With practice you will go faster.

Training and coaching helps too. Expect to make mistakes (learn)!