zeus’ guide to software delivery

173
Zeus’ Guide To Software Delivery Mark Shead

Upload: others

Post on 18-Apr-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Zeus’ Guide To Software Delivery

Zeus’ Guide To Software Delivery

Mark Shead

Page 2: Zeus’ Guide To Software Delivery

http://book.markshead.com

https://youtube.com/markshead

@MarkWShead

Page 3: Zeus’ Guide To Software Delivery
Page 4: Zeus’ Guide To Software Delivery

Banned Under Roman Emperors

Page 5: Zeus’ Guide To Software Delivery

Trajan

Page 6: Zeus’ Guide To Software Delivery

Trajan

Mimes

By Ronald - Inge Worringen, Cologne, CC BY-SA 1.0, https://commons.wikimedia.org/w/index.php?curid=1479357

Page 7: Zeus’ Guide To Software Delivery

Mimes Weren’t Silent

Page 8: Zeus’ Guide To Software Delivery

Caligula

The word “goat”

Page 9: Zeus’ Guide To Software Delivery

Julian the Apostate

Christian’s use of Homer

https://upload.wikimedia.org/wikipedia/commons/3/3d/IVLIANVS.png

Page 10: Zeus’ Guide To Software Delivery

Christianity Paganism

Rome was vacillating between Christianity and Paganism

Page 11: Zeus’ Guide To Software Delivery

Odyssey Iliad

Julian wanted to help promote Paganism by saying Christian teachers couldn’t use homer.

Page 12: Zeus’ Guide To Software Delivery

So what?

Page 13: Zeus’ Guide To Software Delivery

If a school decided to stop using Homer…

Page 14: Zeus’ Guide To Software Delivery

If a tree falls in the woods and there is no one to hear it, does it make a sound?

Page 15: Zeus’ Guide To Software Delivery

No. No one cares.

If a tree in the woods falls on a mime…does anyone care?

Could it fall on a goat instead?

Page 16: Zeus’ Guide To Software Delivery

What was so important about Homer?

Page 17: Zeus’ Guide To Software Delivery

Stories = Communication

Page 18: Zeus’ Guide To Software Delivery

Like Design Patterns

Page 19: Zeus’ Guide To Software Delivery

Public Dialog

Page 20: Zeus’ Guide To Software Delivery

Mythology used to Reason in the Public Square

Page 21: Zeus’ Guide To Software Delivery

Mythology used to Reason about Software Development

Page 22: Zeus’ Guide To Software Delivery

Odysseus

Page 23: Zeus’ Guide To Software Delivery

Early Days

Page 24: Zeus’ Guide To Software Delivery

Suitor of Helen

Helps Tyndareus in exchange for help winning Penelope

Page 25: Zeus’ Guide To Software Delivery

The Oath

Page 26: Zeus’ Guide To Software Delivery

Menelaus marries Helen.

Page 27: Zeus’ Guide To Software Delivery

Menelaus and Helen made king and queen of Sparta.

Page 28: Zeus’ Guide To Software Delivery

Odyssey marries Penelope.

Page 29: Zeus’ Guide To Software Delivery

Everyone lives happily …

Page 30: Zeus’ Guide To Software Delivery

Until…

Page 31: Zeus’ Guide To Software Delivery

Paris Abducts Helen

And by “abducts” I mean Helen decided to run away with Paris.

Page 32: Zeus’ Guide To Software Delivery

Menelaus calls in the promise

Page 33: Zeus’ Guide To Software Delivery

Odysseus doesn’t want to go to Troy

Page 34: Zeus’ Guide To Software Delivery

0

25

50

75

100

Cost If Things Go Poorly vs. Benefit If Things Go Well

Magnitude of SuccessMagnitude of Failure

Page 35: Zeus’ Guide To Software Delivery

0

25

50

75

100

Cost If Things Go Poorly vs. Benefit If Things Go Well

