Slide 1

Slide 1 text

sarahwells.dev Paving the road to effective software development Sarah Wells

Slide 2

Slide 2 text

sarahwells.dev Paving the road to effective software development Sarah Wells

Slide 3

Slide 3 text

sarahwells.dev

Slide 4

Slide 4 text

sarahwells.dev

Slide 5

Slide 5 text

sarahwells.dev We needed DevOps

Slide 6

Slide 6 text

sarahwells.dev DevOps DevSecOps DevSecTestOps …

Slide 7

Slide 7 text

sarahwells.dev Autonomous, cross- functional teams https://martinfowler.com/articles/talk-about-platforms.html

Slide 8

Slide 8 text

sarahwells.dev

Slide 9

Slide 9 text

sarahwells.dev DORA Core V2 (proposal), https://dora.dev/research Represents the most firmly established findings from DORA’s research

Slide 10

Slide 10 text

sarahwells.dev https://dora.dev/devops-capabilities/process/ loosely-coupled-architecture/

Slide 11

Slide 11 text

sarahwells.dev https://dora.dev/devops-capabilities/technical/ teams-empowered-to-choose-tools/

Slide 12

Slide 12 text

sarahwells.dev Autonomy is great!

Slide 13

Slide 13 text

sarahwells.dev Benefits of autonomy Can release on demand Can choose optimal tools Happier teams

Slide 14

Slide 14 text

sarahwells.dev

Slide 15

Slide 15 text

sarahwells.dev Autonomy is great! … but so is Standardisation

Slide 16

Slide 16 text

sarahwells.dev Benefits of standardisation Lower complexity Lower risk Lower cost Easier to move between teams

Slide 17

Slide 17 text

sarahwells.dev

Slide 18

Slide 18 text

sarahwells.dev Paving the road Principles Going off- road

Slide 19

Slide 19 text

sarahwells.dev Why you need to pave the road

Slide 20

Slide 20 text

sarahwells.dev 2011: Mandatory platform, manual handoffs

Slide 21

Slide 21 text

sarahwells.dev

Slide 22

Slide 22 text

sarahwells.dev

Slide 23

Slide 23 text

sarahwells.dev Introducing automation and DevOps

Slide 24

Slide 24 text

sarahwells.dev

Slide 25

Slide 25 text

sarahwells.dev

Slide 26

Slide 26 text

sarahwells.dev No room for innovation

Slide 27

Slide 27 text

sarahwells.dev Autonomous teams doing their own thing

Slide 28

Slide 28 text

sarahwells.dev

Slide 29

Slide 29 text

sarahwells.dev

Slide 30

Slide 30 text

sarahwells.dev

Slide 31

Slide 31 text

sarahwells.dev Too much autonomy, too much risk Security Cost control Operability

Slide 32

Slide 32 text

sarahwells.dev Guardrails

Slide 33

Slide 33 text

sarahwells.dev

Slide 34

Slide 34 text

sarahwells.dev What happens when another team has to take over a service?

Slide 35

Slide 35 text

sarahwells.dev If everyone works differently, moving people is hard

Slide 36

Slide 36 text

sarahwells.dev

Slide 37

Slide 37 text

sarahwells.dev Cognitive load is high

Slide 38

Slide 38 text

sarahwells.dev Team Topologies: Designing an organisation for fast flow

Slide 39

Slide 39 text

sarahwells.dev

Slide 40

Slide 40 text

sarahwells.dev Paving the road

Slide 41

Slide 41 text

sarahwells.dev

Slide 42

Slide 42 text

sarahwells.dev Not mandatory

Slide 43

Slide 43 text

sarahwells.dev

Slide 44

Slide 44 text

sarahwells.dev

Slide 45

Slide 45 text

sarahwells.dev https://charity.wtf/2018/12/02/software-sprawl-the-golden-path-and-scaling- teams-with-agency/

Slide 46

Slide 46 text

sarahwells.dev Principles for building the paved road

Slide 47

Slide 47 text

sarahwells.dev Build what people need

Slide 48

Slide 48 text

sarahwells.dev Valuable Solves a problem they have Build what people need

Slide 49

Slide 49 text

sarahwells.dev

Slide 50

Slide 50 text

sarahwells.dev Own and support things long term

Slide 51

Slide 51 text

sarahwells.dev Don't make people wait

Slide 52

Slide 52 text

sarahwells.dev Discoverable: engineers can find out it already exists

Slide 53

Slide 53 text

sarahwells.dev

Slide 54

Slide 54 text

sarahwells.dev Documented: in a consistent way

Slide 55

Slide 55 text

sarahwells.dev Self-service Most of the time, people don't need any help

Slide 56

Slide 56 text

sarahwells.dev Make things easy to use

Slide 57

Slide 57 text

sarahwells.dev Allow people to extend and adapt

Slide 58

Slide 58 text

sarahwells.dev

Slide 59

Slide 59 text

sarahwells.dev Help people do the right thing

Slide 60

Slide 60 text

sarahwells.dev

Slide 61

Slide 61 text

sarahwells.dev

Slide 62

Slide 62 text

sarahwells.dev

Slide 63

Slide 63 text

sarahwells.dev

Slide 64

Slide 64 text

sarahwells.dev Build tools that are Safe: sensible defaults, small blast radius Secure and compliant Reliable

Slide 65

Slide 65 text

sarahwells.dev Principles for building the paved road • Build what people need • Own and support things long term • Don't make people wait • Make things easy to use • Allow people to extend and adapt • Help people do the right thing

Slide 66

Slide 66 text

sarahwells.dev CNCF Platforms white paper ● Platform as a product ● User experience ● Documentation and onboarding ● Self-service ● Reduced cognitive load for users ● Optional and composable ● Secure by default https://tag-app-delivery.cncf.io/whitepapers/platforms/

Slide 67

Slide 67 text

sarahwells.dev Going off road

Slide 68

Slide 68 text

sarahwells.dev Save innovation for the stuff that’s unique to you

Slide 69

Slide 69 text

sarahwells.dev “You have three innovation tokens” https://mcfunley.com/choose-boring-technology

Slide 70

Slide 70 text

sarahwells.dev

Slide 71

Slide 71 text

sarahwells.dev If the capability doesn't exist

Slide 72

Slide 72 text

sarahwells.dev If the capability doesn’t meet the team’s requirements

Slide 73

Slide 73 text

sarahwells.dev Make sure there’s a place to discuss tech changes with wide impact

Slide 74

Slide 74 text

sarahwells.dev

Slide 75

Slide 75 text

sarahwells.dev Must comply with the guardrails

Slide 76

Slide 76 text

sarahwells.dev Wrapping up

Slide 77

Slide 77 text

sarahwells.dev Paving the road helps balance autonomy and standardisation

Slide 78

Slide 78 text

sarahwells.dev https://redmonk.com/jgovernor/2022/02/21/what-is-developer-experience-a- roundup-of-links-and-goodness/ “organisations want developers to spend more time coding and less time thinking about and working on infrastructure”

Slide 79

Slide 79 text

sarahwells.dev https://redmonk.com/jgovernor/2022/02/21/what-is-developer-experience-a- roundup-of-links-and-goodness/ “Why would a developer put up with a poor developer experience when they can likely find a job that better aligns with their needs and preferences?”

Slide 80

Slide 80 text

sarahwells.dev https://www.linkedin.com/in/sarahjwells1/ [email protected]