Gathering User Requirements: Meetings, Observation & Surveys

Start Your Free Trial To Continue Watching
As a member, you'll also get unlimited access to over 8,500 lessons in math, English, science, history, and more. Plus, get practice tests, quizzes, and personalized coaching to help you succeed.
Free 5-day trial
It only takes a minute. You can cancel at any time.
Already registered? Login here for access.
Start your free trial to take this quiz
As a premium member, you can take this quiz and also access over 8,500 fun and engaging lessons in math, English, science, history, and more. Get access today with a FREE trial!
Free 5-day trial
It only takes a minute to get started. You can cancel at any time.
Already registered? Login here for access.
  1. 0:05 Introduction
  2. 1:59 Document Review
  3. 2:23 Observation
  4. 3:20 Meetings & Surveys
  5. 4:10 The Requirements Document
  6. 6:28 Lesson Summary
Show Timeline
Taught by

Lee Webber

Lee holds a master's degree in Information Systems Management. He has taught college-level computer classes.

This lesson introduces requirements gathering and describes the four tools programmers use to find out what their customers want: document gathering, interviews, observation and surveys.


Before you start writing any program, you need to know what it is supposed to do. And that is the definition of requirements gathering - finding out what the program you are going to write is supposed to do.

Requirements gathering has four different tools that you may use: document gathering, interviews, observation and surveys.

As you gather your requirements, you will write them up in a requirements document. You will have the customer review this document to make sure that you both are in agreement about what the program will do.

In this lesson, we'll look at each of these tools used to start and update the requirements document. We will look at updating and refining it in another lesson.

Requirement Gathering: The Pancake House

Fred says, 'So, Lee, you're going to try and program Foobar to make pancakes. I've been thinking of getting a robot like him to replace my grill man, who is retiring in three months. I want to name it 'Foober.' Do you think I could use your program in my new grill-bot?'

My answer to Fred is, 'Let me get back to you...'

Before I can program Foober, I need to know what Fred wants him to do. I have a general idea of what a grill cook does, and I also know that what a cook does at one place is probably different from what another cook does somewhere else. Does Fred want Foober to make just pancakes? What kind of pancakes - just plain ones, or should they be fancy too, like blueberry or with bacon cooked in? What about crepes? Are pancakes the only thing that the grill cook makes, or is he responsible for other things, like bacon and eggs?

Document Review

Here's how I approach the problem: for starters, I get a copy of the menu. That will tell me what kind of pancakes Foober will have to be able to make.

Then, I'll need copies of the recipes for each flavor of pancake on the menu. The recipes will tell me what ingredients Foober will need for each pancake and how to mix and cook each one.

But wait, there's more!


Fred and I decide that I will need to spend some time in the kitchen, observing and taking notes about what the cook does. So, I do. I take a few days and hang out in the kitchen. I discover that the cook not only cooks up the pancakes, she also 'plates' them and garnishes each plate based on the flavor of the pancakes. She then puts the order at the pick-up station and notifies the appropriate server that it's ready.

Observation is important when gathering information for program requirements.
Requirments Gathering Observation Step

She tells me that she not only makes the pancakes, but is also responsible for cooking up anything else on the menu that comes from the grill, like bacon, sausage or eggs.

She also tells me that she doesn't do prep work. Someone else whips the whipped cream or washes and slices the fruit. Someone else also makes the pancake batter.

As I suspected, I'm not just writing code so Foober can make pancakes. I'm writing code to make Foober a competent grill-bot.

Meetings and Surveys

When a business is being automated for the first time, that may be a good time to look at what the business is doing and how it does what it does.

In this case, Fred thinks that making some changes to the menu might be in order, so he and I sit down and put together a customer survey. Because Fred's customers are important to his business, he wants to find out what the customers like (and don't like) about The Pancake House and the menu.

Finally, I need to know when he wants me to deliver the programs. Fred tells me that Foober won't be delivered for three months, and that the code needs to be ready to run when he arrives.

The good news is, I can develop and test my code using Foobar at home - but this is definitely going to cost them more than just a few free pancake breakfasts!

Getting feedback from customers can help you decide what to include in your program.
Requirements Gathering Customer Survey Step

The Requirements Document

I now have enough information to write up a requirements document, defining what I think the customer wants from the project. Notice that I didn't say, 'What the customer wants!' That's because with just one round of requirements gathering, it's very likely that both Fred and I have missed things. This is why part of the process includes 'requirements validation,' which is discussed elsewhere.

Based on what I found out talking with Fred and hanging out in the kitchen, the outline of my requirements document looks like:

  • Write program to make Foober a competent grill-bot:
    • Know how to make each pancake dish on the menu
    • Know how to prepare other grill items on the menu, such as eggs, sausage or bacon
    • Know how to plate and garnish each dish on the menu
    • Know how to place orders at the pick-up station
    • Know how to call the appropriate server to pick up an order

Unlock Content Over 8,500 lessons in all major subjects

Get FREE access for 5 days,
just create an account.

Start a FREE trial

No obligation, cancel anytime.

Want to learn more?

Select a subject to preview related courses:

People are saying…

"This just saved me about $2,000 and 1 year of my life." — Student

"I learned in 20 minutes what it took 3 months to learn in class." — Student

See more testimonials

Did you like this?
Yes No

Thanks for your feedback!

What didn't you like?

What didn't you like?

Next Video
Create your Account

Sign up now for your account. Get unlimited access to 8,500 lessons in math, English, science, history, and more.

Meet Our Instructors

Meet all 53 of our instructors