Win =Menelaus Gets Helen Back Loss =

Death and Suffering

Page 36: Zeus’ Guide To Software Delivery

Commitments with all downside and no upside

In large organizations we tend to punish people who tried something new and failed.

Page 37: Zeus’ Guide To Software Delivery

Achilles

Different motivations

Page 38: Zeus’ Guide To Software Delivery

Obscurity and Long Life vs.

Glory and . . . . .

Page 39: Zeus’ Guide To Software Delivery

Obscurity and Long Life vs.

Glory and Death

Page 40: Zeus’ Guide To Software Delivery

Commitments

What do teams win if they succeed? What do they lose if they fail?

Page 41: Zeus’ Guide To Software Delivery

Odysseus - more time with his kid Achilles - immortality through fame

Page 42: Zeus’ Guide To Software Delivery

Skunk works team on government project

Page 43: Zeus’ Guide To Software Delivery

1. Work from home effectively 2. Control of delivering value

Page 44: Zeus’ Guide To Software Delivery

1. Work from home effectively 2. Control of delivering value

More time with kids

Page 45: Zeus’ Guide To Software Delivery

1. Work from home effectively 2. Control of delivering value

More time with kids

Glory… without death

Page 46: Zeus’ Guide To Software Delivery

Polyphemus

Page 47: Zeus’ Guide To Software Delivery

Polski 1810

https://commons.wikimedia.org/wiki/File:OdysseyPolyphemos.png

Page 48: Zeus’ Guide To Software Delivery

Noman

Page 49: Zeus’ Guide To Software Delivery
Page 50: Zeus’ Guide To Software Delivery

No man is killing me!

Page 51: Zeus’ Guide To Software Delivery
Page 52: Zeus’ Guide To Software Delivery

Cyclops – if any man on the face of the earth should ask you who blinded you, shamed you so- say Odysseus, raider of cities, he gouged out your eye, Laertes’ son who makes his home in Ithaca

Lay Er TeesAbout as smart as the vandals who wrote on the Lincoln memorial by writing their address on it

Page 53: Zeus’ Guide To Software Delivery

Polyphemus

Böcklin 1896

https://commons.wikimedia.org/wiki/File:Arnold_B%C3%B6cklin_-_Odysseus_und_Polyphemus_(1896).jpg

Page 54: Zeus’ Guide To Software Delivery

Hubris

Pride - Thinking you are so much better that you don’t need to be humble.

Page 55: Zeus’ Guide To Software Delivery

Agile Hubris

Thinking you are so good, that you have nothing to learn.“We are Agile because we have a meeting we stand for 15 minutes a day.”(What about continuous improvement?)

Page 56: Zeus’ Guide To Software Delivery

Daily Stand-up Meeting 2 Week Sprints Scrum Master Retrospectives Delivering Useful Software

Page 57: Zeus’ Guide To Software Delivery

Cost of hubris for Odysseus?

Page 58: Zeus’ Guide To Software Delivery

10 years getting back to Ithaca

Turns out Polyphemus was the son of Poseidon.

Page 59: Zeus’ Guide To Software Delivery

What is the cost of hubris in software development?

Lack of continuous improvement

Page 60: Zeus’ Guide To Software Delivery

Odysseus’ Men3 examples

Page 61: Zeus’ Guide To Software Delivery

Aeolus Tied up the winds contrary to getting to IthacaTold his men not to open the bag

https://commons.wikimedia.org/wiki/File:Isaac_Moillon_-_%C3%89ole_donnant_les_vents_%C3%A0_Ulysse.jpg

Page 62: Zeus’ Guide To Software Delivery

while Ulysses is asleep within sight of Ithaca, his companions open the bag; contrary winds rush out while Ulysses is asleep, his companions open the bag; contrary winds rush out https://commons.wikimedia.org/wiki/File:De_metgezellen_van_Odysseus_maken_de_zak_open_waarin_Aeolus_de_winden_besloten_had,_RP-T-00-444.jpg

