Site icon IT World Canada

The "R" Word

 

Software is a uniquely new invention, different than anything else we humans have come up with in the past. …

 

 

 “The software-controlled electronic information system  is fundamentally different from physical labor-saving devices such as the cotton gin, the locomotive, or the telephone. Rather than extend the ability of hand motion, leg motion, or the ability to hear and speak across distances, IT systems extend the capabilities of the mind—to think, to organize and disseminate information, to create.”

David R. Brousell
Editor-in-Chief
Managing Automation Magazine
New York, October 2001

 

 

To me, this means that it is inherently difficult to know what some software should do, because it can do

whatever you need it to. … but what do you need it to do?

 

 

 

That is the question, isn't it?

 

“… the hardest single part of software development [remains] deciding precisely what to build.” 

 

Fred Brooks

Author of the 1986 paper “No Silver Bullet”

 

 

 

 

I keep saying “needs”, because the term that is actually used in software development is a lightning

 rod for debates. If you have been kind enough to read this far, you know I am talking about “Requirements”.

 

 

 

 

If you are going stick with me going forward, you will see that I am a firm believer that efficient and

effective requirements discovery is a key contributor to successful delivery of good software. It is

not the only contributor to success, but it is part of the mix. I do know that bad or non-existent

requirements are a pretty good predictor of a failureto deliver good software.

 

 

 

The real issue of interest is what is a requirement. The answer is multi-faceted and of course

still a subject of debate, but that keeps things interesting and worth writing about.

Exit mobile version