Slide 1

Slide 1 text

Creating The Conditions For An Awesome Developer Experience Hibri Marzook • Software Practice Lead

Slide 2

Slide 2 text

2 Hibri Marzook Software Practice Lead Help teams deliver fast and enjoy doing it @hibri www.hibri.net

Slide 3

Slide 3 text

3 Prod Env Non - Prod Env GIT Cloud Provider Portal Developer Feedback Seconds - Minutes Feedback Loop is Broken Hours - Days Wall of Confusion Ops Raise a ticket The Wall of Confusion

Slide 4

Slide 4 text

Can’t use existing knowledge Focus is lost Helplessness

Slide 5

Slide 5 text

Impact of a poor DevEx Cochran, T. (2021)

Slide 6

Slide 6 text

High-friction and low effective environments create the conditions for burn-out

Slide 7

Slide 7 text

What is DevEx? Developer Experience is about creating an environment in which a developer can do their best work.

Slide 8

Slide 8 text

How do developers feel about the processes, systems and services they use?

Slide 9

Slide 9 text

The work we do should not cause negative emotions

Slide 10

Slide 10 text

A good DevEx reduces Cognitive Load Intrinsic - the task at hand Germane - How do I solve x? Extraneous - How do I deploy FooBar again?

Slide 11

Slide 11 text

Why is DevEx important? Developer productivity underpins the success of your organisation.

Slide 12

Slide 12 text

Srivasta, S. et al. (2020)

Slide 13

Slide 13 text

Hire expensive developers Make it hard to do their jobs . . . Profit?

Slide 14

Slide 14 text

What does good DevEx look like? Heroku - do everything via the CLI and Git Monzo - CLI tools for devs to deploy, test and interact with services Netflix - evolving standard build tooling to developer tooling

Slide 15

Slide 15 text

DevEx is contextual Developers exist in an environment that is unique to your organisation and environment ?

Slide 16

Slide 16 text

A good developer experience is emergent

Slide 17

Slide 17 text

Create boundaries for risk and responsibility

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Good fences make good neighbours

Slide 20

Slide 20 text

Give Autonomy within boundaries

Slide 21

Slide 21 text

Create a shared responsibility model

Slide 22

Slide 22 text

Example of a Boundary : Pipeline as a Product ● A versioned library of pipeline steps ● Opinionated Pipeline ● Evolve pipeline with Governance needs

Slide 23

Slide 23 text

Create Team Interactions for Fast Flow

Slide 24

Slide 24 text

Conway’s Law 24 “Organisations which design systems are constrained to produce designs which are copies of the communication structures of these organisations”

Slide 25

Slide 25 text

Conway’s Law affects the developer experience 25

Slide 26

Slide 26 text

Understand Team Interactions

Slide 27

Slide 27 text

Adopt an Internal OSS Model

Slide 28

Slide 28 text

Platform/Dev Tooling code is visible to everyone

Slide 29

Slide 29 text

Anyone can send a PR, to improve developer tooling

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

An internal OSS model removes barriers to collaboration

Slide 32

Slide 32 text

Create Fast Feedback Loops

Slide 33

Slide 33 text

The Simplest Feedback Loop is a Conversation 33

Slide 34

Slide 34 text

Optimize Feedback Loops, Not Pipelines 34

Slide 35

Slide 35 text

Get to Real Users Quicker. Only Prod Matters 35 https://twitter.com/copyconstruct/status/974530841190608897

Slide 36

Slide 36 text

How do we measure DevEx?

Slide 37

Slide 37 text

The SPACE Framework S - Satisfaction and Well-being P - Performance A - Activity C - Communication and Collaboration E - Efficiency and flow (Forsgren et al., 2021)

Slide 38

Slide 38 text

Dispelling Developer Productivity Myths ● Productivity is only about individual performance ● One productivity metric can tell us everything ● Productivity is only about engineering systems and developer tools ● Productivity is all about developer activity

Slide 39

Slide 39 text

The most important takeaway from exposing these myths is that productivity cannot be reduced to a single dimension (or metric!) (Forsgren et al., 2021)

Slide 40

Slide 40 text

Key findings Finding flow is key, and interruptions are a drag. Minimal or no interruptions give developers an 82% chance of having a good day, but interruptions throughout the day decrease the chance of a good day to just 7%. Meetings are both awesome and terrible. Collaboration improves our work, but too many meetings can be a blocker; going from two to three meetings per day lowered the chances of developers making progress toward their goals by 60%. A two minute daily reflection can help developers improve their days

Slide 41

Slide 41 text

Why?

Slide 42

Slide 42 text

A good Developer Experience helps devs find flow and reduces interruptions

Slide 43

Slide 43 text

A good Developer Experience reduces the cognitive load for a developer

Slide 44

Slide 44 text

A good Developer Experience creates an environment of psychological safety

Slide 45

Slide 45 text

Conditions for an Awesome DevEx to emerge; 1. There are good boundaries for risk and responsibility 2. Team interactions are optimized for fast flow 3. Adopt an Internal OSS Model 4. Focus on creating fast feedback loops

Slide 46

Slide 46 text

Q&A 46

Slide 47

Slide 47 text

Atlanta [email protected] Thank You contino.io continohq contino London [email protected] New York [email protected] Melbourne [email protected] Sydney [email protected] 47 Brisbane [email protected]

Slide 48

Slide 48 text

References Cochran, T. (2021) Maximizing Developer Effectiveness. Available at: https://martinfowler.com/articles/developer-effectiveness.html (Accessed: January 11, 2021) Srivasta, S. et al. (2020) How software developers can drive business growth | McKinsey, www.mckinsey.com. Available at: https://www.mckinsey.com/industries/technology-media-and-telecommunications/our-insights/developer-velocity-how-s oftware-excellence-fuels-business-performance. Forsgren, N. et al. (2021) ‘The SPACE of Developer Productivity: There’s more to it than you think’, ACM Queue, 19, pp. 1–29. Available at: https://www.microsoft.com/en-us/research/publication/the-space-of-developer-productivity-theres-more-to-it-than-you-t hink/.