The text was clearly written in an era when mainframes was just being replaced by personal computers. But from the sayings of “the master programmer”, and other invaluable gems, it’s clear that the human side of our beloved computing, and especially the management of programmers, have not changed much at all.
When planning a software development, especially if it involves a team, I like to sit down with the client, and together we write a list of the expected features of the software as seen from the user’s perspective. The list has three columns, as recommended in SCRUM best practices, so it’s best done in a spreadsheet, and the columns are written to complete this sentence:
“As a ___(role)___, I ___(need feature)___, because ___(business reason)___.”
Everyone immediately understands the first two. But the third one, it looks like over-engineering. It’s not really necessary, is it? Surely the guy who came up with this form never had a real project on his hands? Who has time for such things?