Page 63: Zeus’ Guide To Software Delivery

Song of the Sirens

Circe Warns of Siren’s

Page 64: Zeus’ Guide To Software Delivery

Plug the men’s ears with beeswax

Page 65: Zeus’ Guide To Software Delivery

Tie Odysseus to Mast

Page 66: Zeus’ Guide To Software Delivery

Bind him again if he cries out.

This is key.

Page 67: Zeus’ Guide To Software Delivery

Sirens = Beautiful Sea Women?

Page 68: Zeus’ Guide To Software Delivery

https://commons.wikimedia.org/wiki/File:Odysseus-siren_Parthenope,_the_mythological_founder_of_Naples.jpg

Page 69: Zeus’ Guide To Software Delivery

Odysseus and the Sirens, an 1891 painting by John William Waterhouse

https://commons.wikimedia.org/wiki/File:WATERHOUSE_-_Ulises_y_las_Sirenas_(National_Gallery_of_Victoria,_Melbourne,_1891._%C3%93leo_sobre_lienzo,_100.6_x_202_cm).jpg

Page 70: Zeus’ Guide To Software Delivery

After men eat cattle, Zeus strikes the ship and only Odysseus survives on Calypso’s island

Tribaldi 1554-1556https://commons.wikimedia.org/wiki/File:Pellegrino_Tibaldi_001.jpg

Page 71: Zeus’ Guide To Software Delivery

• Aeolus’ Bag of Wind • Song of the Sirens • Cattle of Helios

Page 72: Zeus’ Guide To Software Delivery

Operations Team vs.

Shift to the Cloud

Page 73: Zeus’ Guide To Software Delivery

“Reaching out” to security department.

Page 74: Zeus’ Guide To Software Delivery

If people don’t have something clear to do, they will often do things

that are counter productive.

Page 75: Zeus’ Guide To Software Delivery

Diana and Orion

Page 76: Zeus’ Guide To Software Delivery
Page 77: Zeus’ Guide To Software Delivery
Page 78: Zeus’ Guide To Software Delivery

https://commons.wikimedia.org/wiki/File:Etienne_Delaune,_Diana_Mourning_the_Death_of_Orion,_NGA_47815.jpg

Page 79: Zeus’ Guide To Software Delivery

Do we know our target?

Page 80: Zeus’ Guide To Software Delivery

Usable System

Page 81: Zeus’ Guide To Software Delivery

“Super Important” Features

Page 82: Zeus’ Guide To Software Delivery

Existing Functionality New Features

Page 83: Zeus’ Guide To Software Delivery

Existing Functionality New Features

Super duper important!

Page 84: Zeus’ Guide To Software Delivery

Existing Functionality New Features

Page 85: Zeus’ Guide To Software Delivery

Existing Functionality New Features

Page 86: Zeus’ Guide To Software Delivery

Existing Functionality New Features

Page 87: Zeus’ Guide To Software Delivery

Existing Functionality New Features

Page 88: Zeus’ Guide To Software Delivery

Existing Functionality New Features

Q1 2020 Q2 2020 Q3 2020 Q4 2020 Q1 2021 Q2 2021

Page 89: Zeus’ Guide To Software Delivery

Preserve Options

Page 90: Zeus’ Guide To Software Delivery

Can we preserve more options?

Page 91: Zeus’ Guide To Software Delivery

Minimal Viable New Features

Q1 2020 Q2 2020 Q3 2020 Q4 2020 Q1 2021 Q2 2021

Existing Functionality

Page 92: Zeus’ Guide To Software Delivery

Minimal Viable New Features

Q1 2020 Q2 2020 Q3 2020 Q4 2020 Q1 2021 Q2 2021

Existing Functionality

Page 93: Zeus’ Guide To Software Delivery

Minimal Viable New Features

Q1 2020 Q2 2020 Q3 2020 Q4 2020 Q1 2021 Q2 2021

