As I work extensively with companies developing computer software and hardware, I am proud to be a member of the British Computer Society (the BCS). I receive regular emails and magazines and occasionally attend local meetings. This week an email newsletter alerted me to a blog by John Morris on the BCS web site entitled "Data Migration and User Stories".
Morris writes in praise of "User Stories" used in Agile programming which are (and here he quotes from Wikipedia) "A software system requirement formulated as one or two sentences in the everyday language of the user". When I read this I didn't know whether to cheer or to weep. Here is a technical expert in a highly technical field who is at last paying attention to the fact that the system he is building needs to be used by real-world end users - not techies or geeks - to do real-world jobs. I suppose any consideration of user needs is a huge improvement on no consideration at all, so I think I'll err on the side of cheering.
But putting the needs of the real end user at the focus of technology projects is something everyone should all aspire to, and technical authors, usability specialists, and interface designers have been fighting on behalf of real end users for decades. It's been a fight because in most cases software developers and other technical experts dismiss our concerns because we're not programmers. The only things that are new about Agile "User Stories" is that a it's a cute name for thinking about real end users, and it's part of a popular development methodology which happens to be the latest trend.
I've not been a big fan of Agile, because in most of the implementations I've seen the daily scrums and the like focus on minutiae of code, and the big picture goals - helping real-world end users do their jobs - get lost. But if Agile development teams really do develop user stories, and really do keep referring back to them to make sure their project is on track, then there is a glimmer of hope.