an introduction to software development - requirements, part 1
TRANSCRIPT
Get-Away Vacations Wants To Promote Their Ocean Front Site
Image Credit: Dennis Jarvis
GAV believes that they need a web site that will show their current deals, they
want their visitors to be able to book hotel stays and special packages, as well as
pay for their bookings online. They also want to offer a luxury service that includes
travel to and from the hotel and a boat tour.
What Are GAV’s Requirements?
Title: Show Current Deals
Description: The website will
show current deals to
GAV’s potential customers.
Title: Book Packages
Description: A GAV user will
be able to book a special package
with extras online.
Title: Arrange Travel
Description: A GAV user will
be able to arrange travel to and
from the hotel.
Title: Book A Room
Description: A GV user will be able
to book a hotel room.
Title: Book Packages
Description: A GAV user will
be able to pay for their bookings
online.
Title: Book a Boat Tour
Description: A GAV user will
be able to book a boat tour.Image Credit: vanna
You Need More InformationWhat Questions Should You Ask?
1. How many different types of hotel rooms does the software have to support?
2. Should the software print out receipts or monthly reports (if so, then what should be on the reports?)
3. Should the software allow reservations to be cancelled or changed?
4. Is there a GAV staff interface that will allow the addition of new types of hotel rooms or packages / deals?
5. Any interfaces to other software required: credit card authorization system, travel agency, etc.?
Image Credit: sean dreilinger
How To Talk With Your Customer
Image Credit: Search Engine People Blog
When you talk with a customer you want to:
1. Get more detail about existing requirements.
2. Find out about additional requirements.
How can you get your customer to tell you about what they
may not know?
Blueskying
Image Credit: p.Gordon
Think BIG!
Use many people
Capture everything.
NO BAD IDEAS!
Wild ideas are ok.
Stay focused on core ideas.
Time Out:Bluesky The GAV Problem
Pay with credit card and Paypal
Write a review of your stay.
Order a DVD of your stay
Order room service
Choose room view
Use a MySQL database
Image Credit: Richard IJzermans
Additional Bluesky Requirements
Title: Pay with Visa/MC/Paypal
Description: Users will be able to pay
for their booking with either credit card
or Paypal
Title: Order Trip DVD
Description: A GAV user will
be able to order a DVD that captures
the highlights of their trip.
Title: Review Stay
Description: A GAV user will
be able to leave a review of their
time at the hotel.
Title: Order Room Service
Description: A GV user will be able
to specify the meals they want during
their stay.
Title: Choose View
Description: A GAV user will
be able to choose what type of view
they want from their room.
Title: Support 3,000 concurrent users
Description: Allow 3,000 users to
access the website at the same time.Image Credit: Sebastien Wiertz
What Makes A Good Requirement?
• Written from the customer’s perspective documenting what the software is going to do for the customer.
– If a customer does not understand a requirement, then consider that to be a red flag.
• Write requirements in the customer’s language. Consider them to be “user stories”: a story that tells how users would interact with the software that you are creating.
Image Credit: www.clipartsfree.net, Christchurch City Libraries
What Are “User Stories”?• Good User Stories:
– Describe ONE THING That your software should do for your customer
– Should be written in a language the your customer will understand
– Should be written by the customer – not you!
– Should be short. Consider 3 sentences to be thelimit in length.
• Good User Stories Are NOT:– A long essay that nobody will ever read.
– Be filled with technical terms that your customer does not understand.
– Talk about specific technologies that nobody knows about.
A User Story is written from the customer’s perspective. Both you and your
customer should understand what the story is trying to tell you.
When Can I Move On?
• When you have no more questions.
• Your customer is happy.
• Your user stories capture everything that your customer needs your software to do – for now!
Image Credit: massmovers.org
The Requirements Gathering Process
1. Capturing basic customer ideas.
2. Bluesky Brainstorming
3. Creating User Stories
4. Gathering customer feedback to fill in the holes.
5. Create a set of clear, customer focused user stories.
Image Credit: www.gograph.com
What We Covered Today
1. How to talk with your customer.
2. Blueskying.
3. What makes a good requirement.
4. User stories.
Image Credit: http://www.tswdj.com/blog/2011/05/17/the-grooms-checklist/