Existing Functionality

Page 94: Zeus’ Guide To Software Delivery

Minimal Viable New Features

Q1 2020 Q2 2020 Q3 2020 Q4 2020 Q1 2021 Q2 2021

Existing Functionality

Page 95: Zeus’ Guide To Software Delivery

Theseus

Page 96: Zeus’ Guide To Software Delivery

Mother AethraFather AegeusGiven a task to start with.Born in Troezen headed to Athens

Page 97: Zeus’ Guide To Software Delivery

Interviewing Developers

Page 98: Zeus’ Guide To Software Delivery

Fizz Buzz

Page 99: Zeus’ Guide To Software Delivery

• Count to 100 • Multiples of 3 replaced by Fizz • Multiples of 5 replaced by Buzz • Multiples of 3 & 5 replaced by FizzBuzz

1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz...

Page 100: Zeus’ Guide To Software Delivery

Given a list of numbers, which number is closest to 0.

Page 101: Zeus’ Guide To Software Delivery

1, 4, 8, 2, 55, 2, 3

Page 102: Zeus’ Guide To Software Delivery

-10, 4, 8, -1, 55, 2, -3

Page 103: Zeus’ Guide To Software Delivery

Don’t ever schedule me for an interview like this again!

Page 104: Zeus’ Guide To Software Delivery

Spring / Angular app to convert Arabic to Roman numerals.

https://github.com/markshead/bdd-demo

Page 105: Zeus’ Guide To Software Delivery

Perl class

Page 106: Zeus’ Guide To Software Delivery

Emulated Hercules

Page 107: Zeus’ Guide To Software Delivery

Cleared the Land of Bandits

Page 108: Zeus’ Guide To Software Delivery

Role Models

Page 109: Zeus’ Guide To Software Delivery

Government banks can’t emulate Facebook

Page 110: Zeus’ Guide To Software Delivery

Government banks can’t emulate Facebook

Shouldn’t

Page 111: Zeus’ Guide To Software Delivery

Procrustes

Page 112: Zeus’ Guide To Software Delivery
Page 113: Zeus’ Guide To Software Delivery

Forcing Conformity Can Kill Teams

Page 114: Zeus’ Guide To Software Delivery

My chat with Procrustes

Page 115: Zeus’ Guide To Software Delivery

How can we setup JIRA to support Agile?

Let teams customize so it best visualizes their current way of working and iterate from there.

That sounds like a lot of work on our end. How can we make sure everyone is doing the exact same thing so we don’t have to spend time managing JIRA.

If the purpose of JIRA is to minimize your work managing JIRA, don’t let anyone login.

If the purpose is to make teams productive, then let

teams customized it to best represent their work.

Mark

Mark

JIRA manager

JIRA manager

Page 116: Zeus’ Guide To Software Delivery

Minos king of Crete prayed for a sign that he was supposed to be king. Poseidon sent a beautiful bull but instead of sacrificing it, Minos added it to his herd and sacrificed an inferior bull. The bull destroyed the land until a labor of Hercules was to capture it and take it away. It broke lose and wandered into Marathon where it became known as the Bull of Marathon. It was captured and held in Athens but broke free.

Before Aegeus recognized Theseus, his wife Medea (who realized Theseus was Aegeus’ son) sent him to capture the Bull of Marathon.

Page 117: Zeus’ Guide To Software Delivery

Theseus was sent to die catching the bull.

He was expected to fail

Page 118: Zeus’ Guide To Software Delivery

Androgeos was previously killed trying to catch the bull.

Androgeos was son of Minos king of Crete. This led to the war between Athens and Crete that ended when Athens agreed to send 7 boys and 7 girls to be fed to the minotaur every 9 years.

Page 119: Zeus’ Guide To Software Delivery

BDD as Requirements

Explain BDD

Page 120: Zeus’ Guide To Software Delivery

