1 The Process of Usability Engineering laura leventhal and julie barnes.

Slides:



Advertisements
Similar presentations
System Development Life Cycle (SDLC)
Advertisements

Prescriptive Process models
References Prof. Saul Greenberg, University of Calgary, notes and articles INUSE 6.2 and RESPECT 5.3 Handbook Prof. , University of , Notes and articles.
Lecture # 2 : Process Models
Software Process Models
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
MIS 2000 Class 20 System Development Process Updated 2014.
CS487 Software Engineering Omar Aldawud
Chapter 4 Design Approaches and Methods
1 Chapter 4 - Part 1 Software Processes. 2 Software Processes is: Coherent (logically connected) sets of activities for specifying, designing, implementing,
Usability Engineering Lifecycles As Part of User-Centred Design.
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Software Process Models
1 Prescriptive Process Models. 2 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering Prescriptive process.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Alternate Software Development Methodologies
Gu & Maher University of Sydney, October 2004 DECO2005 Monitoring Team Process.
Ch 4 The Process page 1CS 368 Building Software is Difficult often delivered late often over budget always with errors must be a custom solution complexity.
Term Project User Interface Specifications in a Usability Engineering Course: Challenges and Suggestions Laura Leventhal Julie Barnes Joe Chao Bowling.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
Developed by Reneta Barneva, SUNY Fredonia The Process.
IT Job Roles Task 20. Software Engineer Job Description Software engineers are responsible for creating and maintaining software of various different.
Marketing CH. 4 Notes.
1. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “Usability Engineering” –Describe the various steps involved.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
Introduction to Interactive Media 02. The Interactive Media Development Process.
Instructional Design Brian Newberry. Instructional Design Instructional Design is a systematic process for the creation of educational resources.
Chapter 2 The process Process, Methods, and Tools
IT Systems Analysis & Design
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
Introduction to Interactive Media The Interactive Media Development Process.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Feasibility Analysis What is feasibility and when should feasibility checkpoints occur? What are the four types of feasibility and what is the description.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Interaction Design CMU. Today’s objectives Continue Design approaches (UCD, ACD)  User-Centered Design  Activity-Centered Design.
SOFTWARE ENGINEERING MCS-2 LECTURE # 3. SOFTWARE PROCESS  A software development process, also known as a software development life- cycle (SDLC), is.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering MCS-2 Lecture # 6
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
Gary MarsdenSlide 1University of Cape Town Human-Computer Interaction - 4 User Centred Design Gary Marsden ( ) July 2002.
Chapter 4 프로세스 모델 Process Models
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
Design Process … and some design inspiration. Course ReCap To make you notice interfaces, good and bad – You’ll never look at doors the same way again.
Software Prototyping Rapid software development to validate requirements.
Developed by Reneta Barneva, SUNY Fredonia The Process.
Software Engineering At Glance. Why We Need Software Engineering? The aim of software engineering is to solve the software crisis Software is delivered.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
Software Development Life Cycle (SDLC)
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering CE 501 Prepared by : Jay Dave.
44222: Information Systems Development
Chapter 2: The Process. What is Process? Software Engineering Process is the glue that holds the technology layers together and enables rational and timely.
Usability Engineering Lifecycles
Lecture 3 Prescriptive Process Models
Software Process Models
Software Life Cycle Models
HCI in the software process
Software Process Models
HCI in the software process
HCI in the software process
Human Computer Interaction Lecture 14 HCI in Software Process
Presentation transcript:

1 The Process of Usability Engineering laura leventhal and julie barnes

2 Sources Protobook, chpt 4.

3 Building a UI - what do we know or can guess? Principles of UI development are neither obvious nor intuitive Principles of UI development are not applied as often as they should be Developing a UI is part of the larger problem of developing software

4 Software Development is Hard Some authors believe that software development is in a sort of “crisis” that is characterized by projects which miss deadlines and are delivered with errors. Numerous strategies to improve the process of software development have been offered including alternative development methodologies and computer-aided tools. Adding a significant user interface makes software development more difficult. Software engineering and usability engineering are related. It makes sense to understand a little about the process of software engineering as we are discussing the process of usability engineering.

5 Characteristic Software Development Activities There are activities that have to happen in software or usability engineering. These include Understanding and documenting the context of the project. Understanding and documenting the problem to be solved Designing and documenting a solution in the context. Implementing the solution. Testing and evaluating the solution. Documenting the outcome of the evaluation.

6 The software explosion (sometimes called "crisis") free falling costs increases the potential market for s/w burgeoning (diversification of) demand for functionality size and complexity of s/w is always increasing What are the big trends driving the field today? The Software Crisis Software Chronic Problem

7 Forget “crisis” Forget "crisis" according to Pressman, this is a chronic affliction. Symptoms: s/w takes a long time to develop costs are high s/w is often delivered with errors difficult to measure progress as s/w is developed

8 Special challenges to UI development The communications explosion The media explosion The usability explosion

9 The communications explosion. Essence of UI used to be one-user, standalone. Now moving more toward connectivity Internet WWW Businesses wanting CSCW (computer supportee cooperative work) Communications services Expanding user populations

10 The media explosion User interfaces offer a myriad of devices (media) Mice, pens, touch screens, video, speech, VR etc. To support these devices, UI code is half or more of the code Gets more complicated, the more the media (e.g., multimedia)

11 The usability explosion Users want usability. It is not an option. Users want *availability* (open architectures)

12 Incorporating UI into SE Benefits of including UE (usability engineering) as part of SE methodology The problem: Overhead

13 Software Life Cycle plus UE The Traditional Waterfall Model suggests a reasonable linear progression of the activities that takes place in Software development Waterfall model - Escher drawing systematic, sequential approach to software development begins at system level and progresses through a series of phases

