Requirements Gathering
By Allen Holub
September 15, 2005 —
(Page 1 of 2)
At the center of the design process is the notion of requirements gathering, but I think the entire notion is misguided. There is no such thing as a requirement, at least not in the way that most programmers or marketing people use the term. The only real requirement is that the program solve a real problem that vexes real users, that the program provide answers to specific questions about the real world.
When you focus on gathering discrete requirements, you focus on the minutiae: menu items, dialog-box contents and the like. All too often, the big picturethe problem that youre trying to solvegets lost and the program is a failure. It doesnt actually do anything useful.
When designing, I think about problem definition, not requirements gathering. If presented with a specific requirement, I always ask: Why do you need that? What task are you doing or what problem are you solving that would be made easier were that requirement implemented. That, is I focus on the problem itself. The methodologies I use dont use requirements lists. Instead, they use two documents that look more like essays than bullet lists.
First, a problem statement defines the users problem and any solution to that problem that can be expressed in domain terminology. It doesnt describe a computer program; rather, it focuses on the real-world problems of the users. For example, Im currently working on a system that solves problems associated with secondary-school administrationgrant management in particular. The problem statement describes how the grants are administered, not how the program will look. In fact, words like computer, system, database and user interface dont even appear in the problem statement. The audience is a school administrator, not a programmer.
The second piece of the puzzle is use-case analysis. The use cases define the tasks that the user has to perform to solve the problem you just identified. Like the problem statement, the use cases are defined using the vocabulary of the users, and are written in the context of the problem. They dont describe how you might use a computer program; they describe how you solve the problem at hand. How do grant administrators set up and administer the grants? At the core of the use-case analysis are the activities that the user performs, and the sequence in which the activities are performed. Theres even a UML diagram for capturing this information, called an activity diagram.
Share this link: http://sdt.bz/28847
Most Read Latest News Blog Resources
Appcelerator Acquires Cocoafish to Add Instant Mobile Cloud Capabilities to its Industry Leading Titanium Platform
Appcelerator Offers Messaging, Social, Location and Storage Mobile Cloud Services to All Mobile App Publishers
|
|
Taking enterprise architecture to the business side
Startup Corso is bringing out a cloud-based planning platform that ties into business plans
|
|
ComponentOne Releases a Collection of 40+ UI Widgets Powered by HTML5 and jQuery
ComponentOne has announced the 2012 release of Wijmo: a kit of UI widgets for HTML5 and jQuery development
|
|
Top five apps to manage your workload
Web applications offer new ways to track your “to-do” lists
|
Taking enterprise architecture to the business side
Startup Corso is bringing out a cloud-based planning platform that ties into business plans
|
|
Top five apps to manage your workload
Web applications offer new ways to track your “to-do” lists
|
|
Not so fast when it comes to testing in the cloud
Developers face outsourcing, virtual lab management and mobile devices as obstacles
|
|
Xceed releases UX-focused suite for Microsoft’s WPF
"Blendables" helps match user experiences to developer visions
|
Are you at risk for burnout?
Burnout is a severe problem and it can strike at any time. Here's how to tell if you are nearing the edge.
|
|
Agility, mom, and apple pie
If we're to evaluate the state-of-the-art in software development, we should start with the values espoused in the Agile Manifesto.
|
|
RIM woos developers with free tablet
How do you get more apps ported to the BlackBerry PlayBook? By giving every developer a free tablet, of course!
|
|
GitHire: Use Headhunters to Find Your Perfect Programmer
Are you a hiring manager tired of scouring the job boards? Check out this new service that will find 5 people interested in your jobs.
|
The Hidden Costs of Software Licensing
Moving beyond paper-based software licensing to more flexible, software-based licensing is a business decision. There is a growing trend tow...
|
|
Case Study: You May Need a Development Mechanic
As a contractor for a major financial player in Germany, SOBEGE, a German-based consultancy specializing in embedded IT and web services, wa...
|
|
Ensuring Software Quality at a Major International Bank
One of the world’s leading international banks has adopted AgitarOne technology for delivering generated unit tests for their Java software...
|
|
Load Testing Adobe Flex Applications
Adobe Flex applications may be different from applications you’ve worked with before. For classic HTML web applications, the server does all...
|