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
Measuring Productivity: No Silver Bullet
The Mythical 10x Programmer
No Single Metric Captures Productivity
Why We Should Not Measure Productivity
Introduction to Productivity
Defining Productivity in Software Engineering
A Software Development Productivity Framework
Individual, Team, Organization, and Market: Four Lenses of Productivity
Software Productivity Through the Lens of Knowledge Work
The Context of Productivity
Factors That Influence Productivity: A Checklist
How Do Interruptions Affect Productivity?
Happiness and the Productivity of Software Engineers
Dark Agile: Perceiving People As Assets, Not Humans
Measuring Productivity in Practice
Developers’ Diverging Perceptions of Productivity
Human-Centered Methods to Boost Productivity
Using Biometric Sensors to Measure Productivity
How Team Awareness Influences Perceptions of Developer
Software Engineering Dashboards: Types, Risks, and Future
The COSMIC Method for Measuring the Work-Output Component of Productivity
Benchmarking: Comparing Apples to Apples
Best Practices for Productivity
Removing Software Development Waste to Improve Productivity
Organizational Maturity: The Elephant Affecting Productivity
Does Pair Programming Pay Off?
Fitbit for Developers: Self-Monitoring at Work
Reducing Interruptions at Work with FlowLight
Enabling Productive Software Development by Improving Information Flow
Mindfulness as a Potential Tool for Productivity