Thursday, June 21, 2007

Human Computer Interaction (HCI) and Agile compatibility

The home-grown practices of HCI ...

"Design" in the Human Computer Interaction (HCI) world involves working with the user to understand the problem and come up with a user interface – typically on paper - of the entire system before turning it over, in Big Design Upfront (BDUF) manner, to the rest of the development team to build. So how can Robert Biddle claim that HCI has home-grown practices that are very similar to those of Agile?

In a workshop at XP2007, Frank Maurer, Jeff Patton, and Robert Biddle, presented three different views of how HCI and Agile can work together.

Jeff Patton described how his teams ran week-long workshops at the beginning of the release cycle. The goals of these workshops were to elucidate the typical workflow of the user community and produce paper mock-ups of user interfaces. The typical iterative development cycle followed this initial setup. This technique has allowed them to satisfy the end-user as well as the customer/product-owner - which isn't necessarily the case in a classic Agile team.

Frank Maur pointed out that business value does not always equal usability - the Agile notion of "customer/ product owner" is not necessarily the "end-user" of HCI. The Agile customer has the responsibility (and hopefully the ability) to make prioritization decisions and compromises when scheduling the requirements on a backlog and then building them incrementally. The HCI end-user is the person(s) that actually uses the software - HCI professionals work with them by showing them paper mock-ups of the user interface and studying their responses. So although both Agile and HCI are focused on building value, Agile focuses on "business value" while HCI focuses on "end-user usability".

Maur also compared and contrasted several practices between HCI and Agile:

• HCI experts represent the users in a development team while Agile includes a customer from the business as part of the team.
• HCI experts are specialists while Agile methods prefer generalists.
• HCI has upfront UI design, while Agile methods discourage upfront work.
• Usability comes from the "UI designer" in HCI, while quality is a "whole team" responsibility in Agile.
• HCI relies on usability testing and collecting metrics, while Agile relies on demonstrating working software."    (Continued via InfoQ)    [Usability Resources]


Post a Comment

<< Home

<< Home