Human-Centered Software Engineering - Integrating Usability in the Software Development LifecycleAhmed Seffah, Jan Gulliksen, Michel C. Desmarais Human-CenteredSoftwareEngineering: BridgingHCI,UsabilityandSoftwareEngineering From its beginning in the 1980’s, the ?eld of human-computer interaction (HCI) has beende?nedasamultidisciplinaryarena. BythisImeanthattherehas beenanexplicit recognition that distinct skills and perspectives are required to make the whole effort of designing usable computer systems work well. Thus people with backgrounds in Computer Science (CS) and Software Engineering (SE) joined with people with ba- grounds in various behavioral science disciplines (e. g. , cognitive and social psych- ogy, anthropology)inaneffortwhereallperspectiveswereseenasessentialtocreating usable systems. But while the ?eld of HCI brings individuals with many background disciplines together to discuss a common goal - the development of useful, usable, satisfying systems - the form of the collaboration remains unclear. Are we striving to coordinate the varied activities in system development, or are we seeking a richer collaborative framework? In coordination, Usability and SE skills can remain quite distinct and while the activities of each group might be critical to the success of a project, we need only insure that critical results are provided at appropriate points in the development cycle. Communication by one group to the other during an activity might be seen as only minimally necessary. In collaboration, there is a sense that each group can learn something about its own methods and processes through a close pa- nership with the other. Communication during the process of gathering information from target users of a system by usability professionals would not be seen as so- thing that gets in the way of the essential work of software engineering professionals. |
Contents
An Introduction to HumanCentered Software Engineering Integrating Usability in the Development Process | 3 |
11 Introduction | 4 |
12 Major Obstacles for Effective Integration | 5 |
13 The Series of Workshops on HCISE Integration | 9 |
14 Why Human Centered Software Engineering? | 10 |
15 Audience | 12 |
Principles Myths and Challenges | 15 |
Key Principled for UserCentred Systems Design | 17 |
94 Applying PUF in UML | 155 |
95 Implementing These Additions in UML | 164 |
96 Example Transformations | 166 |
97 Conclusion | 168 |
UCD Unified and Agile Processes | 171 |
Which When and How Usability Techniques and Activities Should be Integrated | 173 |
101 Introduction | 174 |
102 Usability Methods Approach to Integration | 177 |
21 Purpose and Justification | 18 |
23 The Project | 19 |
24 Definition and Key Principles | 26 |
25 Tools for Applying UCSD | 29 |
26 Application | 31 |
28 DiscussionConclusions | 32 |
HCI Usability and Software Engineering Integration Present and Future | 37 |
31 Introduction | 38 |
32 Development Processes | 40 |
33 Artefacts | 45 |
34 Design Knowledge | 49 |
35 Organisational Approaches | 52 |
36 Conclusion | 56 |
Surveying the Solitudes An Investigation into the Relationships between Human Computer Interaction and Software Engineering in Practice | 59 |
41 Introduction | 60 |
43 The State of the Practice | 63 |
44 Knowledge of SE and HCI | 64 |
45 Working Together in the Workplace | 65 |
47 Implications of the Process Issues | 67 |
48 Use of HCI Methods | 68 |
410 Future Research | 69 |
Convergence or Competition between Software Engineering and Human Computer Interaction | 71 |
51 Introduction | 72 |
52 Design Processes and Methods | 73 |
53 Design Representations in SE and HCI | 76 |
54 Viewpoints in HCI and SE | 79 |
55 Theoretical Underpinnings | 80 |
56 Conclusions | 83 |
Requirements Scenarios and Usecases | 85 |
Experience with Using General Usability Scenarios on the Software Architecture of a Collaborative System | 87 |
61 Introduction | 88 |
63 The Usability and Software Architecture Project | 89 |
64 Prior Use of USA Materials | 98 |
65 Questions for a Realworld Case | 99 |
66 The Merboard Project | 100 |
67 USAS Application to Merboard | 102 |
68 Summary of Findings | 109 |
69 Ongoing Work | 110 |
Linking User Needs and Use Casedriven Requirements Engineering | 113 |
71 Introduction | 114 |
72 Understanding User Needs | 116 |
73 Linking User Needs to User Requirements | 117 |
74 Writing User Requirements from the User Point of View | 120 |
75 Evaluating the Approach in Industry | 122 |
Guiding Designers to the World of Usability Determining Usability Requirements Through Teamwork | 127 |
81 Introduction | 128 |
82 Related Methods | 130 |
83 Development of KESSU URD | 131 |
84 General Features of KESSU URD | 132 |
85 Steps of KESSU URD | 136 |
86 Findings from the Case Studies | 140 |
87 Conclusions | 141 |
88 Discussion | 142 |
Transforming Usability Engineering Requirements into Software Engineering Specifications From PUF to UML | 147 |
92 The Putting Usability First PUF Methodology | 148 |
93 The Unified Modeling Language | 152 |
103 Integration Proposals Based on SE Methods | 179 |
104 Summary of Integration Proposals | 182 |
105 Mapping Between Usability and SE Activities | 183 |
106 Assignment of Usability Techniques to Activities | 186 |
107 When to Apply Usability Activities and Techniques | 187 |
108 Discussion | 198 |
109 Conclusions | 199 |
Coping with Complexity | 201 |
112 The Designers Model | 204 |
113 User Engineering Modeling | 206 |
114 Continued Development | 217 |
Towards a Model for Bridging Agile Development and UserCentered Design | 219 |
121 Introduction | 220 |
122 Software Development Risks Reasons for the Agile Approach | 221 |
123 Characteristics of Agile Development | 224 |
124 UserCentered Design | 229 |
125 UserCentered Design Qualities in Agile Development | 230 |
126 Discussion | 238 |
127 Towards a Model for Bridging Agile and UCD | 239 |
Ripple An Event Driven Design Representation Framework for Integrating Usability and Software Engineering Life Cycles | 245 |
131 Introduction | 246 |
132 Background | 250 |
133 Current Practices | 252 |
A Design Representation Framework | 257 |
135 Contributions | 261 |
136 Potential Downsides of Ripple | 265 |
UCD Knowledge and UI design Patterns | 267 |
Integrating UserCentered Design Knowledge With Scenarios | 269 |
142 Whats in Design? | 270 |
143 An Integrative Example | 276 |
144 A Design Knowledge Research Agenda | 277 |
145 Related Work | 284 |
146 Conclusion | 285 |
Patterns of Integration Bridging User Centered Design Into The Software Development Lifecycle | 287 |
Foot in the Door for internal usability group | 290 |
Foot in the Door for external consultants | 294 |
UCD Focus on Early Definition and Design | 297 |
UCD in Every Phase | 303 |
156 Conclusion | 308 |
UI Design Patterns Bridging Use Cases and UI Design | 309 |
162 Tree An Example of a UI Pattern | 312 |
163 Composed UI Design Patterns in Use | 321 |
164 Pattern Descriptions in Practice | 325 |
165 Future Work | 328 |
166 Conclusions | 329 |
UI Patterns From Theory to Practice | 331 |
172 Pattern Identification | 332 |
The Dome Case Study | 335 |
174 Pattern Evaluation | 344 |
175 Further Research | 350 |
176 Conclusions | 351 |
353 | |
379 | |
387 | |
Other editions - View all
Common terms and phrases
agile development agile methods agile processes applied artefacts attributes capture chapter collaboration communication components Computer Constantine and Lockwood context cycle defined described design knowledge design process design rationale design representation detailed development team diagram document domain evaluation example experience feedback Figure focus framework functional goals human-computer interaction identified implementation Integrating Usability interaction design ISO/IEC iterative mapping MERBoard organization pattern languages phase practice principles problems project team prototypes reuse role scenario packages Seffah software architecture software development process software process solution specific stakeholders structure system design systems development task analysis task models taxonomy tion U&SA materials UCD methods UCD practitioners UCSD UI design patterns UI patterns understand usability activities usability engineering usability requirements usability techniques usability testing User Engineering user groups user interface user needs user stories user-centered design workshops
Popular passages
Page 367 - Proceedings of the 2002 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology, pages