$30 off During Our Annual Pro Sale. View Details »

Creating the conditions for an awesome DevEx

Creating the conditions for an awesome DevEx

It's 2022, and software development and delivery is a fractious experience. Developers and teams struggle to get going.
The developer platforms organisations have built are not fit for purpose.
Cloud foundations do not evolve in line with the requirements of the development teams
This session will explore the conditions needed to facilitate developer autonomy and create an awesome DevEx. s
- What makes a good developer experience?
- What are the common stumbling blocks?
- How to architect to manage risk, governance and autonomy
- How to build modern team topologies that don't hinder progress and ensure long-term sustainability
- How to build a culture that is transparent and breaks down silos?

Hibri Marzook

July 13, 2022
Tweet

More Decks by Hibri Marzook

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

  4. Can’t use existing knowledge
    Focus is lost
    Helplessness

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  9. The work we do should not cause negative
    emotions

    View Slide

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

    View Slide

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

    View Slide

  12. Srivasta, S. et al. (2020)

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  16. A good developer experience is emergent

    View Slide

  17. Create boundaries for risk
    and responsibility

    View Slide

  18. View Slide

  19. Good fences make good neighbours

    View Slide

  20. Give Autonomy within boundaries

    View Slide

  21. Create a shared responsibility model

    View Slide

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

    View Slide

  23. Create Team Interactions
    for Fast Flow

    View Slide

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

    View Slide

  25. Conway’s Law affects the
    developer experience
    25

    View Slide

  26. Understand Team Interactions

    View Slide

  27. Adopt an Internal OSS
    Model

    View Slide

  28. Platform/Dev Tooling
    code is visible to
    everyone

    View Slide

  29. Anyone can send a PR, to improve
    developer tooling

    View Slide

  30. View Slide

  31. An internal OSS model removes barriers
    to collaboration

    View Slide

  32. Create Fast Feedback
    Loops

    View Slide

  33. The Simplest Feedback Loop is a Conversation
    33

    View Slide

  34. Optimize Feedback Loops, Not Pipelines
    34

    View Slide

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

    View Slide

  36. How do we measure
    DevEx?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  41. Why?

    View Slide

  42. A good Developer Experience
    helps devs find flow and
    reduces interruptions

    View Slide

  43. A good Developer Experience
    reduces the cognitive load for a
    developer

    View Slide

  44. A good Developer Experience
    creates an environment of
    psychological safety

    View Slide

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

    View Slide

  46. Q&A
    46

    View Slide

  47. 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]

    View Slide

  48. 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/.

    View Slide