sketching with words

Amy J. Ko
Bits and Behavior
Published in
2 min readDec 16, 2008

I had a meeting today with the Human Interactions in Programming group at Microsoft Research today, along with a few other UW people, to talk about potentials for collaboration. Lots of opportunities came out of our meeting, but one thing stuck around in my head today after David Notkin made a comment about peoples’ misperceptions about what software is and is capable of. I replied to his comment this notion that there are all kinds of versions of a software artifact: versions on paper, versions in specs, versions floating around in developers’ heads, versions in users’ heads. And of course, the real version that ends up being built. The intriguing thing here is how all of these different conceptions end up affecting the actual software artifact. For example, think of two developers discussing some broken feature and how they want to fix it: if you really listen, the discussion is about future versions of the current version and all of the quality implications of the change. They fill the discussion with descriptions of the slightly modified system at a variety of levels of abstraction, with the goal of debating the merits of the modified system. The same conversation might occur between a program manager and a marketer, discussing ways of describing what it is that is being built.

It seems to me that all of these different versions of the system are essentially sketches, in the broadest design sense. They’re verbal sketches, and likely so because programs and software systems are so tricky to draw. So when two developers debate a change, they’re essentially drawing out the modification in the ether, letting the ideas linger in the air, critique the ideas in their phonological loops. I helped with a study by Mauro Cherubini looking at developers’ sketches, and the result was quite similar: in most cases, developers use diagrams in order to support discussions about changes to code.

I’m planning some studies looking at software developers’ design discussions and this idea of a verbal sketch could be quite helpful in finding meaning in the data.

--

--

Amy J. Ko
Bits and Behavior

Professor, University of Washington iSchool (she/her). Code, learning, design, justice. Trans, queer, parent, and lover of learning.