task: find the optimally viable solution a compromise between all factors first factor: scope of...
TRANSCRIPT
Lecture 11Ch. 8: Starting the Solution
SE3821 Software Requirements and SpecificationDr. Rob Hasker (based on slides by Dr. Brad Dennis)
• Finally: moving forward a step• Today:• Review• Making good
choices
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
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
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.
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?
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
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?
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?
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?
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
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?
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?
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?
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
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
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).
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.
Moving into the Future-How• Our job is to find the best compromise between all
these issues and others, often opposing ones.
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.