Channels ▼
RSS

Design

Requirements Are Required Reading


To my way of thinking, the basic requirement for a requirements document is that, upon receiving it, I never again have to speak to the person who gave it to me. Of course, that might say more about my anti-social behavioral patterns than my ability to ramrod a project out the door. It goes without saying (but I'll say it anyway) that I'm no expert when it comes to requirements; I leave that honor to the likes of Joe Marasco and Karl Wiegers who've built companies and written books on the topic of requirements, particularly when they have to do with software development.

Of course, another basic requirement of requirements is that all project participants should agree at the outset what they're talking about—starting with what requirements are. And therein lies the first rub, says Karl Wiegers, explaining that "different people have many different ideas of what requirements are and are not." But I expect that Wiegers and I would agree that requirements are fundamentally a communication—not a technical—activity. Something else Wiegers and I would probably agree upon is that Ian Sommerville and Pete Sawyer's definition of requirements is pretty darn good: "Requirements are...a specification of what should be implemented. They are descriptions of how the system should behave, or of a system property or attribute."

Wiegers goes on to say that for any project, there needs to be three levels of requirements:

  • Business requirements that define the "why" of the product, and identify benefits for both customers and the business.
  • User requirements that describe the tasks or business processes users will be able to perform with the product.
  • Functional requirements, which describe the specific system behaviors that must be implemented.

All in all, requirements seem so fundamental and so important that projects with poorly delineated requirements should never leave the gate. And the bigger the project, the more important clear requirements are, something you'd think that large organizations with multibillion dollar projects would know. Well, think again—especially when that "large organization" is a government bureaucracy.

Here's the deal: It's not like the U.S. census comes as a big surprise. After all, it's taken place every decade for the past 200+ years. Which seems like plenty of time to get the process right. But that's not the case with the upcoming 2010 census, which, at a cost of around $11 billion, will be the most expensive census ever.

Driving up the cost of the 2010 census is the Harris Field Data Collection Automation (FDCA)—essentially a mobile hand-held device on the front end, a database on the back end, and a bunch of stuff like security and communications in between—which was supposed to save taxpayers $1 billion, but instead may end up costing $3 billion extra. Why? Because, according to people who participated in real-world trials, the mobile FDCA system (which will be used by 600,000 temporary census takers) is just too doggone hard to use.

How serious is the problem? Serious enough that the Census Bureau is going back to the more traditional pencil-and-paper approach of conducting the census (www.nextgov.com/nextgov/ng_20080403_9574.php). A suggested alternative is to use web-based cell phone applications that run on existing network infrastructures, but that's probably too simple an idea for a big bureaucracy.

Harris is standing behind its FDCA system, claiming that the computers actually are easy to use. "After you spend about 30 minutes to an hour familiarizing yourself with it, it's as easy to use as a modern cell phone," said a Harris spokesman. Well now, that's comforting. After 30 minutes of fiddling with a new cell phone, I'm lucky I haven't chucked it.

But the real problem seems to be in the area of requirements. According to the Census Bureau, there was a communication problem. No, not a "telecommunication" problem, but "a lack of clarity in defining technical requirements...especially with regard to the testing and functionality." As you might guess, the FDCA requirements documents are voluminous (see www.census.gov/procur/www/fdca/fdca-rfp.html) and slogging through them no doubt led to a lot of flaws. Whatever. The bottom line is that, thanks to poorly defined requirements, the Harris FDCA is difficult to use and will cost you and me a lot of tax dollars.

Oh well, there's always the 2020 census.

Jonathan Erickson

Editor-in-Chief

jerickson@ddj.com


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video