How software developers suffer from the illusion of requirements

Proponents of Agile development have long argued that users are not capable of clearly stating a comprensive, accurate, consistent set of requirements for a desired system. The truth is more problematic. Most software projects have no requirements to state – at least, that is theme of new research in Requirements Engineering.

Suppose we’ve been hired by a hospital. The hospital has just finished digitizing all patient records. Physicians need to access patient records on the computers in examination rooms but, due to privacy legislation, records must be visible only to the physicians. That is, a nosey patient shouldn’t be able to read someone else’s information over the physician’s shoulder. Based on this description, we devise two approaches – 1) information is displayed using codes that only physicians can decipher; 2) a matching pair of filter screens and glasses installed such that the screen can only be read by someone wearing the glasses. The requirements, therefore, are the features common to both approaches. Filter-glasses, for example, are not required because the secret codes approach doesn’t need them.

The first problem is that Continue reading “How software developers suffer from the illusion of requirements”

Getting gamification right through psychology and gameful design

(This post was originally published in Drum Magazine on 21 Aug 2012)

Depending on who you ask, gamification is either revolutionizing marketing, triggering an apocalypse, the key to saving the world or just another buzzword. For the time being, however, some of the UK’s strongest brands including Coca-Cola, Nike and Tesco are producing painfully ill-conceived gamification initiatives. In fact, “gamification” is accruing negative baggage so quickly that academics are already shying from the term.

Why Gamification Fails 

The logic of gamification may be stated: “games are fun and motivating; therefore, making our system more game-like will make it more fun and motivating”. Based on this apparently reasonable assertion, Gamification consultants consequently apply a fairly simple formula: Continue reading “Getting gamification right through psychology and gameful design”

Becoming a public intellectual

Few computer science academics have become public intellectuals. What is a public intellectual (PI)? Alan Lightman and Stephen Pinker explained it pretty well:

Such a person is often a trained in a particular discipline, such as linguistics, biology, history, economics, literary criticism, and who is on the faculty of a college or university. When such a person decides to write and speak to a larger audience than their professional colleagues, he or she becomes a “public intellectual.”

They went on to describe three levels of PI. At level 1, the PI speaks and writes for the public about his own discipline. At level 2, the PI speaks and writes about how his discipline “relates to the social, cultural, and political world around it.” At the level 3, the PI becomes a symbol for intellectualism and is invited to speak and write about diverse topics. Level 3’s include Noam Chompsky, Carl Sagan, Neil DeGrass Tyson, Richard Dawkins, Paul Krugman and – of course – Albert Einstein.

Becoming a level 3 PI is tall order. However, like aspiring to win a Nobel Prize, pursuing it makes for a great career even if you never quite make it. And besides, there’s no Nobel Prize for information systems or software engineering. Consequently, I’m starting this blog to record and promote my attempts at bringing design thinking and systems thinking into the popular lexicon.