An Actionable Framework for
Understanding and Improving
Developer Experience
Michaela Greiler Margaret-Anne Storey Abi Noda
ESEC/FSE 2022 Presentation of Journal First Paper Published at TSE 2022
mgreiler margaretstorey abinoda
The SPACE of developer productivity
S – Satisfaction & Well Being
P – Performance
A – Activity
C – Collaboration & Communication
E – Efficiency & Flow
Nicole Forsgren, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler.
2021. The SPACE of Developer Productivity: There's more to it than you think. ACM Queue. 2021
EXPERIENC
E
DEVELOPER
Once upon a time, there were two
software developers who worked for a social
media company that was recently acquired
in a hostile takeover….
What is developer experience?
How developers
Feel about
Think about and
Value their work
Fabian Fagerholm and Jürgen Münch. 2012. Developer experience: concept and definition. In Proceedings of the
International Conference on Software and System Process (ICSSP '12). IEEE Press, 73–77.
Our research aim…
An actionable conceptual framework to understand
and guide developer experience
Our study
Semi-structured interview study with 21 developers from different companies
Guiding (and emergent) research questions:
1) What important factors affect developer experience
2) What contextual characteristics influence factor importance
3) What barriers impede positive experience
4) What strategies do developers and teams use to improve their experience
5) What coping mechanisms do developers resort to
Coding example…
Transcript unit: “The founders of the company, when we would go to them for that
criticism, or what we need - they werenʼt very responsive for it. They didnʼt care, or at least
they didnʼt show any sort of empathy about it or any understanding of our situation. They
just said keep working. And so, I think there was always effort to try to improve, but we
started noticing the patterns and gave up trying. We knew that at some point it doesnʼt
matter. We just need to do our job. And that was kind of the reason why we would just
complain to each other because there was no point to reach out anymore because we
tried and it didnʼt work.” [P11]
Preliminary Code: Developers stop speaking up when not heard
Focused Code: Stop speaking up
Core Category: Coping Mechanism
Threats to credibility
Validity and reliability in qualitative work mostly has to do with how careful, thorough and honest the researchers
have been during data collection and analysis (Robson, 2002: 176).
Thoroughness and trustworthiness
- interview guideline
- coded each transcript (automatically transcribed/ manually improved)
- replayed video during coding
Interpretive validity
- Paraphrasing and asking clarifying questions
- Involvement from all researchers in axial coding process
- Left an extensive trail (videas, transcripts, notes) open to all researchers
External credibility
- 21 participants
- Saturation reached
The DevEX Framework
DX
Factors
Contextual
Characteristics
Developer
Experience
Barriers to
Improvement
Strategies to
Improve
Experience
Coping
Mechanisms
The DevEX Framework
DX
Factors
Contextual
Characteristics
Developer
Experience
Barriers to
Improvement
Strategies to
Improve
Experience
Coping
Mechanisms
Collaboration
and culture
Development
and release
Product
management
Developer flow
and fulfillment
Important Factors that Impact Developer Experience
Important Factors that Impact Developer Experience
The DevEX Framework
DX
Factors
Contextual
Characteristics
Developer
Experience
Barriers to
Improvement
Strategies to
Improve
Experience
Coping
Mechanisms
Contextual Characteristics:
Psychological safety
Presence of problems
Expectations
Seniority
Company goals
Company maturity
Frequency of problems
“I don’t think that a not perfect
codebase is a reason for somebody
to leave the company. […] Whereas
if you have a toxic culture in your
company, that’s when people think of
leaving a company and actually
really do it.” [P9]
“The weight of these categories
changes drastically depending on how
senior an engineer is. So if you’re a
junior developer, you might actually
really only care about codebase health
and the developer workflow.” [P2]
The DevEX Framework
DX
Factors
Contextual
Characteristics
Developer
Experience
Barriers to
Improvement
Strategies to
Improve
Experience
Coping
Mechanisms
Barriers to Improvement:
Low prioritization
Inability to quantify problems
Lack of visibility/awareness
Lack of buy-in, ownership
Undefined expectations
Lack of incentives
Unclear process
No visible solutions
Organizational politics
“As long as it’s not visible in
the KPIs, it’s not so important
for the company. [...] It’s hard to
make a case for it.” [P10]
The DevEX Framework
DX
Factors
Contextual
Characteristics
Developer
Experience
Barriers to
Improvement
Strategies to
Improve
Experience
Coping
Mechanisms
Individual Strategies:
Job crafting
Taking risks
Speaking up
Local improvement
Workarounds
Mimicking success
Being pragmatic
“I started finding ways to improve our
process, or our systems and have a guard rail. I
felt that brought value to the business because it
would save us from rolling back on releases and
reducing any issues [...]” [P11]
“...it’s really about having a shared
understanding, being able to trust each other,
that when I say this is important, my product
manager will say, well, then let’s do it.” [P12]
Team Strategies:
Building bridges
Creating transparency
Convincing others
Making incremental changes
Metrics and measurements
Having a driver
Involving experts
The DevEX Framework
DX
Factors
Contextual
Characteristics
Developer
Experience
Barriers to
Improvement
Strategies to
Improve
Experience
Coping
Mechanisms
Coping Mechanisms:
Focusing on personal projects
Validating negative experiences
Working overtime
No longer speaking up
Reduced engagement
Gaming the system
Leaving their job
“The quality and overall greatness of the software
we were building was declining, as we were
scaling. And I started to question what was
happening? … I got really cynical about my
experience at [company name] and I started going
into work and just being like, whatever, I’m not
going to care about these things anymore.” [P8]
The DevEX Framework
DX
Factors
Contextual
Characteristics
Developer
Experience
Barriers to
Improvement
Strategies to
Improve
Experience
Coping
Mechanisms
Plan
Do
Ask
https://getdx.com/
abinoda
EXPERIENC
E
drives productivity and
performance
DEVELOPER
Being empowered to do my best work, joyfully.
mgreiler margaretstorey abinoda

