Upload
peter-allen
View
82
Download
0
Embed Size (px)
Citation preview
Copyright 2007-2016 Peter M. Allen
An Agile Primer
What is Business Agility?
The speed at which we can observe, orient, decide, and act.
Copyright 2007-2016 Peter M. Allen
Waterfall vs. Agile(Design, Build, Test)
Waterfall = Big Hand-Off Relay
Agile = Iterative, Collaborative
time
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
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?”
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.
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)
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.
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.
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
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
Copyright 2007-2016 Peter M. Allen
Agile: Iterations and Scrum
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
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
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
Copyright 2007-2016 Peter M. Allen
Iteration Basics
Iterationor
Sprint
Pro
du
ct B
ack
log
Don
e
Iteration Time Box
Sprint Backlog
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)
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
!
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.
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>
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.>
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 ?
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.
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.
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
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
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?
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?
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
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)!