Situated software

Clay Shirky's got a new essay up on Situated Software, a term he's using to describe software, "designed in and for a particular social situation or context." I find his essay really interesting, and I wish I had time right now for a more thorough response, but my own application commitments prevent me.

One reason the situated software approach works so well is the clear definition of the end users of the system. It enables developers to build for a very specific set of users and features, which is a wonderful foundation for success. When you don't have business people requesting new features for some hypothetical user or situation, your software tends to do what it's designed to do better. In software development, the use of personas — each persona represents a target user of the system — is one way to address application focus and scope. But for some time now, especially with regards to social software development, I've wondered if that's sufficient. Later in his essay, Clay writes:

We constantly rely on the cognitive capabilities of individuals in software design…[w]e rarely rely on the cognitive capabilities of groups, however, though we rely on those capabilities in the real world all the time.

This gets to something I've been thinking about for sometime now, the possibility of using personas to represent groups rather than individuals. In fact, I even proposed it as a talk for the last O'Reilly Emerging Technology Conference but it wasn't accepted. I'm still tickled by this idea of modeling the groups, because as Clay writes, there's a power in groups that you don't find when the same individuals operate in isolation. By creating group personas (groupas? grouponas?), perhaps we could better design and hone our software to utilize the group's power. Then we could create software that's honestly social and situated, and it wouldn't necessarily be at odds with the breadth and reach of a Web School application.