A week ago, I wrote about how Generative and Agentic AI may be amplifying what I’ve been calling cognitive debt: the accumulated gap between a system’s evolving structure and a team’s shared understanding of how and why that system works and can be changed over time. The post sparked thoughtful...

The term technical debt is often used to refer to the accumulation of design or implementation choices that later make the software harder and more costly to understand, modify, or extend over time. Technical debt nicely captures that “human understanding” also matters, but the words “technical debt” conjure up the...

Since the beginning of the pandemic I have studied developer productivity while working from home. The following is one talk I gave as a keynote at ICGSE and ISSP 2021 (co-located with ICSE 2021) After the Pandemic: Rethinking Developer Productivity (There’s more to it than you think) from Margaret-Anne Storey...

We recently published a paper that describes a framework to highlight human and social aspects in empirical software engineering research. This framework brings elements from the Design Science research we have done, research my student Courtney Williams did for her Master’s thesis, the keynote I gave at ICSE 2019, and...

We presented our TSE 2019 paper that describes a theory of developer productivity and satisfaction at ICSE 2020, the International Conference on Software Engineering, scheduled for Seoul, Korea. The research in this paper followed a three month sabbatical I spent working with the 1ES (one engineering system) at Microsoft in...