Book Description
Get the most out of this foundational reference and improve the productivity of your software teams. This book collects the wisdom of the 2017 "Dagstuhl" seminar on productivity in software engineering, a meeting of community leaders, who came together with the goal of rethinking traditional definitions and measures of productivity.
The results of their work, Rethinking Productivity in Software Engineering, includes chapters covering definitions and core concepts related to productivity, guidelines for measuring productivity in specific contexts, best practices and pitfalls, and theories and open questions on productivity. You'll benefit from the many short chapters, each offering a focused discussion on one aspect of productivity in software engineering.
Readers in many fields and industries will benefit from their collected work. Developers wanting to improve their personal productivity, will learn effective strategies for overcoming common issues that interfere with progress. Organizations thinking about building internal programs for measuring productivity of programmers and teams will learn best practices from industry and researchers in measuring productivity. And researchers can leverage the conceptual frameworks and rich body of literature in the book to effectively pursue new research directions.
What you'll learn: Review the definitions and dimensions of software productivity; See how time management is having the opposite of the intended effect; Develop valuable dashboards; Understand the impact of sensors on productivity; Avoid software development waste; Work with human-centered methods to measure productivity; Look at the intersection of neuroscience and productivity; Manage interruptions and context-switching.
This open book is licensed under a Creative Commons License (CC BY-NC-ND). You can download Rethinking Productivity in Software Engineering ebook for free in PDF format (5.3 MB).
Table of Contents
About the Editors
xvii
Acknowledgments
xix
Introduction
xxi
Part I
Measuring Productivity: No Silver Bullet
1
Chapter 1
The Mythical 10x Programmer
3
Chapter 2
No Single Metric Captures Productivity
13
Chapter 3
Why We Should Not Measure Productivity
21
Part II
Introduction to Productivity
27
Chapter 4
Defining Productivity in Software Engineering
29
Chapter 5
A Software Development Productivity Framework
39
Chapter 6
Individual, Team, Organization, and Market: Four Lenses of Productivity
49
Chapter 7
Software Productivity Through the Lens of Knowledge Work
57
Part III
The Context of Productivity
67
Chapter 8
Factors That Influence Productivity: A Checklist
69
Chapter 9
How Do Interruptions Affect Productivity?
85
Chapter 10
Happiness and the Productivity of Software Engineers
109
Chapter 11
Dark Agile: Perceiving People As Assets, Not Humans
125
Part IV
Measuring Productivity in Practice
135
Chapter 12
Developers’ Diverging Perceptions of Productivity
137
Chapter 13
Human-Centered Methods to Boost Productivity
147
Chapter 14
Using Biometric Sensors to Measure Productivity
159
Chapter 15
How Team Awareness Influences Perceptions of Developer
169
Chapter 16
Software Engineering Dashboards: Types, Risks, and Future
179
Chapter 17
The COSMIC Method for Measuring the Work-Output Component of Productivity
191
Chapter 18
Benchmarking: Comparing Apples to Apples
205
Part V
Best Practices for Productivity
219
Chapter 19
Removing Software Development Waste to Improve Productivity
221
Chapter 20
Organizational Maturity: The Elephant Affecting Productivity
241
Chapter 21
Does Pair Programming Pay Off?
251
Chapter 22
Fitbit for Developers: Self-Monitoring at Work
261
Chapter 23
Reducing Interruptions at Work with FlowLight
271
Chapter 24
Enabling Productive Software Development by Improving Information Flow
281
Chapter 25
Mindfulness as a Potential Tool for Productivity
293
Index
303