A few weeks ago I talked about the Triple debt model at the University of Waterloo where Jesse Hoey saw an interesting connection from the triple debt model to Peirce’s semiotic triadic model developed in the 19th century. Peirce's triadic semiotic model of meaning is a useful lens for thinking about the Triple Debt Model of Software Health. In brief, semiotics is the theory of how signs produce…
In my last post, I described how a small agile or startup project can have low cognitive debt (where everyone has a good understanding about the goals of the project and what we are doing) but high intent debt (nothing is documented for future team members or agents to refer to). I used the analogy of a missing stop sign to describe this situation: the locals know what to do, but human or agentic…
The Missing Stop Sign Throughout Ireland where I grew up, it was common to encounter intersections with no stop sign. The locals knew which car (or tractor!) had the right of way. And things were generally ok. Until a driver from out of town shows up! I’ve been thinking about this a lot since publishing the Triple Debt model [1]. The Missing Stop Sign: Why it May or May Not Matter. One of the most…
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 discussion across different communities. Rather than respond thread by thread, I want to synthesize…
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 notion that the accrued debt is a property of the code and effort needs to be spent…
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 a framework developed by McGrath and Runkel back in the 70s. We apply our…
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 2017 (lead by Jacek Czerwonka), collaborating with colleagues from…
I presented a keynote at ICSE’2019 (the International Conference on Software Engineering Engineering ) in Montreal, Canada. In this talk I challenged our community to consider that although much of our research is aimed at improving developer productivity or supporting developers in some way, we often do not directly study human and social aspects in our empirical studies, bringing some aspects of…
Today, I’m presenting a short paper at ESEM 2017 on research I conducted together with my colleagues at Lund University over the past year! We spent over a year reading and discussing papers on Design Science , to understand how design science may be a useful lens for understanding and reflecting on software engineering research. We furthermore suggest using a visual abstract template as a way to…