sketching with words

I had a meet­ing today with the Human Inter­ac­tions in Pro­gram­ming group at Microsoft Research today, along with a few other UW peo­ple, to talk about poten­tials for col­lab­o­ra­tion. Lots of oppor­tu­ni­ties came out of our meet­ing, but one thing stuck around in my head today after David Notkin made a com­ment about peo­ples’ mis­per­cep­tions about what soft­ware is and is capa­ble of. I replied to his com­ment this notion that there are all kinds of ver­sions of a soft­ware arti­fact: ver­sions on paper, ver­sions in specs, ver­sions float­ing around in devel­op­ers’ heads, ver­sions in users’ heads. And of course, the real ver­sion that ends up being built. The intrigu­ing thing here is how all of these dif­fer­ent con­cep­tions end up affect­ing the actual soft­ware arti­fact. For exam­ple, think of two devel­op­ers dis­cussing some bro­ken fea­ture and how they want to fix it: if you really lis­ten, the dis­cus­sion is about future ver­sions of the cur­rent ver­sion and all of the qual­ity impli­ca­tions of the change. They fill the dis­cus­sion with descrip­tions of the slightly mod­i­fied sys­tem at a vari­ety of lev­els of abstrac­tion, with the goal of debat­ing the mer­its of the mod­i­fied sys­tem. The same con­ver­sa­tion might occur between a pro­gram man­ager and a mar­keter, dis­cussing ways of describ­ing what it is that is being built.

It seems to me that all of these dif­fer­ent ver­sions of the sys­tem are essen­tially sketches, in the broad­est design sense.  They’re ver­bal sketches, and likely so because pro­grams and soft­ware sys­tems are so tricky to draw. So when two devel­op­ers debate a change, they’re essen­tially draw­ing out the mod­i­fi­ca­tion in the ether, let­ting the ideas linger in the air, cri­tique the ideas in their phono­log­i­cal loops. I helped with a study by Mauro Cheru­bini look­ing at devel­op­ers’ sketches, and the result was quite sim­i­lar: in most cases, devel­op­ers use dia­grams in order to sup­port dis­cus­sions about changes to code.

I’m plan­ning some stud­ies look­ing at soft­ware devel­op­ers’ design dis­cus­sions and this idea of a ver­bal sketch could be quite help­ful in find­ing mean­ing in the data.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">