How not to specify requirements
On Monday individuals from the four websites who collected TTC website suggestions from the Toronto community through their weblogs released their findings to the TTC and the general public. They did so in the worst way possible; using a spreadsheet. These are four fairly successful websites, all running popular weblogs and collecting their suggestions from local web users in their comments sections, also on the web. Wouldn’t it have made sense to also release their findings on, oh I don’t know, a web page? Apparently that would have made way too much sense.
Let’s ignore that not everyone has Microsoft Excel on their machines. (I don’t and instead had to wait for that ugly behemoth, NeoOffice, to sputter to life and display the data.) Let’s also ignore that if a spreadsheet was the answer, it could have been released in CSV format. Instead, let’s look at the data. (Those of you without Microsoft Excel will have to follow along using the image below.)
The open letter to Adam Giambrone describes the spreadsheet as “easy to use”. When you say something is easy to use, it had damn well better be. Personally, I had to stare at the spreadsheet for a few minutes before I could make heads or tails of it. Describing something as easy to use when it isn’t has the adverse effect of making anyone who doesn’t find it intuitive feel like an idiot.
First, the data is not a table and the first column seems to have absolutely no relation to the matching rows in the other columns. I have no idea what that first column is supposed to represent. Is it the cities from which the comments originated? Who knows.
Second, the acronyms and numbers you see (SPC 3, RT 4, etc.) are supposed to describe the website and comment number which made the suggestion in that column. There’s no legend, so I can only assume that “TI” means Torontoist.com and “RT” means Reading Toronto, “SPC” means Spacing and “BT” means blogTO. No website addresses or comment URLs are given so when this spreadsheet is printed or passed around the internals of the TTC, nobody will know what the heck those letters and numbers mean and won’t know where to go for more information.
Third, the spreadsheet isn’t even using spreadsheet functionality. It’s a table, but it’s not. The comment references are comma-separated across multiple rows, so there’s no way to do anything meaningful with this data such as sum the columns and graph the results, which is what everyone wants to do with spreadsheets. To find comment totals, you will have to manually count the references.
Fourth, you can’t see it from the image but my website is misspelled in row 22. It’s crazedmonkey.com, not crazymonkey.com. Thanks, guys.
Fifth, many of the comments referenced do not match the feature under which they appear (eg. TI 23 under the independent server suggestion). Also, RT 14 does not exist.
How would I have captured the website findings? First, I wouldn’t have made the mistake to release it in spreadsheet form. Instead, a simple HTML page would do the trick. The data can be expressed as a list using CSS styling wherever appropriate:
<ol> <li>Suggestion 1 <ul> <li><a href="link to comment">website and comment author or number</a></li> … </ul> </li> … </ol>
With the above format, every comment has a link to check. The file or link can still be passed around with no loss of information.
All of this begs the question, why even bother with a findings document at all? The comments are in an open forum which everyone can read and from which they can draw their own conclusions. Releasing a difficult to understand requirements document does nothing to help, but actually serves to inhibit. Who is going to take seriously anyone who creates a spreadsheet like that and passes it off as helpful? It’s well-intentioned but there’s a reason why the requirements gathering process, particularly in the software and usability fields, is left to the experts, or at least those with domain experience.
Update: I have since remixed the suggestion matrix into a HTML page as described above.
January 25, 2007 at 8:23 am
I just forwarded a link to this article to Robert of ReadingToronto, Ian — I hope that he can clarify a few things for you.
January 25, 2007 at 8:53 am
Hi Ian, thank you for your critiques of the spreadsheet I put together. First, my apologies for getting your URL wrong! There were so many postings to go through that, since this is not the only project I’m involved in, I had to do it during those hours I might otherwise do useful things like, say, sleep.
When I wrote “Easy to use” what I meant was that it takes a lot of information and organizes it in a graphical way – prioritizing it by the most desired recommendations to the least. According to the people who have looked at the document it succeeds in conveying that information in an “easy to understand” way.
The one anomaly was as follows: Many people offered web sites they thought were examples of how to do it right. Since they are references they were put in the first row and are highlighted by a darker border.
As to the website comments references being hard to understand, this is a function of time available. Still, everyone I showed the spreadsheet to understood the references so I did not commit any further time to making a legend. Remember, the spreadsheet was not originally meant for the greater community but when people asked for it we decided to make it accessible.
I think that the overall initiative generated some great input. I’d be happy to work with you Ian if you have the time to further enhance the document. As a volunteer effort we have all done something worthwhile that may just help make the city a little bit better.
Cheers,
Robert
January 25, 2007 at 10:51 am
Aren’t you being a bit hard on theses guys? After all, they were trying to do a public service. I also see that the column on the left has a heading that describes what it is.
January 25, 2007 at 8:32 pm
[…] Ian Stevens’ weblog « How not to specify requirements […]
January 25, 2007 at 8:48 pm
Martin, I understand that these guys prepared the report out of the goodness of their hearts, but this might be the only input the TTC receives and I don’t want them to throw it to the wayside simply because it’s difficult to follow. The comments referenced in the spreadsheet contain data which the column headings can’t describe, and to have them ignored simply because no links exist would be unfortunate. As you can see, I’ve rectified the problem with my remixed document. It’s not perfect, but at least it requires less work from the reader.