Social:Developer experience

From HandWiki
Short description: Developer Experience


Developer experience (DX) encompasses how developers feel about, think about, and value their work.[1] Developer experience pays particular attention to software development environments and the points of friction which affect feedback loops, cognitive load, and flow state.[2]

Developer experience is an important concern for businesses.[3] Developer experience impacts the amount of time developers are able to spend writing code, as well as contributes to burnout.[4] Improving developer experience is the responsibility of software engineering leaders.[5] Additionally, dedicated developer experience teams have become increasingly common within software organizations.[6]

Definition

An early definition of developer experience outlined three dimensions: cognition, affection, and conation, which correspond to the trilogy of mind theory from social psychology.[7] A 2021 study provided an expanded definition of developer experience: "how developers feel about, think about, and value their work."[1]

Factors

Numerous social and technical factors[1] affect developer experience, including:

  • Documentation - Well-organized, up-to-date documentation helps developers effectively work with internal tools and code.
  • Code quality - The quality, maintainability, and ease of working in a codebase impacts developers' ability to perform their work.
  • Cross-team collaboration - Developers frequently coordinate across different teams and departments in order to deliver projects.
  • Development environment - This includes aspects of engineering infrastructure such as setup, configuration, debugging, and monitoring.

Furthermore, developer experience is modulated by contextual characteristics including seniority, the frequency of problems, and individual expectations.[1]

Measurement and improvement

Developer experience is measured using qualitative and quantitative methods, similar to user experience.[8] Common approaches include relational and transactional surveys, as well as instrumentation and analysis of software development tools.[2]

Additional strategies for understanding and improving developer experience include design thinking, journey maps, and shortening feedback loops.[9] Many developer experience methods derive from user experience and cognitive psychology.[10]

References

  1. 1.0 1.1 1.2 1.3 Greiler, Michaela; Storey, Margaret-Anne; Noda, Abi (2023). "An Actionable Framework for Understanding and Improving Developer Experience". IEEE Transactions on Software Engineering 49 (4): 1411–1425. doi:10.1109/TSE.2022.3175660. 
  2. 2.0 2.1 "DevEx: What Actually Drives Productivity". May 3, 2023. https://queue.acm.org/detail.cfm?id=3595878. 
  3. Hastie, Shane (Dec 10, 2022). "Developer Experience is a Critical Issue for Organisations Today". https://www.infoq.com/podcasts/developer-experience-organisations-critical-issue/. 
  4. "Why "developer experience" is holding back the pace of global innovation". Fast Company. https://www.fastcompany.com/90771120/why-developer-experience-is-holding-back-the-pace-of-global-innovation. 
  5. Delaet, Thomas (June 6, 2022). "Why your IT organization should prioritize developer experience". https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/tech-forward/why-your-it-organization-should-prioritize-developer-experience. 
  6. Noda, Abi (October 3, 2022). "What is a developer experience team?". https://leaddev.com/productivity-eng-velocity/what-developer-experience-team. 
  7. Fagerholm, Fabian; Münch, Jürgen (2012). "Developer experience: Concept and definition". pp. 73–77. doi:10.1109/ICSSP.2012.6225984. 
  8. "Why Developer Experience Is The New User Experience". https://www.forbes.com/sites/forbestechcouncil/2021/10/05/why-developer-experience-is-the-new-user-experience/?sh=76851af51722. 
  9. "Five proven approaches for a better Developer Experience in your organisation". https://www.thoughtworks.com/en-us/insights/blog/experience-design/approaches-for-a-better-developer-experience. 
  10. Kuusinen, Kati; Petrie, Helen; Fagerholm, Fabian; Mikkonen, Tommi (2016). "Flow, Intrinsic Motivation, and Developer Experience in Software Engineering". in Sharp, Helen; Hall, Tracy (in en). Agile Processes, in Software Engineering, and Extreme Programming. Lecture Notes in Business Information Processing. 251. Cham: Springer International Publishing. pp. 104–117. doi:10.1007/978-3-319-33515-5_9. ISBN 978-3-319-33515-5. https://eprints.whiterose.ac.uk/118515/1/DX_XP16_camera_ready.pdf.