This post originated from an RSS feed registered with Agile Buzz
by Laurent Bossavit.
Original Post: Reverse requirements engineering
Feed Title: Incipient(thoughts)
Feed URL: http://bossavit.com/thoughts/index.rdf
Feed Description: You're in a maze of twisty little decisions, all alike. You're in a maze of twisty little decisions, all different.
I'm currently having an extended on-line discussion with a handful of smart and thoughtful folks. We explore the cognitive and technical challenges of learning Java and OO, mainly for the benefit of one of us who's an expert in other areas. This means that there is a lot of discussion going on, but we're also looking at actual Java code being posted and responding with critiques. Sort of a distributed design and implementation review, slanted to self-directed learning.
There's a range of options available for collective discussion, including forums, mailing lists, Usenet, CMS's; blogs, Wikis, and hybrids of the two - blokis, blikis, wiblog, etc.; all with a variety of different preconceptions about how the discussion is to proceed and what tasks are most valuable. Our current choice is perhaps less than optimal for what we're doing.
Wikis are great for producing texts by leveraging the palimpsest effect. They fare less well when it comes to editing code, and are not ideal for keeping track of conversations which bifurcate into multiple subjects. Blogs are great for worked-out ideas and opinions which may yet be refined through further conversation, but they assume that one person is the "primary" author. Web forums and Usenet newsgroups are focused on transient conversations, and keeping track of "threads". The former typically place some importance on authenticating the identity of posters, while the latter are free-for-alls, leading to very specific patterns of verbal behaviour (all too often abusive or inconsiderate). And so on and so forth, with hybrids producing subtle interactions between these various impacts of the medium on the message.
There ought to be a discipline of "reverse requirements engineering" concerned with finding out what goal orientations cause people to favor this or that technology. Then we could trace forward again and possibly match solution to problem in a more effective way. Or maybe that's just a fantasy...