Developer language

Business owner language

Page 121: Zeus’ Guide To Software Delivery

Developer language

Business owner language

BDD Language

Page 122: Zeus’ Guide To Software Delivery

Given I am not an admin user When I login to the system Then I cannot see the admin menu

Page 123: Zeus’ Guide To Software Delivery

Given I am an admin user When I login to the system Then I can see the admin menu

Page 124: Zeus’ Guide To Software Delivery

“We need to test if operations can use feature files as the

requirements.”

Page 125: Zeus’ Guide To Software Delivery

“We want to make sure that someone off the street could use the feature files to support the application.”

Page 126: Zeus’ Guide To Software Delivery

Do you have detailed requirements for your existing applications?

Page 127: Zeus’ Guide To Software Delivery

Do you have detailed requirements for your existing applications?

Yes

Page 128: Zeus’ Guide To Software Delivery

Have you performed this type of test with those requirements?

Page 129: Zeus’ Guide To Software Delivery

Have you performed this type of test with those requirements?

No

Page 130: Zeus’ Guide To Software Delivery

Then how would you know if feature files passed the test or not?

Page 131: Zeus’ Guide To Software Delivery

Then how would you know if feature files passed the test or not?

Um….

Page 132: Zeus’ Guide To Software Delivery

Designed to Fail

This “test” was a Bull of Marathon moment.Found a team doing what we were suggesting and offered to setup a meeting. They refused. But they did eventually setup their own meeting and after that the test got scrapped.

Page 133: Zeus’ Guide To Software Delivery

Greek Concept of Hubris

Intentionally trying to humiliate or degrade someone.

Page 134: Zeus’ Guide To Software Delivery

Not my finest coaching moment.

How do you justify your salary if you could be replaced by a random person off the street?

Page 135: Zeus’ Guide To Software Delivery

Medea tries to poison Theseus, but Aegeus recognizes his sword and stops his son form drinking the poison.Aegeus king of Athens held a large competition and Minos’ (king of Crete) son (Androgeus) won all the games. Androgeus was sent to capture the bull and it killed him (or it got loose and killed him). Minos attacked Athens and Aegeus agreed to send 14 youths to be fed to the Minotaur every 9 years. This may sound familiar because Minos came up with the idea after seeing Hunger Games.

Page 136: Zeus’ Guide To Software Delivery

Aegeus doesn’t want Theseus to go. Theseus says they will fly white sails on the way back to show he has defeated the minotaur.https://en.wikipedia.org/wiki/Fran%C3%A7ois_Vase

Page 137: Zeus’ Guide To Software Delivery

Minotaur

Page 138: Zeus’ Guide To Software Delivery

Minotaur kept in labyrinth designed by Daedalus.Why keep it around?Son of Minos’ wife.https://commons.wikimedia.org/wiki/File:Tondo_Minotaur_London_E4_MAN.jpg

Page 139: Zeus’ Guide To Software Delivery

Does this sound familiar?

1. No one wants it.2. It consumes some of your finest people3. No one knows how to get rid of it4. Build more and more stuff around it just to keep it from destroying everything.

Page 140: Zeus’ Guide To Software Delivery

Minotaur = Legacy Software

Abomination that should never have been created

Page 141: Zeus’ Guide To Software Delivery

Software Hero

Page 142: Zeus’ Guide To Software Delivery

Application vs.

System to Deliver Valuable Features

An application will turn into an abomination.A system is designed to improve itself

Page 143: Zeus’ Guide To Software Delivery

Ariadne (Minos’ daughter) asked Daedalus (father of Icarus) how to escape the labyrinth and he told her to give Theseus a ball of yarn to find his way out.Maybe he can knit himself a sweater if he gets cold.

Page 144: Zeus’ Guide To Software Delivery

Content Management System

Couldn’t move forward because different ideas of what was possible.

Page 145: Zeus’ Guide To Software Delivery

