Recently, I attended a requirements course presented by Ian Alexander. When talking about prioritising requirements, he mentioned voting as a possible mechanism, and we did a little exercise/experiment. The outcome wasn’t quite what I had expected.
We used a simple business problem throughout the course; so by the time we did this exercise we were all reasonably familiar with this little case (at least we thought being all software engineers). We voted on several requirements and predictably some showed a very clear pattern: we all agreed that these requirements where essential (i.e. should go into the first release) or thought of them as luxury (don’t do them).
However, on some requirements the votes were much less decisive. In Alexander’s opinion this should be clear warning sign that there are different assumptions lurking behind the votes and that it would be worthwhile to dig deeper since there may be more requirements hidden in those tacit assumptions.
I had never before considered to use voting in requirements gatherings but this little exercise proved a nice eye-opener. I still have to work out how that links to my previous jotting.
A softer topic for a change. I am currently reading James Surowiecki‘s The Wisdom of Crowds, a very interesting book about why many non-experts can still beat the experts not just once but consistently. Puts some humility into all of us who consider themselves experts.
Especially chapter 9 Committees, Juries, and Teams: The Columbia Disaster and How Small Groups Can Be Made To Work got me thinking. We all participate in groups: ad hoc in meetings or longer term in teams but we have this prejudice that group work is often inefficient, the design-by-committee stereotype. Hence it is worthwhile to quote Surowiecki’s conclusions from this chapter:
[firstly] … group decisions are not inherently inefficient. … [secondly] there is no point in making small groups part of a leadership structure if you do not give the group a method of aggregating the opinions of its members. If small groups are included in the decision-making process, then they should be allowed to make decisions. If an organisation sets up teams and then uses them for purely advisory purposes, it loses the true advantage that a team has, namely collective wisdom.
(It is important to understand under which conditions and for which problems crowds can be wise.)
This is strong stuff and not just fancy thinking but has been tested in various experiments. This is social sciences exciting and worthwhile.