an introduction to software development - requirements, part 1

14
An Introduction To Software Development Using Python Spring Semester, 2015 Class #3: Requirements

Upload: blue-elephant-consulting

Post on 19-Jul-2015

536 views

Category:

Education


3 download

TRANSCRIPT

An Introduction To Software

Development Using Python

Spring Semester, 2015

Class #3:

Requirements

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/

What We’ll Be Covering Next Time

1. How to make your customer happy.

Image Credit: http://merchantblog.thefind.com/2011/01/merchant-newsletter/resolve-to-take-advantage-of-these-5-e-commerce-trends/attachment/crystal-ball-fullsize/