Requirements Engineering Southern Methodist University CSE 7316 1 Module 4 Understanding the problem domain 2 Requirements and Design Patterns Orderly engineering starts with some type of design pattern we know we want a bridge Rigorous research and definition of requirements is possible only in relation to a specific design pattern what type of traffic to carry, auto and/or pedestrians, etc 3 Requirements and Design Patterns A ferry solution would pose an entirely different set of questions thats why you cannot get too detailed in specifying what you want - you limit the solution space Common complaint from customers, programmers, testers, etc “Requirements are so abstract that nobody can understand them” 4 Requirements and Design Patterns Corresponding to every design pattern is a set of questions to ask about the problem that the pattern solves. A requirements document answers these questions. Writing requirements answers a specific set of questions should be precise enough to allow the engineer to apply the pattern to create a new design 5 Software Problems All software problems are of this form: “Configure machine M to produce effects R in domain D.” M = computer to be programmed R = the requirements D = part of the world in terms of which the requirements are defined. 6 Software Problems Fundamental questions to answer when writing software requirements; what type of machine do you want configured? what effects do you want the configuration to produce? what are the properties of the outside world that the machine can exploit to produce those effects? 7 The information problem The task of the s/w developer is to configure the computer into an information system (combination of h/w and s/w) to supply information about the state of some part of the world Questions to answer; 1. what machine is to be configured to act as the information server? 8 The information problem 2. what questions can the user ask of the information system? 3. what part of the world do these questions concern and what events happen there? 4. how can the machine get access to these events? (2) provides the requirements (3) and (4) provide info about the domain (1) usually fades into the background 9 Requirements Engineering Requirements are the desired effect Interfaces, program code, etc are the means to bring it about Requirements engineering the design of requirements most critical part of many projects the desired effects - someone has to think of these desired effects 10 Requirements Engineering Software quality is not just meeting the requirements Software fails many time because people refused to buy or use the software because the problem that it solved was of no concern to them they preferred to leave that problem unsolved Requirements can be of low quality! 11 Requirements Engineering There are many ways of meeting requirements user interface solutions take on many forms What makes requirements different from design defines a problem such that we can say that the interfaces and program code either solve it or fail to solve it 12 Requirements Engineering Inventing requirements is a matter of inventing a well defined problem to solve Well-defined problem; a set of criteria according to which proposed solutions either definitely solve the problem or definitely fail to solve it, along with any ancillary information, such as which materials are available to solve the problem. 13 Requirements Engineering Must design against an open-ended problem Open-ended problem; a situation in which we believe that some improvement is possible, but we have no definite criteria for measuring improvement. Discovering new criteria is, itself, part of the problem. 14 Requirements Engineering Options to building a bridge dig a tunnel widen existing roads narrow existing roads (people stop driving and move closer -> culture changes….) What is the requirement? to make traffic move faster? to get people to work faster? 15 Requirements Engineering All engineering begins with open-ended problems no requirements - just the belief that improvement is possible Two common mistakes settling on strict evaluation criteria too early writing requirements so vaguely that they don’t define any requirements at all 16 Requirements Engineering Requirements engineering starts with an open-ended problem and finish with a well-defined problem If you haven’t made the decision to write software, you are not ready to hand the problem off to software engineers -> you are still doing requirements 17 Summary Generalized problem solving methods don’t work , at least not well enough to base a method of requirements-writing on them Do not try to document an entire openended problem in a requirements document 18 Summary Tailor the information in requirements documents to specific kinds of software and specific known design patterns and programming techniques Provide information about specific events in domain D 19 The Problem Domain 20 The Problem Domain Requirements define the problem to be solved by the software; they do not describe the software that solves it customers rarely specify software behavior more interested in problem domain Problem domain; part of the world where the computer is to produce desired effects; and the means to produce them 21 The Problem Domain Indirect means users whom the computer can have do tasks motors that can be turned on and off people or other machines to supply information Direct means behavior of I/O devices keyboards screens printers 22 The Problem Domain Problem domain is not just the world outside the computer without knowledge of the I/O devices the problem becomes abstract sometimes the problem domain does not exist outside the computer word processor CAD program these programs create the problem domain 23 The Problem Domain requirements are specifically for the I/O devices to behave a certain way 24 Requirements Requirement; the effects that the computer is to exert in the problem domain, by virtue of the computer’s programming what the customer wants to achieve in the problem domain truck, cargo, driver, road are all objects in a problem domain 25 Software Designs Three principle designs design of the requirements design of the interfaces that bring about the requirements design of the program that makes the computer behave as specified by the interface design 26 Problem domain Machine domain Pick up cargos Two worlds Database schemas Haul cargos to destinations Linked lists Print reports Specification Requirements subroutines interfaces Three designs 27 Program Validation of Interfaces and Programs It should always be possible to prove the validity of the interface design on the basis of the description of the problem domain plus the requirements 28 Validation of an interface design Premises: the behavior described in the I/F design occurs the computers environment matches th description of the problem domain Conclusion the requirements are fulfilled If the conclusion does not follow from the premises, the I/F design is invalid 29 Validation of a Program Premises; the program consists of specified instructions the platform on which the program runs possesses the specified library, OS, H/W Conclusion the behavior described in the I/F design occurs 30 More simply put.. A program is validated against a specification A specification is validated against requirements and the problem domain Therefore without requirements there is no way to validate a program design (to connect the program to the customers desires) 31 Requirements Writing down requirements is a device to help people work together on the same project Requirements; designed in response to an open-ended problem Interface design; derives from a well defined problem (provided by requirements) 32 Types of information in a problem domain description Information Examples Entities in the domain and attributes Trucks; manufacturer, maximum cargo weight, maintenance records, whether includes refrigeration Hurricanes; name, location, shape, direction of rotation, etc Cardinalities of relations between entities For every customer, there can be zero or more invoices; for every invoice, there is exactly one customer Events that the entities are capable of Trucks move along roads, from city to city. A new truck can be bought. The company can sell or otherwise retire a truck from service. A hurricane can move, possibly overlapping a city 33 Problem Domain Description Software designers need knowledge of the problem domain requirements or descriptive statements are not enough well written requirements document contain more information about the problem domain than requirements statements Requirements document must describe the problem domain in sufficient detail 34 Evolving the requirements Impossible to write excellent requirements at the beginning of a complex project evolves from our knowledge of interfaces and programming incrementally developed software Two strategies start with sketchy requirements and add detail at each stage spiral approach 35 NASA Space Program Strategy of rigorously solving a series of progressively more complex problems Goal: Land a man on the moon and return him safely to the earth far too ambitious to attempt all at once numerous complete spacecraft were designed and launched for the purpose of learning about various problems with space flight 36 NASA Space Program Project Mercury; solved problems of orbital dynamics and human life support in space Project Gemini; solved problems of extravehicular activity and space docking Project Apollo; solved the final problems of landing a man on moon and returning Each experience improved the requirements for the next design 37 What software requirements are not Not top-down mainly concerned with the program and not the problem domain Not sketches may be too abstract - no well defined problem Not what versus How everything in engineering is what and everything is how 38 39 Problem Framing 40 Knights Tour - Before 41 Knights Tour - After 42 Framing the Problem First step in documenting software requirements is to frame the problem definite form definite parts definite relations between the parts Makes the details fit into a systematic framework to be analyzed without becoming overwhelmed 43 Domains Each domain contains a set of individuals distinguishable things about which we want to make a statement trucks, cargo, drivers, etc the physical part of the world subroutines, data structures, I/O potential individuals; customers Individuals are distinguishable from each other 44 Separation into Domains Machine domain Problem domain Pick up cargos Haul cargos to destinations Database schemas subroutines interfaces Linked lists Print reports Specification Requirements 45 Program Domains Domains also contain everything we want to say about the individuals truck is now carrying the cargo predicate; everything we want to be able to assert or deny one subroutine calls another 46 Domain Framing Statements made about the problem domain must address individuals within the problem domain only requirements documents address issues in the problem domain cannot address issues in the machine domain 47 Types of Domain Information What types of entities can be in the domain? What attributes should those entities have? Relationships between entities Types of events that can occur in the domain The causal law according to which the entities behave motor A is on iff bit 7 of I/O port is high... 48 Types of Domain Information Events treated as individuals attributes are entities that participated in the event relations are things like before and after Information then incorporated into propositions; assertions or denials that certain individuals possess certain attributes or bear certain relations to each other 49 Mathematics Individuals and predicates relations between propositions attributes This is a form of predicate and propositional calculus Also a natural language form The tricky part is to decide what individuals to talk about and what predicates to use 50 Shared Phenomena Intersection between domains required to allow one domain to exert effects on another domain states events objects Many times these are described in an interface document 51 Examples Keystrokes typed by a user are keystrokes received by software Every pixel displayed on a monitor by software is also a pixel seen by the user Signals sent by an oxygen sensor to a microprocessor inside a car Employee punching a time clock is the time clock recording the event 52 S/W Problem w/ 4 domains Weather stations A/D converter Serial I/F The computer The weather temperatures Temperature sensor program Users 53 User I/F Researchers Connection Domains A domain that shares phenomena with two domains that we wish had a direct connection, but don’t Put an upper limit on how well you can fulfill the requirements Introduces some form of distortion and delay which may impact the users of the software 54 Connection Domains Customer must be informed about the limitations with these connection domains must invent desired results design software accordingly 55 Realized Domains Nearly any type of commitment between people, if a computer is to manage it, must appear as a realized domain in a requirements document debts accounts responsibilities to perform tasks scheduled times to meet Just reporting on these is different! 56 Frame Diagrams Rectangles are domains Lines connecting domains represent shared phenomena Double border rectangle is the machine to be programmed name in the double lined rectangle is the type of system this is to become 57 Frame Diagram for the Temperature Information System temperatures weather stations information system researchers 58 Big Dot indicates that one domain is wholly contained in another word processor documents 59 Big Dot drivers trucks truck driving events locations 60 cargoes Adding the Requirements Have M and D Need R These are ovals assert relations within a domain relations between domains short description added inside oval arrows from the ovals to domains indicate the requirements apply to those domains 61 Complete Frame Diagram temperatures weather stations queries information system researchers 62 Frame Diagram for ImageProcessing Software image processing algorithm input image filter 63 output image Reading a Frame Diagram 1. Read the oval and notice which domains it relates these are the primary domains of interest problem, in most fundamental form, is to create this relation between domains in order to enable users to make queries about temperatures or create output images 64 Reading a Frame Diagram 2. Find the machine domain and see how it directly or indirectly connects to the domains of interest do any connection domains complicate the problem Frame diagrams are the first step towards writing a requirements document May be included in a requirements document 65 From Diagram to Documentation A list of all the queries that users can initiate Description of the temperatures Description of how the weather station interacts with temperature Description of how the weather station interacts with the computer Description of the connection between the researchers and the computer Description of the researchers 66 What a Frame Diagram is NOT It is not an outline of the program structure It is not a description of the behavior rules that make up the specification It is only a graphical overview of the software problem, not its solution Framing the problem is preparing the development staff to apply design patterns that they know 67 Types of Problem Frames 68 Types of Problem Frames Requirement type Description Queries Behavioral Rules Requests for information Rules according to which the problem domain is to behave Mappings Mappings between data input and output Operations on realized Operations that users can Domains perform on objects that exist inside the software Correspondences between Keeping domains that domains have no shared phenomena in corresponding states 69 Problem Frame Information Control Transformation Workpiece Connection Problem Frames Describe very large scale software patterns describe a specific kind of problem not an exhaustive list many problems are multi-frame problems goal is to recognize familiar problems when you see them 70 Information Problems Answers queries about a certain part of the real world Types of information requests to be satisfied How the software can get access to that part of the real world 71 Information Problem real world queries information system information requesters 72 Information Problems Documenting requirements relevant part of the world queries people or things that initiate the queries Requirement is to satisfy queries initiated by information requestors System reports on the state of the world but does not change its state (no causation) 73 Example Software Inventory control system Program to search texts for sequences Web search engine API that returns status of graphics adaptor Electronic thesaurus Library catalog system 74 Connection domain Computers are not psychic nearly all information problems required some sort of a connection domain relays information from the real world to the software common example - people performing data entry 75 Information Problem Including a Typical Connection Domain queries real world data entry staff information requesters 76 information system Static and Dynamic Dynamic systems; reporting on information that is always changing information builds up while system in operation must document how to get access to the info Static systems; things not changing interaction properties of drugs all available information built in how can software developers get info 77 Passive and Active Passive; queries initiated by user Active; supplies info without being asked burglar alarm inventory running low notifications; require more documentation what triggers the notification? what kind of response time? knowing that information was received 78 Solving an information problem Model the real world inside the computer bits change state following rules that map them to an activity in the real world behaves analogous to the real world answer questions directly instead of contacting the real world new shipment of sweaters cause qty_in_stk field to be updated w/o having to contact real world specification must describe the model 79 Other Considerations Document each event response Static systems must document how the info gets into the system in the first place If problem domain changes, how is the model updated Validation rules to counteract the distortion in the connection domain All screens in the application 80 Control Problem Software responsible for ensuring that some part of the real world behaves in accordance with specified rules Describe the objects that inhabit that part of the world that the rules they obey How the software will monitor that part of the world and initiate causal chains that cause the rules to behave 81 Control Problem queries controller controlled domain 82 Control Problems Focus exclusively on causation (making part of the world behave in accordance with specified rules) Things to describe in this type of problem causal properties of relevant parts of the world rules that the objects follow by nature rules we would like them to follow -rqmt phenomena shared between computer and problem domain 83 Control Problem Examples Heating control system fans, furnaces, A/C on/off to make best compromise Traffic light controller timing rules, activity at sensors, timing relationships with other lights Telephone switch software directs switches to incoming calls to wires that lead directly to phones, parses rules and touch tones, connects phones 84 Connection Domains Common problem is directing people to perform certain types of activities users are a connection domain (may or may not do what is instructed or enter wrong data) move inventory new orders received delay between data entry and actual unique numbers to reduce redundancy 85 Connection Domain in a Control Problem business rules warehouse employees orders 86 inventory control system Solving a Control Problem Specification for this problem describes behavior rules for the shared phenomena Timing rules must be documented Postulate a set of states the software takes on map every possible input to a response in the problem domain and the next state 87 Transformation Problem Software generated output data that maps to input data in accordance with specified rules Describe the entire set of all possible inputs and the mapping rules that indicate, for each possible input, the correct output 88 Transformation Problem mapping input data filter 89 output data Transformation Problem Input data and output data are elements from two sets Documentation consists of set of all possible inputs set of all possible outputs rule relating each possible input to its corresponding output This mapping is the only requirement 90 Two sets a B A b d c w x y z x A x B = {< a,b > | a A and b B} and contains pairs < a,x >, < a,y >, < a,z >, < b,w>, < b,x >, < b,y>, < b,z >, < c,w>, < c,x >, < c,y>, < c,z >, < d,w>, < d,x >, < d,y>, < d,z >, < x,w>, < x,x >, < x,y >, and < x,z >. 91 A relation between two sets B A b d a w x c y x 92 z A relation between two sets that qualifies as a function B A b x d a w c y x 93 z A complete function B A b x d a w c y x 94 z Specifying a system If the systems planners and customer do not specify what is expected in all types of interactions with the system, i.e. the behavior of the system, someone else will. That someone else is most likely the programmer when he or she is coding the ELSE option of some IF statement. There is a very low probability that the programmer’s guesses as to the expected behavior will be what the customer expects. -- James Kowal, “Behavior Models: Specifying User’s Expectations” 95 The software system viewed as a function CO-DOMAIN DOMAIN RANGE a b c d e f g h X software system Y Z FUNCTION f(n) Q 96 Examples of Transformation Problems Subroutine that translates bar codes into numbers Image processing S/W that removes dust and scratches from digitized photos Program to generate weather maps from meteorological data Printer driver that converts commands from the OS to equivalent commands to control a printer 97 Solving a Transformation problem Mainly programming No interface design work Specification only needs to add a GUI or API 98 Workpiece Problem Software serves as a tool for creating objects that exist only with the software Describe the objects to exist within the computer and the operations that users can perform on them 99 Workpiece Problem operations users tool 100 workpiece Workpiece Problem Software helps users create objects documents designs Work pieces are intangible and exist in a realized domain Software may generate tangible versions printed copy 101 Example Workpiece Problems Word processor Program to create business graphics Music editor Program to generate composite sketches of police suspects A recipe file 102 Solving a Workpiece Problem Majority is user-interface design Rest is programming representing workpieces performing operations on objects being created 103 Connection Problem Software must simulate or make do with a connection between domains that do not really share phenomena Describe the delay and distortion characteristics of the connection domain and the behavioral characteristics of the domain of interest allows the system to detect invalid data 104 Connection Problem achievable correspondence system connection domain 105 domain of interest Connection Problems Problem is to make two indirectly connected domains behave as if they were directly connected system can make do with a connection domain system is the connection domain Perfect correspondence hard to achieve Usually part of a larger problem 106 Connection Problem Examples Data entry staff Data warehouse answering queries overlapping parts of the real world Error-free data transfer across a noisy line Video conferencing 107 Issues to consider Must document how the system will be able to determine if the connection domain is not functioning properly Mistake theory is used for user interface designers does not belong in a requirements document Requirements document must contain as much information as possible about the domain of interest 108 Making do with an Indirect Connection achievable correspondence system connection domain 109 domain of interest Creating an Indirect Connection achievable correspondence system A comm system 110 system B Multiple Connections to the same domain of interest queries domain of interest database A database B database C users 111 information system Creating a Connection Across a Communication Medium achievable correspondence system A comm system comm medium 112 comm system system B Solving a Connection Problem Primarily create redundancy in the problem domain peoples names don’t contain control characters atmospheric conditions don’t change faster than one degree per second Guesses can be made at delayed data Modems exploit redundancy in the English language (sent faster than programs) 113 User and Task Analysis 114 Topics Introduction to user and task analysis Thinking about the users Thinking about tasks Thinking about the users environment 115 What makes a product usable? They reflect the workflows that are familiar or comfortable They support the users learning styles They are compatible in the users working environments They encompass a design concept that is familiar to the users They have a consistency of presentation 116 Understanding how the user performs the task What the users goals are; what they are trying to achieve What users actually do to achieve those goals What personal, social, and cultural characteristics the users bring to the tasks How users are influenced by their physical environment 117 Understanding how the user performs the task • How users previous knowledge and experience influence how they think about their work and the workflow they follow to perform their tasks • What users value most that will make a new interface be a delight for them (speed? accuracy? help in recovering from errors? human contact? fun? challenge?) 118 Why isn’t this done already? Marketing knows the users The product is new - there aren’t any users to observe The users are all too different - we can’t possible visit all of them We don’t have enough time in the schedule We don’t have enough money in the budget 119 Where does user and task analysis come from? Anthropology the study of people Ethnography practice of immersing oneself in a culture in order to describe that culture Cognitive psychology study of how people think and learn Rhetoric communicating with others through mediums 120 Focusing on users How do they think about their relationship to their work? Is what you are developing related to their primary work or something they will use occasionally? What and how much do they know about the subject matter you are designing for? 121 Focusing on users • What tools do they know how to use? • What motivates them in doing their job? • What motivates them in using their personal time at home? • What technical skills do they bring to performing their work? • What languages are they comfortable 122 using? Users that must be studied Individuals who buy the software and use it without assistance or interaction from others Individuals who use the interface and information as part of their work, even though they did not buy the software Groups of people who use the software and information as part of a larger business process Those who administer the software 123 Users that must be studied Individuals who repair products that are broken or who troubleshoot systems Those that install products for themselves and other and may also use the software Customers of the users and others who are affected by users working with the interface 124 Starting a user and task analysis Assemble a group of people in your organization who regularly interact with the users customer service training marketing Brainstorm a preliminary list of users and potential users 125 Starting a user and task analysis • Create a user/task matrix or a user/characteristic matrix to serve as an initial model of your community of users • Discuss the characteristics that you assume are typical of your user community • Decide how to test your assumption 126 Assemble a user profile team Salespeople who call or visit buyers and users Sales engineering people who install or customize products at user sites Marketing professionals will have conducted research studies Trainers who work with users in classroom settings Telephone support personnel 127 Assemble a user profile team Field support personnel Consultants who study and advise on interactions with user communities Former users who now work in your organization 128 Brainstorm a list if users experience on the job education level background of training age, gender, physical differences geographic locations, wage differences language skills, terminology differences job level 129 Create an initial user/task matrix Tasks likely to be performed Users Patients Patient families Novice clinicians Expert clinicians Getting comfortable with software X X Basic user difference X X Advanced software use Training the patients X X X X X X X 130 Customizing the software X Users and their jobs Do the users all have the same job title? Do the users have different job titles that reflect wide differences in skills and responsibilities? Are the users professionals who have learned aspects of their jobs in school? Do your users consider their jobs to define their modes of behavior? 131 Issues to consider about tasks How did your users learn to perform the tasks that they do? How long have they been doing these tasks? Have the tasks changed over time? Do the user perform many varied tasks in a typical day? Do the users teach others to perform the same tasks? Which people in the organization are considered the experts? 132 Issues to consider about tools What tools are the users using today to perform their tasks? How did they learn to use these tools? How comfortable are they using the tools? Are the users familiar with technology that is similar to your intended design? To what extent do their tools define that they do? 133 Mental models and vocabulary Mental models are internal pictures of how things work a term from cognitive psychology vague, amorphous, individual, and changeable collection of associations in peoples minds Users mental models will emerge through conversations with them 134 Mental models and vocabulary People use their mental models to make associations between information (words, pictures, sounds, smells) they are learning and information they already know 135 Mental Models The picture of a trash can on a Mac is associated with a physical trash can used to throw something away (throwing away files) Designers also used trash can to eject a floppy disk from the drive - this confused users who thought that they would be “throwing away” the information on the floppy!! 136 What is task analysis? Things related to goals and tasks “Things” are usually considered work admitting a patient to the hospital find a customers order in a database send a message to everybody on the project team put up a new web site change payroll codes set up a new computer at home 137 Users goals Users goals inside a company keeping my job getting done so I can go home on time Making the boss happy so I get a good review Companies goals for users doing tasks increasing revenue increasing the number of applications that get processed decrease the cost of providing support 138 Norman’s seven stage cycle Forming the goal Forming the intention Specifying the action Executing the action Perceiving the state of the world Interpreting the state of the world Evaluating the outcome 139 Simple situation User forms goal User forms intention (decides task) User specifies action(s) User does the action(s) User perceives the state of the world User interprets the state of the world User evaluates the outcome 140 Go outside to get some fresh air Open the door “It looks like I pull this handle here” Pulls on the handle The door didn’t open “Well that didn’t work. I guess I need to push it” Didn’t get outside yet. If the user still wants to meet the goal follow steps 3-7 again this time pushing the door. Different types and levels of task analysis How work gets done when several people are involved (workflow analysis) What a single individual does throughout the day or week or month (job analysis) How workflow analysis interacts with job analysis The order in which users do tasks How a large task is made up of subtasks 141 Workflow analysis Understanding how a particular process is accomplished if several people are involved in completing the work (business process analysis) Many companies are trying to simplify business processes Look for redundancies or unnecessary steps 142 Filling a prescription At least two people involved patient pharmacist Others may be involved relative or friend caregiver clerk or assistant receptionist at doctors office doctor 143 Filling a prescription Patient contacts the pharmacy Pharmacist or clerk takes the information Pharmacist looks up the patients prescription Pharmacist call the doctor for approval Receptionist send the call to the doctor Pharmacist waits for the call back After the call back the prescrition is filled 144 Workflow analysis Workflow analysis is an important part of task analysis because the situation in which different types of people are involved in the process is much more common than processes individuals do alone If a task analysis is done by only looking at one part of the workflow the risk is that the product will not be used because it is in compatible with the rest of the workflow 145 Job analysis Understanding all the work that a person does in a certain position during the day, week, or month Workflow analysis is a horizontal picture of how work moves across people Job analysis is a vertical picture of all the types of work that flow through a person 146 Job analysis Benefits find new marketing and development opportunities understand specific features to build into the product learn what pressures they are under and what they value 147 Factors in job analysis Frequency (how often tasks are performed) Criticality (how important is each task) Time to complete (how time consuming) Difficulty (problems accomplishing tasks) Division of responsibility (do all the people in that job do this task?) 148 Developing a task list A task is any observable, measurable action that has an observable beginning and an observable end. Task list for an e-mail program write a message send a message receive a message read a message that you received reply to a message save a message to look at it late forward a message send a formatted file with the message 149 Process analysis, task sequences In an e-mail program these sets of tasks have a natural sequence write a message comes before send a message Receive a message from someone else reply to a message or forward a message to someone else 150 Task Hierarchies Job Task Subtask Task Subtask Task Task Subtask Task analysis is hierarchical. You can break up a job into tasks and each task into subtasks 151 Procedural analysis Job Start You can carry a task analysis down to the individual steps and decisions users make as they carry out the task Action (step) Decision Action (step) Action (step) 152 End Action (step) Other path Example task analysis User is using prior experience; says other machine worked from buttons TV is off. VCR is off. TV and VCR are set up and connected. No cable box User looks for buttons on front of machine. Gets down on knees to do this Are most VCRs kept this close to the floor? Note that the user has tried to solve the problem by trial and error, has not yet gone to the manuel. Takes off bifocals to see better. Complains that buttons are small and black on black Opens front panel, reads labels, says “Nothing here is relevant” 153 The light i this living room is too dim to see the TV. Are most VCRs used in dim lighting? Ask about how he typically uses a manual Inference: he jumped directly to a page part way through the manual because he just wants to get the task done, not learn anything more about the VCR Decides to use the manual. Says he can’t possibly read the whole thing Looks in table of contents. Finds section for setting the timer. Turns to that page. Reads that he must get a menu up on the screen Puts manual down. Picks up 2 remotes. Turns on TV with 1 remote. Turns on VCR with other. Picks up manual again. Reads “Press program button on remote control. Does that 154 It’s hard to hold a manual open and operate two remote controls at the same time Types of users Any particular user at any particular moment in time with any particular product is at one of the four stages of use novice advanced beginner competent performer expert 155 Characteristics of novice users Fear of failure, fear of the unknown Focus on accomplishing real work Impatient with learning concepts rather than performing tasks Theoretical understanding only - no practical experience 156 Characteristics of advanced beginners Focus on accomplishing real work Impatient with learning concepts rather than performing tasks Randomly access tasks By adding new and progressively more complicated tasks, begin to develop an empirically based mental model 157 Characteristics of competent performers Focus on performing more complex tasks that require many coordinated actions Ability to plan how to perform a complex series of tasks to achieve a goal Willingness to learn how tasks fit into a consistent mental model of the interface as a whole 158 Characteristics of competent performers Interest in solving simple problems by applying a conceptual framework to diagnose and correct errors 159 Characteristics of expert performers Focus on developing a comprehensive and consistent mental model of the product functionality and the interface Ability to understand complex problems and find solutions Interest in learning about concepts and theories behind a product’s design and use Interest in interacting with other expert users 160 Thinking about the users’ environment 161 Why is environment important? People do not perform their work in isolation Influenced by the activity around them physical characteristics of the workplace type of equipment being used work relationships with other people Product must fit into environment or it will be frustrating to use or be rejected 162 What aspects are important? Physical environment light levels placement of controls amount of space to work in noisy or quiet dirt, dust, pollution temperature, humidity power availability dangers in the environment 163 Working at home? Users in an office will probably have a T1 line Users at home may have a slower modem may require different strategies for getting the information they need may need a longer power cord automatic save feature (disruptions from kids) 164 Adequate space? “Standard” may not be so standard Is there room for a mouse or detached keyboard? Is there room for paper manuals or should on-line help be used? Adequate space for optimal viewing angle? Bookcases in Japan are narrower then in US cubicle walls are rare 165 A noisy environment? Noisy environments make learning more difficult Sound cues (bells, beeps, etc) may distract coworkers Will they be able to hear the audio tones people with hearing aids have a hard time hearing in the presence of background noise 166 Dirt, dust, and wind Will touch screen be usable if the screen smears from oil? Working in a cleanroom may require no paper (manuals) at all Dust can make computers unusable Wind can make the use of manuals and paper almost unusable maintenance technicians 167 Adequate lighting Can the user see the screen? The manuals? The controls? Can they see the images in dim light? Will colors for warnings or cautions be adequately visible on the screen? VCR black on black buttons hard to see probably designed in a bright lab 168 Temperature Extremes of temperature and elevation disk drives have a hard time working at high elevations because there is not enough air to float the disk above the read mechanism Cold temperatures make it difficult to use controls will users be wearing gloves? High temperature and humidity may fog screens or make hands slip 169 How quickly must they react? Users may be measured by how quickly type can react (customers standing in line) Are they in any danger? what happens when the users make mistakes? ATM machines are a focal point of robberies 170 What aspects are important? • Social environment – are tasks performed quickly and/or accurately – resources available to answer questions – do people who share info work in same location – social hierarchy in the organization – how do physical and social environments interact 171 – relationship between users and What aspects are important? • Cultural environment – national cultural influences – work in different cities, states, regions, etc – professional culture with particular values 172 Making the business case for site visits 173 Verifying your assumption Primary reason for traveling to user sites is to challenge or verify your assumptions May meet with resistance to watching users and listening to them The users doing the new process will be the same users that did the old process! Very rare that a new product is so new that there is nothing in existence to study 174 Preparing a business proposal Analyze the return on investment changes later are more expensive Meeting or exceeding the competition are they doing usability studies Calculating the time required to conduct an analysis 175 Preparing a business proposal Task Brainstorming and initial user/task matrix and outlining the proposed site Planning the site visit Recruiting participants Conducting six days of site visits/two observers Analysis and report Total hours and labor costs 176 Hours per task 80 Labor cost per task $5600 34 42 120 2380 2940 8400 80 356 5600 $24,920 Selecting Techniques Contextual inquiries; a philosophy as much as a technique Plan (understand the issues for the visit) Select the users to represent the right diversity Treat the users as a partner Watch, listen and talk with users about their work Make the conversation concrete Take your cues from the user (make sure you are interpreting things correctly) 177 Techniques Get the user to talk aloud while doing the task determine the users mental models Talk right after the task (if you can’t do it during the task) sometimes it is best to be a “fly on the wall” 178 Techniques When to be unobtrusive; the task involves helping another person (call on the phone, etc) the task involves safety (air traffic controller) the task requires a high degree of concentration (solving complex mathematical problems) you are timing the task the user is on a deadline (working under pressure) 179 Role playing and staged scenarios Not as credible as data collected under actual circumstances (this was done for the AA SABRE travel info Network) Must have relevant scenarios Advantage is that you can use the same scenario at several sites and observe different users handle the same scenario 180 Cue recall with videotapes Sometime, users do not want or do not have the time to interview and talk but are willing to be videotaped Questions can be answered later about tasks that need more explanation or interpretation 181 Doing a process analysis Interview and ask questions when does the first task in the process happen what triggers it who does it what information is required to do the task what are the major steps in the task who is the next person in the chain of the process when does the next task happen 182 Ethnographic interviews “Top down” approach Start by getting a general framework from the users Use that knowledge to structure and understand future observation Contextual inquiry, on the other hand, is bottom up (observing and gathering large samples of work and then develop 183 Collecting artifacts Artifacts can be paper or screen shots “cheat sheets” forms that trigger data entry or the start of a process forms and reports that get printed at various times during a process examples of output from tasks hand-written notes or logs as reminders 184 Collecting stories Gather stories of real situations “critical-incident technique” - a way to gather stories in a short period of time ask each interviewee to recall a specific critical incident then probe for more information about it questions are planned in advance iterate can be used as a base for scenariobased design 185 Working with users away from the work site Sometimes it is hard to go to the users site security reasons equipment that is not portable to the users site Usability lab Conference room Ask the users to bring example of real work 186 Market research techniques Meet with users in focus groups facilitator skilled in asking questions, getting opinions, etc focus groups don’t show behavior User surveys designed to gather information from a large group of people (direct-mail questionnaires, telephone survey, fax, web) Meeting users at trade shows 187 Other Bringing users to requirements-gathering sessions focus on functionality rather than usability what users say may not be what they do users talk about the typical case what they need may not be the best way to solve the problem group dynamics problems Including a user on the design team 188 Conclusion Requirements elicitation is a collaborative decision-making activity involving users, developers and customers Dependent on the diversity and experience of the problem being formulated Techniques should be tailored to the project 189