An Actionable Framework for Understanding and Improving Developer Experience

  • 1.
    An Actionable Frameworkfor Understanding and Improving Developer Experience Michaela Greiler Margaret-Anne Storey Abi Noda ESEC/FSE 2022 Presentation of Journal First Paper Published at TSE 2022 mgreiler margaretstorey abinoda
  • 2.
    The SPACE ofdeveloper productivity S – Satisfaction & Well Being P – Performance A – Activity C – Collaboration & Communication E – Efficiency & Flow Nicole Forsgren, Margaret-Anne Storey, Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler. 2021. The SPACE of Developer Productivity: There's more to it than you think. ACM Queue. 2021
  • 3.
  • 4.
    Once upon atime, there were two software developers who worked for a social media company that was recently acquired in a hostile takeover….
  • 5.
    What is developerexperience? How developers Feel about Think about and Value their work Fabian Fagerholm and Jürgen Münch. 2012. Developer experience: concept and definition. In Proceedings of the International Conference on Software and System Process (ICSSP '12). IEEE Press, 73–77.
  • 6.
    Our research aim… Anactionable conceptual framework to understand and guide developer experience
  • 7.
    Our study Semi-structured interviewstudy with 21 developers from different companies Guiding (and emergent) research questions: 1) What important factors affect developer experience 2) What contextual characteristics influence factor importance 3) What barriers impede positive experience 4) What strategies do developers and teams use to improve their experience 5) What coping mechanisms do developers resort to
  • 8.
    Coding example… Transcript unit:“The founders of the company, when we would go to them for that criticism, or what we need - they werenʼt very responsive for it. They didnʼt care, or at least they didnʼt show any sort of empathy about it or any understanding of our situation. They just said keep working. And so, I think there was always effort to try to improve, but we started noticing the patterns and gave up trying. We knew that at some point it doesnʼt matter. We just need to do our job. And that was kind of the reason why we would just complain to each other because there was no point to reach out anymore because we tried and it didnʼt work.” [P11] Preliminary Code: Developers stop speaking up when not heard Focused Code: Stop speaking up Core Category: Coping Mechanism
  • 9.
    Threats to credibility Validityand reliability in qualitative work mostly has to do with how careful, thorough and honest the researchers have been during data collection and analysis (Robson, 2002: 176). Thoroughness and trustworthiness - interview guideline - coded each transcript (automatically transcribed/ manually improved) - replayed video during coding Interpretive validity - Paraphrasing and asking clarifying questions - Involvement from all researchers in axial coding process - Left an extensive trail (videas, transcripts, notes) open to all researchers External credibility - 21 participants - Saturation reached
  • 10.
    The DevEX Framework DX Factors Contextual Characteristics Developer Experience Barriersto Improvement Strategies to Improve Experience Coping Mechanisms
  • 11.
    The DevEX Framework DX Factors Contextual Characteristics Developer Experience Barriersto Improvement Strategies to Improve Experience Coping Mechanisms
  • 12.
    Collaboration and culture Development and release Product management Developerflow and fulfillment Important Factors that Impact Developer Experience
  • 13.
    Important Factors thatImpact Developer Experience
  • 14.
    The DevEX Framework DX Factors Contextual Characteristics Developer Experience Barriersto Improvement Strategies to Improve Experience Coping Mechanisms
  • 15.
    Contextual Characteristics: Psychological safety Presenceof problems Expectations Seniority Company goals Company maturity Frequency of problems “I don’t think that a not perfect codebase is a reason for somebody to leave the company. […] Whereas if you have a toxic culture in your company, that’s when people think of leaving a company and actually really do it.” [P9] “The weight of these categories changes drastically depending on how senior an engineer is. So if you’re a junior developer, you might actually really only care about codebase health and the developer workflow.” [P2]
  • 16.
    The DevEX Framework DX Factors Contextual Characteristics Developer Experience Barriersto Improvement Strategies to Improve Experience Coping Mechanisms
  • 17.
    Barriers to Improvement: Lowprioritization Inability to quantify problems Lack of visibility/awareness Lack of buy-in, ownership Undefined expectations Lack of incentives Unclear process No visible solutions Organizational politics “As long as it’s not visible in the KPIs, it’s not so important for the company. [...] It’s hard to make a case for it.” [P10]
  • 18.
    The DevEX Framework DX Factors Contextual Characteristics Developer Experience Barriersto Improvement Strategies to Improve Experience Coping Mechanisms
  • 19.
    Individual Strategies: Job crafting Takingrisks Speaking up Local improvement Workarounds Mimicking success Being pragmatic “I started finding ways to improve our process, or our systems and have a guard rail. I felt that brought value to the business because it would save us from rolling back on releases and reducing any issues [...]” [P11] “...it’s really about having a shared understanding, being able to trust each other, that when I say this is important, my product manager will say, well, then let’s do it.” [P12] Team Strategies: Building bridges Creating transparency Convincing others Making incremental changes Metrics and measurements Having a driver Involving experts
  • 20.
    The DevEX Framework DX Factors Contextual Characteristics Developer Experience Barriersto Improvement Strategies to Improve Experience Coping Mechanisms
  • 21.
    Coping Mechanisms: Focusing onpersonal projects Validating negative experiences Working overtime No longer speaking up Reduced engagement Gaming the system Leaving their job “The quality and overall greatness of the software we were building was declining, as we were scaling. And I started to question what was happening? … I got really cynical about my experience at [company name] and I started going into work and just being like, whatever, I’m not going to care about these things anymore.” [P8]
  • 22.
    The DevEX Framework DX Factors Contextual Characteristics Developer Experience Barriersto Improvement Strategies to Improve Experience Coping Mechanisms
  • 23.
  • 24.
  • 25.
    EXPERIENC E drives productivity and performance DEVELOPER Beingempowered to do my best work, joyfully. mgreiler margaretstorey abinoda