Interaction Design and Agile Development: a Real-World Perspective

Interaction Design and Agile Development: a Real-World Perspective

View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by ResearchArchive at Victoria University of Wellington Interaction Design and Agile Development: A Real-World Perspective by Jennifer Ferreira A thesis submitted to Victoria University of Wellington in fulfilment of the requirements for the degree of Master of Science in Computer Science. Victoria University of Wellington 2007 Abstract Although both agile development methods and interaction design aim to build quality software that meets the user’s needs, each approaches development from a different perspective. Agile development methods describe activities addressing the coding (and in some cases the process management) part of software development, whereas interaction design methods describe activities for developing that aspect of the software that will be perceived by the user. Agile development and interaction design each have little to say about the other, despite the reality that both ap- proaches are combined in practice. There has been little investigation into how the two processes work together, and the issues that arise. To aim for a better understanding of practice, we conducted grounded theory re- search about real-world software teams who combine interaction design and agile development. The results provided insights into interaction de- sign being done up front (before implementation begins), the structure of the development iterations, the effect of incorporating interaction design techniques into the agile development iterations, as well as the role of the interaction designer on agile teams. The analysis also highlighted areas that may benefit from further research. Acknowledgments My thanks goes to: All the people around the world I’ve ever talked to about this re- • search — this document owes its existence to your interest and in- put. The Agile Alliance for providing funds supporting this research. • My supervisors, James Noble and Robert Biddle, for being so inspi- • rational, encouraging, challenging and intelligent. Thanks also to Stuart Marshall who provided excellent support. My friends at Mt. Vic Dojo, the Wellington Gaelic Football players • and the Vic UFO ultimate team for the welcome distraction. My family. • iii Contents 1 Introduction 1 1.1 Agile software development ................... 3 1.2 Interaction design ......................... 4 1.3 Motivation for research ...................... 6 1.4 Research questions ........................ 7 1.5 Road map ............................. 7 2 Background 11 2.1 Software process research .................... 11 2.2 Waterfall shortfalls ........................ 12 2.3 Agile as the answer ........................ 14 2.3.1 eXtreme Programming .................. 16 2.3.2 Scrum ........................... 24 2.4 Interaction design ......................... 27 2.4.1 User-centered design and usability ........... 27 2.4.2 Interaction design techniques .............. 29 2.4.3 Interaction design and software development .... 31 2.5 Combining interaction design and agile development ............................ 32 2.5.1 BDUF considered harmful ................ 32 2.5.2 A comparison ....................... 33 2.5.3 Related studies ...................... 36 2.6 Summary .............................. 37 v vi CONTENTS 3 Research Method 39 3.1 Why is grounded theory appropriate? ............. 39 3.2 Grounded theory ......................... 41 3.2.1 Theoretical sampling ................... 42 3.2.2 Theoretical saturation .................. 42 3.2.3 Role of the literature ................... 43 3.3 The researcher ........................... 43 3.4 The participants .......................... 44 3.5 Conducting the study ....................... 50 3.5.1 Participant recruitment ................. 51 3.5.2 Interviews ......................... 51 3.5.3 Data analysis ....................... 53 3.5.4 Theory development ................... 54 3.6 Reliability and validity of the study ............... 54 4 Introduction to results 61 4.1 Stages of development ...................... 62 4.2 Interaction Design Approaches ................. 62 4.2.1 Design strategies ..................... 64 4.2.2 Implementation strategies ................ 65 4.3 Feedback and change ....................... 69 4.4 Interaction designers on agile teams .............. 70 4.5 Publication of results ....................... 71 4.6 Next steps ............................. 71 5 Before implementation begins 73 5.1 Gaining a holistic view up front ................. 74 5.2 Studying clients and users .................... 75 5.3 Designing for change ....................... 78 5.4 Driving the development effort ................. 79 5.5 Advantages of interaction design before development begins ....................... 81 CONTENTS vii 5.5.1 Another notion of up front ............... 84 5.6 Summary .............................. 85 6 Interaction design approaches 87 6.1 Overview of interaction design approaches .......... 88 6.2 Comprehensive Design ...................... 89 6.2.1 Implementation as Refinement ............. 93 6.2.2 Key conditions ...................... 96 6.3 Evolutionary Design ....................... 97 6.3.1 Implementation as Looking Ahead ........... 102 6.3.2 Key conditions ...................... 107 6.4 Parallelisation ........................... 108 6.4.1 Key conditions ...................... 113 6.5 Summary .............................. 114 7 Inside iterations 117 7.1 Development iterations drive usability testing ............................... 118 7.2 Usability testing results in changes in development ............................ 121 7.3 Iterating with working software brings insights ............................... 124 7.4 Iteration planning affects interaction design .......... 126 7.5 Experimentation and adjustment of process .......... 128 7.6 Summary .............................. 134 8 Agility and the interaction designer 137 8.1 Usability has priority ....................... 137 8.2 Interaction design requires skill ................. 140 8.2.1 When developers do interaction design ........ 144 8.2.2 Interaction design skill contributes value ....... 145 8.3 Interaction design as collaboration ............... 146 viii CONTENTS 8.3.1 Setting the target ..................... 147 8.3.2 Maintaining the target .................. 149 8.4 Lurking pitfalls of the interaction designer role ........ 151 8.5 Interaction designer: Shared vs. total control ......... 153 8.6 Summary .............................. 159 9 Conclusion 161 9.1 Contributions ........................... 161 9.2 Returning to the literature .................... 164 9.3 Topics for further discussion ................... 166 9.3.1 Design: Agile values and cost of change ........ 166 9.3.2 Implemented software vs. unimplemented prototype 170 9.4 Further work ............................ 174 A Project profiles 177 A.1 P1 .................................. 177 A.2 P2 .................................. 179 A.3 P3 .................................. 180 A.4 P4 and P5 .............................. 182 B Interview questionnaires 185 B.1 Initial ................................ 185 B.1.1 Background ........................ 185 B.1.2 Requirements ....................... 185 B.1.3 Teams ........................... 186 B.1.4 Process ........................... 186 B.1.5 Usability .......................... 187 B.1.6 Testing and refactoring .................. 187 B.1.7 Users/customers ..................... 188 B.1.8 Wrap-up .......................... 188 B.2 Revised ............................... 189 B.2.1 Background ........................ 189 CONTENTS ix B.2.2 Experience with combining interaction design and agile development .................... 189 B.2.3 Process ........................... 189 B.2.4 Teams ........................... 190 B.2.5 Wrap-up .......................... 191 C Participant information and approved HEC application 193 Chapter 1 Introduction The software industry is well aware that users prefer products that pro- vide a satisfying, productive experience [16]. Satisfied users are loyal, translating to increased revenue for the developer company. CIO Insight reported that of 400 IT executives surveyed, 80% cited customer satisfac- tion as their top priority [17]. Despite the importance of user satisfaction, software products that meet the user’s goals and provide a satisfying user experience are difficult to build — the literature and practice abounds with methodologies all aiming to take control of the chaos and complexity of software development to produce good software [20, 54, 59]. Agile development methodologies comprise an approach to develop- ing software that meets the user’s needs, by having the development team closely collaborate with a potential user, or customer, and regularly de- livering working software to the customer. Interaction design presents another approach where potential users are central to the design of the user’s interaction with a software product, to ensure a better fit between the end product and the user’s needs. Unfortunately, agile developers and interaction designers approach software development from different per- spectives. Agile development methods describe activities addressing the coding (or process management) part of software development, whereas interaction design methods describe activities for developing that aspect 1 2 CHAPTER 1. INTRODUCTION of the software that will be perceived by the user. Agile development and interaction design each have little to say about the other, despite

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    240 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us