Cynefin for Developers Liz Keogh lunivore http lizkeogh





























































- Slides: 61
Cynefin for Developers Liz Keogh @lunivore http: //lizkeogh. com
Why for the devs?
“What will you, your systems, your customers, or your staff be able to do that they can’t do right now? ”
If a project has no risks, don’t do it.
K-uunn-e v-vin Cynefin
The Innovation Cycle Spoilers Differentiators Commodities Build on
Cynefin Complex probe, sense, respond Chaotic act, sense, respond With thanks to David Snowden and Cognitive Edge Complicated sense, analyze, respond Obvious sense, categorize, respond
Cynefin r e d r o s i D
Estimating Complexity 5. Nobody has ever done it before 4. Someone outside the org has done it before (probably a competitor) 3. Someone in the company has done it before 2. Someone in the team has done it before 1. We all know how to do it.
Estimating Complexity 5 4 3 2 1
Estimating Complexity 5. Nobody has ever done it before 4. Someone outside the org has done it before (probably a competitor) 3. Someone in the company has done it before 2. Someone in the team has done it before 1. We all know how to do it.
Estimating Complexity 5 4 3 2 1
Estimating Complexity Selfng i v i r d cars Man ned Mars Miss ion That t lates c musi app OMG OMG! Mending Watches SAP GPS User ion t a r t s i g e R Dates (unless you’re in the Energy business)
“Hunt the value. ” - Chris Matts
Vision Primary Stakeholder Makes money Saves money Protects money
Goal Incidental Stakeholder Needed to go live
Themes / Feature Sets Business Analyst A themed group of features
Scenario Dev, tester, analyst An example that illustrates system behaviour and how it delivers value
Feature UI Designer User interface component which enables a capability
Story Often a developer A slice through a feature to enable faster feedback
Code Developer Ideas turning into reality
Code Story Feature Scenario Capability Goal Vision Breaking everything down up-front is Waterfall!
Breaking Things Down With thanks to Michael James
Fractal beauty Goal Vision Goal Capability Scenario Capability Story Feature Scenario Goal Feature Code
Whoops, A Real Project forgot Don’t need Can’t remember what this was for… this… Goal Vision Goal Capability Scenario Capability Feature Story Feature Scenario Story Code Goal Oops, didn’t know about that… Look what I found!
Whoops, A Real Project forgot Don’t need Can’t remember what this was for… this… Um Goal Vision Oh! Capability Feature Scenario Hmm! Scenario Goal That’s funny!Capability Er… Story Feature Scenario Goal Interesting! Sh. . ! Feature Ooh, look! Oops, didn’t know about that… Story Oh F… Code Dammit! Look what I found!
We are uncovering better ways of developing software by doing it Goal Vision Goal Capability Scenario Capability Story Feature Scenario Goal Feature Code
We’re discovering how to discover stuff by doing it Don’t need this… Um… Whoops, forgot Oh! Hmm! Er… Can’t remember what this was for… Ooh, look! That’s funny! Sh. . ! Oops! Oh F… Interesting! Oops, didn’t know about that… Dammit! Look what I found!
Risk (Newest Stuff) First Goal Vision Goal Capability Scenario Feature Scenario Capability Story Feature Story Scenario Story Feature Scenario Goal Feature Code
If your stakeholders don’t trust you, that’s your biggest risk
New Risk Information Speculative Investment
Escape Velocity Horizon 2 Horizon 3 Horizon 1
Continuous vs. Discrete Capabilities If you can’t test it, monitor it.
Estimating Complexity 5 4 Spikes, prototypes
Estimating Complexity 3 Expertise, BDD, Analysis… …and feedback, because Human
Estimating Complexity 2 1 OSS, off-the-shelf, libraries – get it out of your build!
Before you ask why, ask who
Identify your Stakeholders
Gatekeepers vs. Educators
Value Streams
Draw up the capabilities Don’t forget the integration points!
Put complexity estimates on 4 1 2 5 Pay particular attention to 4 s and 5 s
See if you can narrow the MVP 1 5 Only one 4 or 5. Companies with high transaction costs for going live might not be able to do this.
Estimate, if it’s useful 20 400 Keeps the PMO happy 200
Double the 4 s and 5 s 20 400 200 Unless you can explain why not!
High-level, risk-first
BDD works really well… …hereish.
BDD uses examples to illustrate behavior
An Example of an Example Given Fred has bought a microwave And the microwave cost £ 100 When we refund the microwave Then Fred should be refunded £ 100.
Examples Given a context When an event happens Then an outcome should occur
Cucumber Feature: Addition In order to avoid silly mistakes As a math idiot I want to be told the sum of two numbers Scenario: Add two numbers Given I have entered 50 into the calculator And I have entered 70 into the calculator Then the result should be 120 on the screen This is what most people associate with BDD
Boring! Given Fred has bought a microwave And the microwave cost £ 100 When we refund the microwave Then Fred should be refunded £ 100.
Really boring! Scenario: user logs in and sees welcome page Given a user registered with login: foo and password: test When user logs in with login: foo and password: test Then user should see the welcome page
Especially really boring! Feature: Addition In order to avoid silly mistakes As a math idiot I want to be told the sum of two numbers Scenario: Add two numbers Given I have entered 50 into the calculator And I have entered 70 into the calculator When I press add Then the result should be 120 on the screen
Name ‘em and be done with it User Registration: - Create user - Read / Update user details - Delete user
Interesting! Given Fred has bought a 120 kg fridge-freezer When we refund the fridge-freezer Then um…
Having conversations is more important than capturing conversations is more important than automating conversations
“We can’t accept this into our backlog without clear acceptance criteria. ”
Liz Keogh http: //lizkeogh. com @lunivore





























































