What's DAT? Three Case Studies of Measuring Software Development Productivity at Meta With Diff Authoring Time
For software engineering researchers and practitioners, DAT provides a precise, high-coverage metric enabling rigorous experimentation on development productivity, addressing long-standing questions like the impact of types.
This paper introduces Diff Authoring Time (DAT), a time-based metric for measuring software development productivity, validated through experiments at Meta showing improvements of 14% (mock types), 33% (React compiler memoization), and >50% (code sharing).
This paper introduces Diff Authoring Time (DAT), a powerful, yet conceptually simple approach to measuring software development productivity that enables rigorous experimentation. DAT is a time based metric, which assess how long engineers take to develop changes, using a privacy-aware telemetry system integrated with version control, the IDE, and the OS. We validate DAT through observational studies, surveys, visualizations, and descriptive statistics. At Meta, DAT has powered experiments and case studies on more than 20 projects. Here, we highlight (1) an experiment on introducing mock types (a 14% DAT improvement), (2) the development of automatic memoization in the React compiler (33% improvement), and (3) an estimate of thousands of DAT hours saved annually through code sharing (> 50% improvement). DAT offers a precise, yet high-coverage measure for development productivity, aiding business decisions. It enhances development efficiency by aligning the internal development workflow with the experiment-driven culture of external product development. On the research front, DAT has enabled us to perform rigorous experimentation on long-standing software engineering questions such as "do types make development more efficient?"