Do agile development and usable decision support systems fit together?

The investigation of usability issues within the agile development process of products is not new. A lot of research has been going on especially for similarities and differences between these two areas. Many frameworks have been developed that try to integrate agile development and usability. A systematic literature review, according to Kitchenham (2004), identified nine different frameworks. This literature review describes and compares these frameworks. The aim is to find a way to integrate usability issues into the agile development process without slowing down product development. The question is: who needs to adapt; the agile development, the usability perspective, or both?

Agile development has one major goal: to code as early as possible (Gundelsweiler, Memmel and Reiterer 2004). Therefore, it is defined through several values (Sy 2007):

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

These values have advantages for the development of products but some are major pitfalls for usability issues. Taking, for example, the second point where the specific benefit of agile is that designers spend less time with documentation and more time coding (Haikara 2007). However, making a product more usable requires time to specify requirements and user interfaces (Gundelsweiler, Memmel and Reiterer 2004).

The last point of this list is also a possible threat to more usable products. When a product is tested throughout the development process with real users the usability is expected to be good. But when closer to the end a major redesign happens because of changing user needs, the previous usability studies are useless and usability designers have to start from scratch. These issues wouldn’t appear if developers would take a traditional approach like the waterfall approach. However, the growing literature about agile shows that it is becoming more and more popular and that’s why it is worth finding a compromise between agile development and usability.

Table 1 shows possible pitfalls and opportunities for the values of agile.

Values of agile Pitfalls for usability Opportunities for usability

Individuals and interactions over processes and tools

Developers may forget to consider usability issues during development because they focus on other issues

Usability designers can become a part of the development team

Working software over comprehensive documentation

Time is required to specify requirements and user interfaces

Usability designers can test with software and , e.g., paper prototypes

Customer collaboration over contract negotiation

Customers might not be the end user in terms of usability issues

Usability designers can get feedback from customers in order to improve the product

Responding to change over following a plan

Usability designers may have to start from scratch

The response to change might be because of usability issues and, therefore, reduces usability issues in the long-term

Table 1 – Consequences of agile for usability (according to Blomkvist 2005, Constantine 2002, Gundelsweiler, Memmel and Reiterer 2004, Lee 2006, Sy 2007)

This section focuses on aspects from the nine identified approaches that are suitable for DSS and therefore, suitable for cognitive task analysis/walkthroughs and work-domain analysis under the constraint that they integrate well with development (Blomkvist 2005, Chamberlain and Sharp 2006, Constantine 2002, Haikara 2007, Ferreira, Noble & Biddle 2007, Noble and Biddle 2007, Lee 2006, Lee and McCrickard 2007, Obendorf and Finck 2008). When thinking about the definition of work-domain analysis, where typical tasks of a user are analysed, it is possible to identify a starting point. Chamberlain, Sharp & Maiden proposed five principles for integrating UCD and agile development (2006). One of these is ‘collaboration and culture’ where they mention that designers and developers need to communicate. Taken the work-domain analysis both could highly contribute and benefit: developers find out more about the user’s requirements and designers can identify product performance constraints. Another point Chamberlain, Sharp & Maiden mention within their principles is ‘project management’ (2006). Although agile focuses on coding and not documentation some sort of project management is necessary and there are methods that are especially relevant for agile (e.g. SCRUM). Project management also helps the usability designers to become a real part of the development team. When everyone is clear about the usability studies during the development, developers know what to expect and they can plan accordingly. Another benefit is that usability designers are not seen as someone passive but as an integral part of the team. Obendorf and Finck took scenario-based usability techniques as a starting point to integrate agile and usability issues. Cognitive task analysis/walkthroughs are a form of scenario-based usability techniques and therefore it is possible to apply some of their key principles (2008). They mention that in agile, requirements engineering has never been explicitly defined, but it is a crucial part for usability design. Based on the previous fact, it is also possible to use scenarios: stories can be developed which act as features; from these stories, tasks can be developed which then act as development tasks or technical responsibilities (Obendorf and Fink 2008). There is only one problem with this method which Obendorf and Finck identified. They found it difficult to develop abstract scenarios without requirements (2008). Using work-domain analysis first might help to solve this challenge.

Both sides need to adapt to some extent, but it appears that the usability side should adapt more to be suitable for agile development. This is a key aspect for not slowing down the development. However, agile development should accept that usability is not only a necessary part for a successful product but can advance the development process, too.

Bibliography

Blomkvist, S., 2005. Towards a model for bridging agile development and user-centered design A. Seffah, J. Gulliksen, & M. C. Desmarais, eds. HumanCentered Software Engineering—Integrating Usability in the Software Development Lifecycle, 8(IV), pp.219–244. Available at: http://www.springerlink.com/content/l468235391807205/.

Chamberlain, S., Sharp, H. & Maiden, N., 2006. Towards a framework for integrating agile development and user-centred design. In P. Abrahamsson, M. Marchesi, & G. Succi, eds. Extreme Programming and Agile Processes in Software Engineering. Springer Berlin, pp. 143–153. Available at: http://oro.open.ac.uk/4928/.

Constantine, L.L., 2002. Process Agility and Software Usability : Toward Lightweight Usage-Centered Design. Information Age, 1(June 2001), pp.1–10. Available at: http://informatix.ida.liu.se/~TDP010/info/material/agiledesign4.pdf.

Ferreira, J., Noble, J. & Biddle, R., 2007. Agile Development Iterations and UI Design. Agile 2007 Agile 2007, pp.50–58. Available at: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4293575.

Gundelsweiler, F., Memmel, T. & Reiterer, H., 2004. Agile Usability Engineering. Engineering, pp.33–42. Available at: http://hci.uni-konstanz.de/downloads/fg_tm_hr_mc_2004.pdf.

Haikara, J., 2007. Usability in Agile Software Development : Extending the Interaction Design Process with Personas Approach G. Concas et al., eds. Design, 4536(2007), pp.153–156. Available at: http://www.springerlink.com/content/fhj22n0864r60237.

Kane, D., 2003. Finding a place for discount usability engineering in agile development: throwing down the gauntlet, Ieee. Available at: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1231451.

Lee, J.C., 2006. Embracing agile development of usable software systems. CHI 06 extended abstracts on Human factors in computing systems CHI 06, p.1767. Available at: http://portal.acm.org/citation.cfm?doid=1125451.1125784.

Lee, J.C. & McCrickard, D.S., 2007. Towards Extreme(ly) Usable Software: Exploring Tensions Between Usability and Agile Software Development. Agile 2007 Agile 2007, pp.59–71. Available at: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4293576.

Obendorf, H. & Finck, M., 2008. Scenario-based usability engineering techniques in agile development processes. Proceeding of the twentysixth annual CHI conference extended abstracts on Human factors in computing systems CHI 08, p.2159. Available at: http://portal.acm.org/citation.cfm?doid=1358628.1358649.

Sy, D., 2007. Adapting Usability Investigations for Agile User-centered Design. Journal of Usability Studies, 2(3), pp.112–132. Available at: http://gawain.soc.staffs.ac.uk/modules/levelm/ce00231-m/ms/agile-ucd.pdf.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: