Cynefin for Developers Liz Keogh lunivore http lizkeogh

  • Slides: 61
Download presentation
Cynefin for Developers Liz Keogh @lunivore http: //lizkeogh. com

Cynefin for Developers Liz Keogh @lunivore http: //lizkeogh. com

Why for the devs?

Why for the devs?

“What will you, your systems, your customers, or your staff be able to do

“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.

If a project has no risks, don’t do it.

K-uunn-e v-vin Cynefin

K-uunn-e v-vin Cynefin

The Innovation Cycle Spoilers Differentiators Commodities Build on

The Innovation Cycle Spoilers Differentiators Commodities Build on

Cynefin Complex probe, sense, respond Chaotic act, sense, respond With thanks to David Snowden

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

Cynefin r e d r o s i D

Estimating Complexity 5. Nobody has ever done it before 4. Someone outside the org

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 4 3 2 1

Estimating Complexity 5. Nobody has ever done it before 4. Someone outside the org

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 4 3 2 1

Estimating Complexity Selfng i v i r d cars Man ned Mars Miss ion

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

“Hunt the value. ” - Chris Matts

Vision Primary Stakeholder Makes money Saves money Protects money

Vision Primary Stakeholder Makes money Saves money Protects money

Goal Incidental Stakeholder Needed to go live

Goal Incidental Stakeholder Needed to go live

Themes / Feature Sets Business Analyst A themed group of features

Themes / Feature Sets Business Analyst A themed group of features

Scenario Dev, tester, analyst An example that illustrates system behaviour and how it delivers

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

Feature UI Designer User interface component which enables a capability

Story Often a developer A slice through a feature to enable faster feedback

Story Often a developer A slice through a feature to enable faster feedback

Code Developer Ideas turning into reality

Code Developer Ideas turning into reality

Code Story Feature Scenario Capability Goal Vision Breaking everything down up-front is Waterfall!

Code Story Feature Scenario Capability Goal Vision Breaking everything down up-front is Waterfall!

Breaking Things Down With thanks to Michael James

Breaking Things Down With thanks to Michael James

Fractal beauty Goal Vision Goal Capability Scenario Capability Story Feature Scenario Goal Feature Code

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…

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…

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

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,

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

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

If your stakeholders don’t trust you, that’s your biggest risk

New Risk Information Speculative Investment

New Risk Information Speculative Investment

Escape Velocity Horizon 2 Horizon 3 Horizon 1

Escape Velocity Horizon 2 Horizon 3 Horizon 1

Continuous vs. Discrete Capabilities If you can’t test it, monitor it.

Continuous vs. Discrete Capabilities If you can’t test it, monitor it.

Estimating Complexity 5 4 Spikes, prototypes

Estimating Complexity 5 4 Spikes, prototypes

Estimating Complexity 3 Expertise, BDD, Analysis… …and feedback, because Human

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!

Estimating Complexity 2 1 OSS, off-the-shelf, libraries – get it out of your build!

Before you ask why, ask who

Before you ask why, ask who

Identify your Stakeholders

Identify your Stakeholders

Gatekeepers vs. Educators

Gatekeepers vs. Educators

Value Streams

Value Streams

Draw up the capabilities Don’t forget the integration points!

Draw up the capabilities Don’t forget the integration points!

Put complexity estimates on 4 1 2 5 Pay particular attention to 4 s

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.

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

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

Double the 4 s and 5 s 20 400 200 Unless you can explain why not!

High-level, risk-first

High-level, risk-first

BDD works really well… …hereish.

BDD works really well… …hereish.

BDD uses examples to illustrate behavior

BDD uses examples to illustrate behavior

An Example of an Example Given Fred has bought a microwave And the microwave

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

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

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

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

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

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

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

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

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. ”

“We can’t accept this into our backlog without clear acceptance criteria. ”

Liz Keogh http: //lizkeogh. com @lunivore

Liz Keogh http: //lizkeogh. com @lunivore