What did Ariadne do to help Theseus?

She went and asked the guy who built the thing.

Page 146: Zeus’ Guide To Software Delivery

Don’t Just Speculate

Setup the CMS and showed how it worked. Service contract with company that makes it

Page 147: Zeus’ Guide To Software Delivery

1896 H.A. Guerber Eclectic Textbook

https://commons.wikimedia.org/wiki/File:Theseus_and_the_Minotaur.gif

Page 148: Zeus’ Guide To Software Delivery

https://upload.wikimedia.org/wikipedia/commons/9/90/Theseus_Minotaur_Mosaic.jpg

Daedalus (father of Icarus) built the labyrinth and was eventually imprisoned in it by MinosBeat him up with a golf club

Page 149: Zeus’ Guide To Software Delivery

AriadneNotice the ship headed back home?

Page 150: Zeus’ Guide To Software Delivery

Black Sails

Aegeus kills himself when he sees the black sails

Page 151: Zeus’ Guide To Software Delivery

Signal Success

Demos.. but more than demos

Page 152: Zeus’ Guide To Software Delivery

Definition of Progress: Working Software

Page 153: Zeus’ Guide To Software Delivery

Definition of Working Software: Software is Doing Work

Page 154: Zeus’ Guide To Software Delivery

Is software “doing work” if it is only getting test data?

Page 155: Zeus’ Guide To Software Delivery

Unreleased Code

Page 156: Zeus’ Guide To Software Delivery

Shadow Mode

Page 157: Zeus’ Guide To Software Delivery

Return on Investment

Signal success by return on investment. We will talk about that more with the ship of Theseus

Page 158: Zeus’ Guide To Software Delivery

Ship of Theseus

Page 159: Zeus’ Guide To Software Delivery

Athens to wait 30 days for the ship to get back before executing him.1261 BC Theseus399 BCDeath of Socrates 1787 Jacques-Louis Davidhttps://upload.wikimedia.org/wikipedia/commons/8/8c/David_-_The_Death_of_Socrates.jpg

Page 160: Zeus’ Guide To Software Delivery

800 year ship

Replaced one board at a timeWhen does it become a new ship

Page 161: Zeus’ Guide To Software Delivery

Not a ship… a process

Replaced one board at a timeWhen does it become a new ship

Page 162: Zeus’ Guide To Software Delivery

Hercules

Page 163: Zeus’ Guide To Software Delivery

Juno’s Snakes

Page 164: Zeus’ Guide To Software Delivery

Teiresus - Blind seer who Odysseus goes to see.Painted by Joshua Reynolds for Catherine the Great

Page 165: Zeus’ Guide To Software Delivery

Superhuman Effort to Overcome Management Opposition

Page 166: Zeus’ Guide To Software Delivery
Page 167: Zeus’ Guide To Software Delivery

Eos and Tithonus

goddess named Eos who fell in love with a Trojan named Tithonus. She asked Zeus to make Tithonus immortal and Zeus did.

Page 168: Zeus’ Guide To Software Delivery

Aurora was another name for herFrancesco de Mura

https://commons.wikimedia.org/wiki/File:Aurora_Greek_Goddess.jpg

Page 169: Zeus’ Guide To Software Delivery

https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Tithonos_Eos_Louvre_G438_detail.jpg/1069px-Tithonos_Eos_Louvre_G438_detail.jpg

Page 170: Zeus’ Guide To Software Delivery

Cupid and Psyche

Cupid pricks himself with one of his own arrows and falls in love with a mortal woman named Psyche. Eventually they work through all the issues with the mother-in-law-to-be and Cupid makes Psyche immortal so he can marry her.

Page 171: Zeus’ Guide To Software Delivery

Wikipedia

Page 172: Zeus’ Guide To Software Delivery

Actual Support and Buy-in

Page 173: Zeus’ Guide To Software Delivery

http://book.markshead.com

https://youtube.com/markshead