14 Waterfall Picture

15 Phases Systems engineering and analysis Software requirements analysis Software design Code Testing Maintenance Memorize for tests and interviews!

16 Maintenance If development is 1 year, maintenance could go on for 10 years. Maintenance activities –Correcting errors –Adding features –Updating software to accommodate environmental changes such as a new operating system

17 Effort Guessing Game If my development involves 100 units of effort, how much do I spend on Specification and design? Coding? Testing?

18 Issues for the Waterfall Model The waterfall model is the oldest and most widely-used paradigm for software engineering.

19 Some benefits: Following any methodology imposes discipline on the software development process. It appears to be easy to specify a timetable and costing for s/w developed with the waterfall model.

20 Some problems: Real problems rarely follow the sequential flow that the model suggests. Iteration always occurs and creates problems in the application of the paradigm. It is difficult for the customer to state all requirements explicitly. The classic life cycle has difficulty accommodating the natural uncertainty that exist at the beginning of many projects. Customer must have patience. A working version of the software will not be available until late in the time span.

21 Building a Model that includes UE Problems with waterfall are especially significant when developing a UI How could we modify the waterfall model to make it more appropriate for a project that includes a significant UI?

22 Getting real... Even traditional software engineering projects often benefit from iteration and re-evaluation. How to know whether to go back or forward? Prototypes provide a basis for evaluation and control of iteration Evaluation can also be based on usability, risk analysis, projected future costs, expected market value or other criteria.

23 Our model Our model incorporates Waterfall phases UI development phases Iteration

24

25 Parallel SE and UE Activity Sample SE Activities Sample UE Activities Context Setting Systems Engineering Establishing need for interface. Req.ts Analysis Understand problem Identify user tasks Identify interface feature Identify user characteristics. Design - High level Architectural Design Design of interaction Architectural design to support interact Design - Detailed Algorithms, d. structures Design individual interaction Algorithms, d. structures Implementation Implementation Implementation Evaluation Testing flow and function Evaluation by experts or user testing Software testing

26 Savings from good UE Nielsen (1993) describes a number of examples of projects that benefited from good UE

27 Nielsen example (p.3) “A major computer company saved $41,700 the first day the system was in use by making sign-on attempts faster for a security application. This increased usability was achieved through iterative design at a cost of only $20,700. 9Darat, 1990)

28 Other SE issues The Design Team Participatory Design

29 The Design Team Activities of interface design throughout the software design and life cycle, the interface can't be produced or analyzed at one point by a group of interface specialists. The job of building a good interface has to be taken on by the team that designs the product as a whole.

30 Design Team Composition The design team needs to be composed of persons with a variety of skills share several common characteristics. They need to care about users They need to have experience with both bad and good interfaces They need to be committed to and optimistic about creating an effective system.

31 Design Team Composition - 2 The team should include representatives from the entire range of interface-related areas: Software engineers User interface and human factors specialists Technical writers Training package developers Marketing specialists

32 Responsibility Designers who create the software shouldn't sign off on their product and hand it off to an entirely separate group that creates the manuals, who then hand off to another group that handles training. All of these activities need to be coordinated

33 Command/Team Structure Distribution of activities and communications –Chief programmer team –Egoless programming Choice depends on group dynamic and type of problem –Exploratory problems may work better with egoless programming where familiar well- structured problems may be better with a chief programmer structure.

34 Participatory Design We have been assuming a split between the roles of designers and customers/users that has been traditional in U.S. system design. Designers generally are not customers or users; they gather information from users and reflect it in systems they build; they give these systems to users who use them or not. There is an alternative approach, pioneered by workers in Scandinavia, that rejects this structure.

35 Specifics/Participatory Design In participatory design, systems are designed by designers and customers/users working together: a slogan is DESIGNING WITH rather than DESIGNING FOR.

36 Defining Characteristics Blomberg and Henderson stress three defining attributes of participatory design (Blomberg, A.L. and Henderson, A. "Reflections on participatory design." In Proc. CHI'90 Conference on Human Factors in Computer Systems. New York: ACM, 1990, pp ). : The goal of the activity is to improve the work life of users The activity is collaborative, with all goals and decisions actively negotiated and not imposed The activity is iterative, in that ideas are tested and adjusted by seeing how they play out in practice.

37 Why Try Participatory Design Customer Satisfaction Having the customer on your development team should help you to define the “right” problem and to hit on the “right” design. The customer has a major stake in the project, not only as the customer but as a developer.

38 A Final Participatory Design Thought For commercial projects there are further challenges. At bottom, your objective as a commercial developer may really not be to improve the quality of somebody else's work life, but rather to make money for yourself. So you don't have the right goal to begin with.

39 Review - The Process of Usability Engineering Major Topics Software Development is Hard –Are we in a “crisis” Adding a significant user interface makes software development more difficult. There are activities that have to happen in software development. –The Traditional Waterfall Model suggests a reasonable linear progression of these phases. –For some types of projects, including those with a significant user interface, the Waterfall model may not make sense in its traditional linear form.

40 Review - The Process of Usability Engineering (2) Iteration is the key change to the traditional Waterfall model. The phases (activities) of the model are the same. The flow is more fluid. Evaluation of prototypes is the mechanism that drives the decision to move backward or forward through the activities. Evaluation may be based on usability concerns, risk assessment and so on.

41 Review - The Process of Usability Engineering (3) There is a lifecycle model for software engineering with usability engineering. The model supports iteration The activities (phases) of the Waterfall model have parallel activities for software and user interface development. Development of large software and user interface projects typically happens in teams. There are different models for team structure. There are different philosophies for development. We discuss development assuming that the development team and the customer are separate entities. In Participatory Design, customers are part of the Development team. –This model has the advantage that the customer’s satisfaction should be high.

42

43