task: find the optimally viable solution a compromise between all factors first factor: scope of...

20
Lecture 11 Ch. 8: Starting the Solution SE3821 Software Requirements and Specification Dr. Rob Hasker (based on slides by Dr. Brad Dennis)

Upload: laura-chase

Post on 18-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Lecture 11Ch. 8: Starting the Solution

SE3821 Software Requirements and SpecificationDr. Rob Hasker (based on slides by Dr. Brad Dennis)

Page 2: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

• Finally: moving forward a step• Today:• Review• Making good

choices

Page 3: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Review• Business Use Case Workshops: useful for fundamental

changes• Apprenticing: useful for re-implementing significant parts

• Note: parts of the business use case

• Reusable Requirements: have history of similar projects• Quick & Dirty models: useful when replacing significant part of

work• Prototypes: generally useful• Mind maps: record interactions; planning• Document Archeology: assumes existing system,

documentation

Page 4: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Brown Cow

• Task: find the optimally viable solution• A compromise between all

factors• First factor: scope of product• Want most value for

customer at a cost the client can afford• Must be as pleasing as

possible for customer

Page 5: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Example: grocery delivery service

Customer Take

Order Get Paid

SaveOrde

rStoc

k

Customer

recordsQueu

e

CCClerk enters the

order information into the system.

The system stores it.Accountin

g

Clerk enters the order & payment information into the system. The system verifies

the CC and saves the order.

An IVR (or website) takes the order and processes the

payment.

The system diagnoses the

customer’s shortages and

places the order.

Page 6: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Example: grocery delivery service

Customer Take

Order Get Paid

SaveOrde

rStoc

k

Customer

recordsQueu

e

CCClerk enters the

order information into the system.

The system stores it.Accountin

g

Clerk enters the order & payment information into the system. The system verifies

the CC and saves the order.

An IVR (or website) takes the order and processes the

payment.

The system diagnoses the

customer’s shortages and

places the order.

Key question:what is our scope?

Page 7: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Consider the Users• Primary user: a human• Types of systems with no user: some embedded,

extensive calculation

•Given desired functionality, must make product fit human’s expectations• If UI expensive to build, observe real users working with prototypes• Alternative: walk scenarios with personas

•What you and your team want is irrelevant• The user determines the experience

Page 8: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Designing the User Experience (UX)• Two principles of UX• Know thy user• You are not the user (generally)

• If you don’t know your users and why they do or don’t do what they do or don’t do then you can’t design a good experience for them.• First, who is this for?• Do they have special requirements?• What mental models do they have?• When, why & how would they use the product?• Are there any special accessibility concerns?

Page 9: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

UX – Task Analysis• What is the primary action the users need to perform?• What are the secondary tasks?• What kind of help do they need?• What are the possible error states?• Are there any fringe cases that need to be addressed?• Are there different ways to accomplish the primary

action?

Page 10: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

UX – Function Allocation• Figuring out what needs to handle the functions you

determined need to handle.• Are there multiple systems involved?• What should happen on the front-end?• What should happen on the back-end?• What should be automated vs. what should manual?

Page 11: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

UX – Progression• Start with low fidelity sketches.• Iterate to mid fidelity wireframes.• Generate some high fidelity prototypes.• Do some usability testing.• Next is the visual design.• Finally, develop the UI.• What do you think a low fidelity UI would look like for

the grocery delivery business at the various boundaries?Adapted from Justin Smith @tutsplus

Page 12: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

UX - Progression

Customer Take

Order Get Paid

SaveOrde

rStoc

k

Customer

recordsQueu

e

CC

What would this system look like?

Accounting

What about this one?

How do you imagine this

system would be?

Or this one?

Page 13: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

More Innovation Considerations• People love convenience and are willing to pay for it

• How to make the work more convenient?

• People love feeling connected• How connect user to the business?

• People love information• Does the information you produce convey the intended message?

• People love feeling good• Can your product make the user feel good about themselves, or

about their use of the product?

• Do they feel they trust you and that you’re responsive to their needs?

Page 14: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

What really triggers the business event?

Customer Take

Order Get

Paid

SaveOrde

rStoc

k

Customer

recordsQueu

e

CC

What triggers this event?

Accounting

What is this trigger?

Or this one?

What do you think the real

trigger is here?

Page 15: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Adjacent Systems• Key issue in determining scope: what are our adjacent

systems?• Three types of adjacent systems:• Autonomous: acts independently of your work but has

connections• Does the system choose to be autonomous or is it forced to be so by

design? • Example: customer mail-in forms

• Cooperative: collaborate intimately with your work in the course of executing a business use case• May be internal processes/part of the work itself• Innovation here is directed at performance, maintainability, flexibility

• Active: humans who interact with your work• The greatest opportunities for innovation

Page 16: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Design Decisions• You will be making many decisions that involve trade-

offs, compromises, cost benefit analysis• The why of these decisions should be captured and

recorded• This documentation comprises the defense for your

solution

Page 17: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Product Use Cases• You and your stakeholders have agreed to the Future-

What business use case, and you’ve decided your automation boundary, it’s time to develop the product use case scenario.• Recall the Check-in use case from the Scenarios

lecture (Lecture 9).

Page 18: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Passenger Check-in1. Locate the passenger’s reservation.2. Ensure the passenger is correctly

identified and connected to the right reservation.

3. Check that the passport is valid and belongs to the passenger.

4. Attach the passenger’s frequent flyer number to the reservation.

5. Allocate the seat.6. Get the correct responses to the

security questions.7. Check the baggage onto the flight.8. Print and convey to the passenger the

boarding pass and bag tags.9. Wish the passenger a pleasant flight.

• The product asks for the passenger’s identity or record locator.

• The passenger supplies one or the other and the product locates the passengers reservation.

• The product asks for a frequent flyer number if it is not already attached to the reservation.

• The product asks for and scans the passport if needed.

• The product asks for the number of bags and for answers to the security questions.

• The product checks the baggage onto the flight and prints the claim checks.

• The product prints the boarding pass or electronically sends it to the passenger.

• The product directs the passenger to the bag drop and departure gate.

Page 19: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Moving into the Future-How• Our job is to find the best compromise between all

these issues and others, often opposing ones.

Page 20: Task: find the optimally viable solution A compromise between all factors First factor: scope of product Want most value for customer at a cost the

Group Exercise

• With your project group, take 1 Business Use Case and draft two competing alternatives for automation boundaries.• Be prepared to present them to the class.