Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. 2010 CRC PhD Student Conference Agile development and usability in practice: Work cultures of engagement Jennifer Ferreira j.ferreira@open.ac.uk Supervisors Helen Sharp Hugh Robinson Department/Institute Computing Status Fulltime Probation viva After Starting date February, 2008 Abstract. Combining usability and Agile development is a complex topic. My academic research, combined with my research into practice, suggests three perspectives from which the topic can be usefully examined. The first two (addressing focus and coordination issues) are typically the perspectives taken in the literature and are popular items for discussion. I propose that there is a third, largely unexplored perspective that requires attention, that of how developers and designers engage in the context of their work cultures. 1 Introduction Both disciplines are still in a state of uncertainty about how one relates to the other — in terms of whether they are addressing the same underlying issues, whether they belong to and should be recognised as one “process”, who takes the lead and who adjusts to whom. The complexity of the problem arises from practitioner and academic contributions to the literature, as well as the varying perspectives the contributors hold. Complexity further arises from the practical settings in which the problem plays out, settings characterised by different balances of power and different levels of influence the designers and developers may have on determining how they work. What is clear, is that the solutions proposed, follow the ways in which the problem is conceptualised. It certainly matters how the problem is conceptualised, as this reflects which issues are important enough to address and the ways to go about doing that. In light of this, we can unpick from the complexity three emerging strands of discussion that deal with usability in an agile domain. For the benefit of the following discussion, I am making the assumption that a developer constituency exists separately from a designer constituency. Further, that if questioned, a developer would not consider themselves doing the work of a designer and vice versa. Of course, this is not always the case in practice. I have encountered Agile teams with no dedicated usability person assigned to work with the team, where developers were addressing usability-related issues as part of their everyday work. This illustrates yet another layer of complexity associated with practice that must be acknowledged, but can not be adequately addressed within the limitations of this paper. 2 A question of focus In the first perspective, the combination of usability approaches with Agile approaches helps practitioners focus on important aspects of software development. While Agile approaches focus on creating working software, usability approaches focus on creating a usable design that may or may not be in the form of working software. A central concern of this perspective is how to support the weaknesses of one with the strengths of the other. Agile approaches are seen to lack an awareness of usability issues, with little guidance for how and when designers contribute to the process. Usability approaches are seen to lack a structured approach to transforming designs into working software and, therefore, little guidance on how developers are involved. Therefore, they are seen as complementary approaches that, used together, improve the outcome of the software development effort. This often serves as the motivation for combining Agile development and usability in the first place. We find examples in the literature that combine established Agile approaches, e.g., eXtreme Programming, or Page 23 of 125
  2. 2. 2010 CRC PhD Student Conference Scrum, with established design approaches, e.g., Usage-Centered Design [6], Usability Engineering [5]. We also find examples of well-known HCI techniques such as personas [1] and scenarios [3] being used on Agile projects. 3 A question of coordination The second perspective on how to bring usability and Agile development together is one where it is considered a problem of coordination. That is, the central concern is how to allow the designers and developers to carry out their individual tasks, and bring them together at the appropriate points. Designers require enough time at the outset of the project to perform user research and sketch out a coherent design. To fit with the time-boxed Agile cycles, usability techniques are often adapted to fit within shorter timescales. Advice is generally to have designers remain ahead of the developers, so that they have enough time to design for what is coming ahead and evaluate what has already been implemented. In the literature we find examples of process descriptions as a way of addressing this coordination issue. They provide a way to mesh the activities of both designers and developers, by specifying the tasks that need to be performed in a temporal sequence (e.g., [4]). 4 Work cultures of engagement The third perspective addresses practical settings and has received little attention so far. In this perspective, rather than concentrating on processes or rational plans that abstract away from the circumstances of the actions, the situatedness of the work of the developers and designers is emphasised. This perspective encompasses both of those discussed above, while acknowledging that issues of coordination and focus are inextricably linked with the setting in which practitioners work. That is, how the developers and designers coordinate their work and how focus is maintained, in practice is shaped and sustained by their work setting. With work culture I specifically mean the “set of solutions produced by a group of people to meet specific problems posed by the situation that they face in common” [2, p.64], in a work setting. If developers and designers are brought together by an organisation, they will be working together amid values and assumptions about the best way to get the work done — the manifestations of a work culture. I combine work cultures with engagement to bring the point across that how developers and designers engage with one another depends in essential ways on the embedded values and assumptions regarding their work and what is considered appropriate behaviour in their circumstances. My research into practice has provided evidence for how practical settings shape developers and designers engaging with one another. We find that developers and designers get the job done through their localised, contingent and purposeful actions that are not explained by the perspectives above. Further, the developers and designers can be embedded in the same work culture, such that they share values, assumptions and behaviours for getting the work done. But we have also encountered examples where developers and designers are in separate groups and embedded in distinct work cultures. Engaging in this sense requires that individuals step outside their group boundaries and figure out how to deal with each other on a daily basis — contending with very different values, assumptions and behaviours compared to their own. This is an important perspective to consider because of the implications for practice that it brings — highlighting the role of work culture, self-organisation and purposeful work. It is also a significant perspective, since we are unlikely to encounter teams in practice who are fully self-directed and independent of other teams, individuals or organisational influences. 5 Concluding remarks As we work through the problems that crossing disciplinary boundaries suggest, we simultaneously need an awareness of which conception of the problem is actually being addressed. In this paper I have identified a third perspective requiring attention, where we take account of the work settings in which the combination of Agile development and usability is played out. According to this perspective, it would be unrealistic to expect that one ideal approach would emerge and successfully translate to any other work setting. Instead, it shifts attention to the work cultures involved in usability and Agile development in practice. It shows how understanding and supporting the mechanisms of the work cultures that achieve engagement in that setting, contribute to understanding and supporting the mechanisms that enable usability in an agile domain. References 1. Haikara, J.: Usability in Agile Software Development: Extending the Interaction Design Process with Personas Approach . In: Concas, G., Damiani, E., Scotto, M., Succi, G. (eds.) Page 24 of 125
  3. 3. 2010 CRC PhD Student Conference Agile Processes in Software Engineering and Extreme Programming. LNCS, vol. 4536/2007, pp. 153–156. Springer, Berlin/Heidelberg (2007) 2. Vaughan, D.: The Challenger Launch Decision: Risky technology, culture and deviance at NASA. The University of Chicago Press, Chicago and London (1996) 3. Obendorf, H., Finck, M.: Scenario-based usability engineering techniques in agile development processes. In: CHI ’08 Extended Abstracts on Human Factors in Computing Systems (Florence, Italy, April 05 - 10, 2008), pp. 2159–2166. ACM, New York, NY (2008) 4. Sy, D.: Adapting usability investigations for Agile user-centered design. Journal of Usability Studies 2(3), 112–132 (2007) 5. Kane, D.: Finding a Place for Discount Usability Engineering in Agile Development: Throwing Down the Gauntlet. In: Proceedings of the Conference on Agile Development (June 25 - 28, 2003), pp. 40. IEEE Computer Society, Los Alamitos, CA (2003) 6. Patton, J.: Hitting the target: adding interaction design to agile software development. In: OOPSLA 2002 Practitioners Reports (Seattle, Washington, November 04 - 08, 2002), pp. 1-ff. ACM, New York, NY (2002) Page 25 of 125