SlideShare a Scribd company logo
1 of 5
Download to read offline
UCD in Agile Projects:
                                            Dream Team or Odd Couple?
                                                          Paul McInerney > IBM Toronto Lab > paulmci@ca.ibm.com
                                                          Frank Maurer > University of Calgary > maurer@cpsc.ucalgary.ca




                                                                      IMAGINE INTERVIEWING for the position of UCD specialist in a company that uses
                                                                      an agile software development process. Could you answer questions such as, “how
                                                                      does UCD fit in an agile process?”
                                                                          UCD specialists may be horrified when they first hear about agile methods [1].
                                                                      Agile literature emphasizes developers delivering production code quickly rather per-
                                                                      forming extensive analysis and design (e.g., UCD) prior to coding. However, the agile
                                                                      literature indicates that this perception is simplistic and misguided. Examining pro-
                                                                      fessional practice, as we do in this article, paints a different picture of how UCD and
                                                                      agile practices coexist in a development team.


                                                                      INTRODUCTION TO AGILE METHODS. The agile approach is quickly becoming
                                                                      mainstream in the software industry. The agile community is defined by a core set of
                                                                      beliefs and practices. The most well-known articulation of agile beliefs is the
                                                                      Manifesto for Agile Software Development (www.agilemanifesto.org), which states:
                                                                          “...we have come to value:
                                                                                 • Individuals and interactions over processes and tools
                                                                                 • Working software over comprehensive documentation
                                                                                 • Customer collaboration over contract negotiation
                                                                                 • Responding to change over following a plan
                                                                          ...”
                                                                          The most widely used agile approaches are Extreme Programming [2] and
                                                                      Scrum [5]. Information about others (including Adaptive Software Development,
                                                                      Agile Software Development, DSDM, Lean Software Development, Feature-Driven
                                                                      Development, Agile Modeling) can readily be found on the Internet.
                                                                          The following paragraph highlights the interactions occurring in an idealized
                                                                      agile team by providing a glimpse into a typical flow of work. Italicized terms are key
                                                                      agile terms.
                                                                          At the beginning of an iteration (or Scrum Sprint), members of the team sit down
                                                                      with their on-site customer representative(s) to discuss what features they’d like
                                                                      included in their application. While a bit ambiguous in the agile lingo, customers
                                                                      include anyone who has a stake in the development project (including clients and
                                                                      users). Customer requests are captured as user stories on index cards. A user story is
                                                                      a description of a feature of the software system that has business value in the eyes
                                                                      of the customer representatives. User stories play a similar role to use cases, scenar-

Permission to make digital or hard
                                                                      ios, or requirements lists that are used in non-agile methodologies. As the informa-
copies of all or part of this work for                                tion captured on an index card can’t be a complete feature description, user stories
personal or classroom use is granted
without the fee, provided that copies                                 are treated as a reminder for further communication with the customer representa-
are not made or distributed for profit or
                                                                      tives. Based on effort estimates for stories provided by the developers, the customers
commercial advantage, and that copies
bear this notice and the full citation on                             select the highest-priority stories for the upcoming iteration. Others are placed in the
the first page. To copy otherwise, to
republish, to post on services or to                                  product backlog. During the iteration, the programming team divides the work among
redistribute to lists, requires prior
                                                                      pair programmers and completes the entire test-driven development life cycle for each
specific   permission   and/or   a   fee.
© ACM 1072-5220/05/1100 $5.00                                         story: Automated acceptance tests drive the development of unit tests that, in turn,


                                            i n t e r a c t i o n s   /    n o v e m b e r   +   d e c e m b e r   2 0 0 5                               : / 19
drive the development of production code that has to make all tests pass. Regression
                                                     testing supports refactoring of the software design. To enable easier face-to-face
                                                     communication, the entire team works at computers on a boardroom-type table.
                                                     There is a 15-minute daily scrum where each member provides a brief update on her
                                                     progress, her plans and any obstacles blocking her work. At the end of the iteration,
                                                     the team is supposed to deliver potentially shippable product functionality for an
                                                     acceptance review. The iterations continue until the customer determines that the
                                                     incremental costs for additional features cannot be justified by the increased busi-
                                                     ness value.
                                                          In the following, we’ll discuss how UCD specialists found their role in agile envi-
                                                     ronments.


                                                     INTRODUCTION TO THE CASE STUDY. The authors interviewed three UCD spe-
                                                     cialists who were working on their first agile project. They all have degrees with a
                                                     UCD/HCI specialization and prior UCD experience.

                                                              • TB works on medical instrumentation products using the Industrial XP
                                                                methodology.

                                                              • MG’s project involves replacing a character-based UI to a supply-chain-
                                                                planning product. The company uses an agile approach developed in-
                                                                house.

                                                              • PV is an independent consultant whose client is a start-up company
                                                                developing tools to support agile development. The company uses an
                                                                agile approach developed in-house.

                                                          The remainder of this article compares agile literature to the case studies under
                                                     following headings: making the case for UCD, understanding users, UI design, and
                                                     evaluating design usability.


                                                     MAKING THE CASE FOR UCD. Like other development methods, the agile litera-
                                                     ture does not identify a distinct UCD role, so the onus remains on UCD to justify and
                                                     define its role on the team. Table 1 shows common UCD claims and how they might
                                                     be countered by someone familiar with agile literature.


                                                     UCD Value Proposition                     Agile Response
                                                     UCD represents users                      Agile teams include
                                                     within the development team.              customer representatives.
         Table 1: Common UCD claims and how
          they might be countered by someone         UCD provides specialized                  Agile approaches prefer generalists and
                    familiar with agile literature   skills in UI design.                      discourage extensive upfront design work.


                                                          While the preceding table paints a depressing picture, our case studies told a dif-
                                                     ferent story.

                                                              • TB: His company’s centralized UCD group supported a proposal to pilot
                                                                agile methods and dedicated TB to the pilot team. TB’s UCD role is part of
                                                                the product management team, which includes product managers,


: / 20                                        i n t e r a c t i o n s    /   n o v e m b e r    +   d e c e m b e r   2 0 0 5
domain experts, a technical writer, and two testers. As part of the “every-
                                   one pitch in” ethos of agile projects, TB helps write acceptance tests, and
                                   other product management team members help run usability tests.

                                  • MG: MG’s company has a centralized UCD group with an executive
                                   leader. That leader mandated that UCD staff be routinely included on proj-
                                   ects. Receptivity to this directive varies. MG supports two teams; the team
                                   discussed in this article was receptive. Compared to non-agile projects,
                                   timesharing is more difficult. MG has not experienced much blurring of
                                   her UCD role.

                                  • PV: PV is an independent consultant whose client is a start-up company.
                                   The company founder sought UCD skills because of an exposure to UCD
                                   at a prior company. PV works mostly remotely and uses instant messag-
                                   ing. In addition to his traditional UCD duties, he helps solve technical Web
                                   development issues.


                          UNDERSTANDING USERS. This section examines understanding users as an
                          input to subsequent design activities. The agile literature perspective can be charac-
                          terized by the following points:

                                  • Favors developers working directly with customer representative(s) to
                                   understand requirements.

                                  • Based on developer recommendations, customer representatives make
                                   final decisions on how the system should behave.

                                  • Complete only a preliminary analysis before beginning coding and clarify
                                   customer needs as questions arise during the coding.

                              Our practitioners encountered practices described above but also experienced
                          significant deviations. They reported that the “customer representative” was often an
                          employee of the software vendor. This person could be a domain expert, a former
                          employee of the customer, or someone responsible for product direction. Our prac-
                          titioners often found they were able to extend agile practices with traditional UCD
                          approaches, including personas. As well, UCD was able to undertake significant “up-
                          front analysis and UI design.” Here are some specific experiences:

                                  • TB: By coincidence, UCD had completed contextual enquiry and personas
                                   before the agile project was launched. TB recommends this up-front
                                   analysis prior to project start-up.

                                  • MG: Inclusion of UCD in writing customer stories is variable.


                          UI DESIGN. The agile literature suggests UCD UI design practices need adjustment,
                          as shown in Table 2.
                              Our case study participants confirmed that their UI design practices required
                          adjustments, especially to adapt to iterative development. They gave the following
                          examples of the scope of UI design addressed in a single story:


i n t e r a c t i o n s   /    n o v e m b e r   +   d e c e m b e r   2 0 0 5                             : / 21
Agile Method Attribute                              Possible Implications for UI Design
                                                                                                                 UI design focuses on a small piece of
                                                             Each iteration focuses on vertical slices
                                                                                                                 the application that progresses rapidly
                                                             through the application.
                                                                                                                 from concept to code.
                                                             There is little notion of a                         UI design may be more of a “team
                                                             “UI designer” specialty.                            effort.”.
                Table 2: Agile literature suggests UCD       Pairs of programmers work out software              The UI designer needs to be “on call”
                 UI design practices need adjustment.        design on the spot as they program.                 to participate in ad hoc discussions.



                                                                      • A single dialog box or area of the screen, e.g., an interactive graph.

                                                                      • A Find dialog box, including determining the places where this dialog
                                                                        should be launched from.

  ACKNOWLEDGEMENTS AND DISCLAIMER                                 Here are some specific experiences:
  Thanks to Mahitha Gokulachandra, Tom                                • TB: He spends most of his time on the current iteration, especially
  Bellman, Katherine Marshak, Pawan Vora, and                           answering questions about his UI design and discussing or reviewing pro-
  Jeff Patton for their time for the interviews and
                                                                        gramming work in progress. He spends the rest of the time working on
  their feedback on this article. The views
                                                                        prototypes for stories for the next one or two iterations. He also maintains
  expressed in this article are those of the authors
                                                                        an unofficial visionary prototype as a roadmap beyond the current itera-
  rather than their employers.
                                                                        tion. TB reports as an example of the “all pitch in” ethos that the project
                                                                        manager has taken on the role of reviewing design details for UI guideline
                                                                        compliance.
                  ABOUT THE AUTHORS             Paul
                  McInerney is a senior member of                     • MG: She tries to generate multiple design options and engage program-
                  the UCD team for the DB2 data-                        mers in discussions about which options best fit the story. The approach
                  base product at IBM. He has writ-
                                                                        contrasts with that of developers who tend to create hi-fi prototypes that
  ten or presented on topics such as writing UI
                                                                        only explore only one option. MG highlights that the lack of UI design
  specifications, managing UI design, scenarios,
                                                                        ownership means that everyone wants to be involved in design, which
  tracking usability defects, and integrating usabili-
                                                                        can lead to design by committee. As well, when there is a nontrivial UI
  ty engineering into traditional software develop-
                                                                        design change, she needs to convince everyone.
  ment methodologies (published in the anthology
  Design by People for People: Essays on                              • PV: PV reported misgivings about design decisions being made in early
  Usability).
                                                                        iterations without a view of the entire UI. Over the course of many itera-
                  Dr. Frank Maurer is the head of                       tions, he sees shortfalls in prior work but doesn’t have the documentation
                  the e-Business Engineering group                      of the rationale for the earlier design. In the future, he’ll consider writing
                  at the University of Calgary. The                     design rationale or design patterns. PV also observed that as the project
                  work of his group focuses on                          progresses, he can deliver more design per iteration because the team
  agile methods and Web engineering. A recent line                      can reuse design and code from prior iterations.
  of research deals with combining agile methods
  with ideas from human-computer interaction and
  user-centered design. More information can be
                                                            EVALUATING DESIGN USABILITY. This final section examines evaluating design
  found at http://ebe.cpsc.ucalgary.ca/ebe. Dr              usability. Some differences between UCD and agile approaches are shown in the
  Maurer is the co-founder of the Calgary Agile             Table 3.
  Methods Users Group (http://www.agilenet-                       Our practitioners were sometimes able to extend agile practices with tradition-
  work.ca/camug) and the Canadian Agile Network             al UCD approaches. Limited success seemed due to traditional barriers, namely
  (http://www.agilenetwork.ca).                             schedule impact and difficulties making design changes late in the cycle.



: / 22                                                i n t e r a c t i o n s   /     n o v e m b e r   +   d e c e m b e r   2 0 0 5
UCD Approach                                           Agile Approach

                                                       Use about five users that fit                          Put system increments into production
                                                       predefined user profiles                               ASAP to get real-world feedback

                                                                                                              Evaluate production-ready code at
                                                       Start evaluating using low-fi designs
                                                                                                              the end of each iteration
                                                       Use methods such as hands-on
                                                                                                              Demonstrate the working code to
                Table 3: Some differences between      testing and collect metrics, such as
                                                                                                              obtain an accept or fix verdict
                         UCD and agile approaches      efficiency and satisfaction



                                                           Here are some specific experiences:

                                                               • TB: TB’s team conducts empirical testing with real users at least once for
                                                                 every internal release (three months). Little usability testing is done per
                                                                 iteration. They use paired observers for tests, adapting the pair program-
                                                                 ming practice. Originally, they had trouble getting design changes made,
                                                                 but recently, the team decided to devote two weeks from every internal
                                                                 release to making changes resulting from usability testing. Sometimes
                                                                 they conduct informal usability testing in the programming area with the
                                                                 latest code, which engages the interest of programmers working nearby.

                                                               • MG: Her testing is similar to non-agile projects. However, testing is
                                                                 focused on feeding changes into the next project plan (as opposed to fix-
                                                                 ing this release).

                                                               • PV: Usability testing is informally done every few iterations. Testing might
                                                                 involve showing customers or customer proxies prototypes. The pace and
                                                                 timeframe of iterations makes testing more difficult than in non-agile
                                                                 projects. He is still working on convincing the project sponsor to spend
                                                                 time on more testing.


                                                      CONCLUSIONS. Agile methods have a distinctive development culture that, at first
                                                      glance, seems not to be hospitable to UCD. However, all our UCD practitioner reports
                                                      were positive. Certainly, work-life aspects were positive-they felt actively engaged in
                                                      a common goal. Our participants said the resulting UI designs may or may not be bet-
                                                      ter but are certainly no worse. These case studies can be seen as interim reports:
                                                      Agile methods are still maturing, and no case study participant had yet shipped their
                                                      first agile project. To keep informed about recent discussions, visit the Yahoo discus-
                                                      sion group called “Agile Usability” [4].




REFERENCES 1. John Armitage: Are Agile Methods Good for Design?, ACM Interactions, p. 14-23, January/February 2004. 2. Kent Beck, Cynthia Andres:
Extreme Programming Explained: Embrace Change (2nd Edition), Addison-Wesley, 2004. 3. Alan Cooper: The Inmates Are Running the Asylum:
Why High Tech Products Drive Us Crazy and How to Restore the Sanity, SAMS, 1999. 4. Jeff Patton (owner/moderator): Agile Usability Discussion Group,
http://groups.yahoo.com/group/agile-usability (last visited: Dec 2004) 5. Ken Schwaber: Agile Project Management with Scrum, Microsoft Press, 2004.




                            i n t e r a c t i o n s    /    n o v e m b e r   +   d e c e m b e r   2 0 0 5                                            : / 23

More Related Content

What's hot

Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)siouxhotornot
 
Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Chris Sterling
 
SwissQ Agile Trends & Benchmarks 2012 (Englisch)
SwissQ Agile Trends & Benchmarks 2012 (Englisch)SwissQ Agile Trends & Benchmarks 2012 (Englisch)
SwissQ Agile Trends & Benchmarks 2012 (Englisch)SwissQ Consulting AG
 
Sioux Hot-or-Not: Essential Unified Process (Ivar Jacobson)
Sioux Hot-or-Not: Essential Unified Process (Ivar  Jacobson)Sioux Hot-or-Not: Essential Unified Process (Ivar  Jacobson)
Sioux Hot-or-Not: Essential Unified Process (Ivar Jacobson)siouxhotornot
 
Google's Innovation Factory (ICST 2010)
Google's Innovation Factory (ICST 2010)Google's Innovation Factory (ICST 2010)
Google's Innovation Factory (ICST 2010)Go Ku
 
Agile architecture upload
Agile architecture uploadAgile architecture upload
Agile architecture uploadThe Real Dyl
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology
 
Note on Tool to Measure Complexity
Note on Tool to Measure Complexity Note on Tool to Measure Complexity
Note on Tool to Measure Complexity John Thomas
 
Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button ReleaseChris Sterling
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011Chris Sterling
 
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleManaging Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleChris Sterling
 
PCA10 Heres a Scenario For You
PCA10 Heres a Scenario For YouPCA10 Heres a Scenario For You
PCA10 Heres a Scenario For YouPaul Teich
 
Offshore Cost Relief
Offshore Cost ReliefOffshore Cost Relief
Offshore Cost Reliefrpboulan53
 
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)siouxhotornot
 
Simulation Professional - What each module can do for me
Simulation Professional - What each module can do for meSimulation Professional - What each module can do for me
Simulation Professional - What each module can do for mePrism Engineering, Inc.
 
Experience Driven Agile - Developing Up to an Experience, Not Down to a Feature
Experience Driven Agile - Developing Up to an Experience, Not Down to a FeatureExperience Driven Agile - Developing Up to an Experience, Not Down to a Feature
Experience Driven Agile - Developing Up to an Experience, Not Down to a Featurekalebwalton
 
OSSCube - Zend Webinar
OSSCube - Zend WebinarOSSCube - Zend Webinar
OSSCube - Zend WebinarOSSCube
 
JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...
JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...
JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...InSync2011
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementChris Sterling
 

What's hot (20)

Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
 
Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011Managing Software Debt in Practice 2011
Managing Software Debt in Practice 2011
 
SwissQ Agile Trends & Benchmarks 2012 (Englisch)
SwissQ Agile Trends & Benchmarks 2012 (Englisch)SwissQ Agile Trends & Benchmarks 2012 (Englisch)
SwissQ Agile Trends & Benchmarks 2012 (Englisch)
 
Sioux Hot-or-Not: Essential Unified Process (Ivar Jacobson)
Sioux Hot-or-Not: Essential Unified Process (Ivar  Jacobson)Sioux Hot-or-Not: Essential Unified Process (Ivar  Jacobson)
Sioux Hot-or-Not: Essential Unified Process (Ivar Jacobson)
 
Google's Innovation Factory (ICST 2010)
Google's Innovation Factory (ICST 2010)Google's Innovation Factory (ICST 2010)
Google's Innovation Factory (ICST 2010)
 
iSpot- Cisco
iSpot- CiscoiSpot- Cisco
iSpot- Cisco
 
Agile architecture upload
Agile architecture uploadAgile architecture upload
Agile architecture upload
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineering
 
Note on Tool to Measure Complexity
Note on Tool to Measure Complexity Note on Tool to Measure Complexity
Note on Tool to Measure Complexity
 
Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button Release
 
Testing in an Agile Context 2011
Testing in an Agile Context 2011Testing in an Agile Context 2011
Testing in an Agile Context 2011
 
Managing Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG SeattleManaging Software Debt - Quality Debt Focus for QASIG Seattle
Managing Software Debt - Quality Debt Focus for QASIG Seattle
 
PCA10 Heres a Scenario For You
PCA10 Heres a Scenario For YouPCA10 Heres a Scenario For You
PCA10 Heres a Scenario For You
 
Offshore Cost Relief
Offshore Cost ReliefOffshore Cost Relief
Offshore Cost Relief
 
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
 
Simulation Professional - What each module can do for me
Simulation Professional - What each module can do for meSimulation Professional - What each module can do for me
Simulation Professional - What each module can do for me
 
Experience Driven Agile - Developing Up to an Experience, Not Down to a Feature
Experience Driven Agile - Developing Up to an Experience, Not Down to a FeatureExperience Driven Agile - Developing Up to an Experience, Not Down to a Feature
Experience Driven Agile - Developing Up to an Experience, Not Down to a Feature
 
OSSCube - Zend Webinar
OSSCube - Zend WebinarOSSCube - Zend Webinar
OSSCube - Zend Webinar
 
JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...
JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...
JDE & Peoplesoft 3 | Antionette Leuthard | Peoplesoft Human Capital Managemen...
 
Integrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio ManagementIntegrating Quality into Project Portfolio Management
Integrating Quality into Project Portfolio Management
 

Viewers also liked

Designing.service.systems.front.back.stage
Designing.service.systems.front.back.stageDesigning.service.systems.front.back.stage
Designing.service.systems.front.back.stageNika Stuard
 
Bad usability calendar_08_us_english
Bad usability calendar_08_us_englishBad usability calendar_08_us_english
Bad usability calendar_08_us_englishNika Stuard
 
Choosing.a.good.chart
Choosing.a.good.chartChoosing.a.good.chart
Choosing.a.good.chartNika Stuard
 
Bad usability calendar_08_us_english_a4
Bad usability calendar_08_us_english_a4Bad usability calendar_08_us_english_a4
Bad usability calendar_08_us_english_a4Nika Stuard
 
10 interview med_designere
10 interview med_designere10 interview med_designere
10 interview med_designereNika Stuard
 
3 5 3_miheeva_natalia
3 5 3_miheeva_natalia3 5 3_miheeva_natalia
3 5 3_miheeva_nataliaNika Stuard
 
02 problem solving_02
02 problem solving_0202 problem solving_02
02 problem solving_02Nika Stuard
 
1 5 2_faradjulaev_oleg
1 5 2_faradjulaev_oleg1 5 2_faradjulaev_oleg
1 5 2_faradjulaev_olegNika Stuard
 
4 7 3_vachadze_david
4 7 3_vachadze_david4 7 3_vachadze_david
4 7 3_vachadze_davidNika Stuard
 
1 4 3_ukolov_mihail
1 4 3_ukolov_mihail1 4 3_ukolov_mihail
1 4 3_ukolov_mihailNika Stuard
 
1 2 2_nikolskiy_anton
1 2 2_nikolskiy_anton1 2 2_nikolskiy_anton
1 2 2_nikolskiy_antonNika Stuard
 
4 1 1_ovchinnikova_roman
4 1 1_ovchinnikova_roman4 1 1_ovchinnikova_roman
4 1 1_ovchinnikova_romanNika Stuard
 
1 1 1_ovchinnikov_boris
1 1 1_ovchinnikov_boris1 1 1_ovchinnikov_boris
1 1 1_ovchinnikov_borisNika Stuard
 
1 6 2_rojnov_alex
1 6 2_rojnov_alex1 6 2_rojnov_alex
1 6 2_rojnov_alexNika Stuard
 
1 5 3_barshev_dmitriy
1 5 3_barshev_dmitriy1 5 3_barshev_dmitriy
1 5 3_barshev_dmitriyNika Stuard
 
"Текстовая оптимизация as is" Михаил РАЙЦИН
"Текстовая оптимизация as is" Михаил РАЙЦИН"Текстовая оптимизация as is" Михаил РАЙЦИН
"Текстовая оптимизация as is" Михаил РАЙЦИНNika Stuard
 
3 2 2_ladikov_alex
3 2 2_ladikov_alex3 2 2_ladikov_alex
3 2 2_ladikov_alexNika Stuard
 
Web applicationsolutions
Web applicationsolutionsWeb applicationsolutions
Web applicationsolutionsNika Stuard
 
1 6 1_matuhov_andrey
1 6 1_matuhov_andrey1 6 1_matuhov_andrey
1 6 1_matuhov_andreyNika Stuard
 
3 2 3_polkovnichenko_sergey
3 2 3_polkovnichenko_sergey3 2 3_polkovnichenko_sergey
3 2 3_polkovnichenko_sergeyNika Stuard
 

Viewers also liked (20)

Designing.service.systems.front.back.stage
Designing.service.systems.front.back.stageDesigning.service.systems.front.back.stage
Designing.service.systems.front.back.stage
 
Bad usability calendar_08_us_english
Bad usability calendar_08_us_englishBad usability calendar_08_us_english
Bad usability calendar_08_us_english
 
Choosing.a.good.chart
Choosing.a.good.chartChoosing.a.good.chart
Choosing.a.good.chart
 
Bad usability calendar_08_us_english_a4
Bad usability calendar_08_us_english_a4Bad usability calendar_08_us_english_a4
Bad usability calendar_08_us_english_a4
 
10 interview med_designere
10 interview med_designere10 interview med_designere
10 interview med_designere
 
3 5 3_miheeva_natalia
3 5 3_miheeva_natalia3 5 3_miheeva_natalia
3 5 3_miheeva_natalia
 
02 problem solving_02
02 problem solving_0202 problem solving_02
02 problem solving_02
 
1 5 2_faradjulaev_oleg
1 5 2_faradjulaev_oleg1 5 2_faradjulaev_oleg
1 5 2_faradjulaev_oleg
 
4 7 3_vachadze_david
4 7 3_vachadze_david4 7 3_vachadze_david
4 7 3_vachadze_david
 
1 4 3_ukolov_mihail
1 4 3_ukolov_mihail1 4 3_ukolov_mihail
1 4 3_ukolov_mihail
 
1 2 2_nikolskiy_anton
1 2 2_nikolskiy_anton1 2 2_nikolskiy_anton
1 2 2_nikolskiy_anton
 
4 1 1_ovchinnikova_roman
4 1 1_ovchinnikova_roman4 1 1_ovchinnikova_roman
4 1 1_ovchinnikova_roman
 
1 1 1_ovchinnikov_boris
1 1 1_ovchinnikov_boris1 1 1_ovchinnikov_boris
1 1 1_ovchinnikov_boris
 
1 6 2_rojnov_alex
1 6 2_rojnov_alex1 6 2_rojnov_alex
1 6 2_rojnov_alex
 
1 5 3_barshev_dmitriy
1 5 3_barshev_dmitriy1 5 3_barshev_dmitriy
1 5 3_barshev_dmitriy
 
"Текстовая оптимизация as is" Михаил РАЙЦИН
"Текстовая оптимизация as is" Михаил РАЙЦИН"Текстовая оптимизация as is" Михаил РАЙЦИН
"Текстовая оптимизация as is" Михаил РАЙЦИН
 
3 2 2_ladikov_alex
3 2 2_ladikov_alex3 2 2_ladikov_alex
3 2 2_ladikov_alex
 
Web applicationsolutions
Web applicationsolutionsWeb applicationsolutions
Web applicationsolutions
 
1 6 1_matuhov_andrey
1 6 1_matuhov_andrey1 6 1_matuhov_andrey
1 6 1_matuhov_andrey
 
3 2 3_polkovnichenko_sergey
3 2 3_polkovnichenko_sergey3 2 3_polkovnichenko_sergey
3 2 3_polkovnichenko_sergey
 

Similar to Agile.usability

Agile Localization Fundamentals: An Integrative Approach
Agile Localization Fundamentals: An Integrative ApproachAgile Localization Fundamentals: An Integrative Approach
Agile Localization Fundamentals: An Integrative ApproachAlberto Ferreira
 
Difference Between Agile And Scrum
Difference Between Agile And ScrumDifference Between Agile And Scrum
Difference Between Agile And ScrumMichelle Madero
 
Glossary of Agile Terms
Glossary of Agile TermsGlossary of Agile Terms
Glossary of Agile TermsValtech UK
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsNicole Gomez
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
HOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYAHOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYADivya Tadi
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software developmentbizpresenter
 
Scrum an extension pattern language for hyperproductive software development
Scrum an extension pattern language  for hyperproductive software developmentScrum an extension pattern language  for hyperproductive software development
Scrum an extension pattern language for hyperproductive software developmentShiraz316
 
Technology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of ScrumTechnology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of ScrumIOSR Journals
 
CTLR 2010 Issue 7 Waterfall Contract
CTLR 2010 Issue 7 Waterfall ContractCTLR 2010 Issue 7 Waterfall Contract
CTLR 2010 Issue 7 Waterfall Contractsusanatkinson
 
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGY
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGYMAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGY
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGYcscpconf
 
Mapping of traditional software development methods to agile methodology
Mapping of traditional software development methods to agile methodologyMapping of traditional software development methods to agile methodology
Mapping of traditional software development methods to agile methodologycsandit
 
Penetration testing in agile software
Penetration testing in agile softwarePenetration testing in agile software
Penetration testing in agile softwareijcisjournal
 
Using Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsUsing Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsArnold Rudorfer
 

Similar to Agile.usability (20)

Agile development
Agile developmentAgile development
Agile development
 
SE Lecture 3.ppt
SE Lecture 3.pptSE Lecture 3.ppt
SE Lecture 3.ppt
 
Agile Localization Fundamentals: An Integrative Approach
Agile Localization Fundamentals: An Integrative ApproachAgile Localization Fundamentals: An Integrative Approach
Agile Localization Fundamentals: An Integrative Approach
 
Difference Between Agile And Scrum
Difference Between Agile And ScrumDifference Between Agile And Scrum
Difference Between Agile And Scrum
 
Glossary of Agile Terms
Glossary of Agile TermsGlossary of Agile Terms
Glossary of Agile Terms
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Symbioun's Agile Capabilities
Symbioun's Agile CapabilitiesSymbioun's Agile Capabilities
Symbioun's Agile Capabilities
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
HOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYAHOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYA
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
Scrum an extension pattern language for hyperproductive software development
Scrum an extension pattern language  for hyperproductive software developmentScrum an extension pattern language  for hyperproductive software development
Scrum an extension pattern language for hyperproductive software development
 
Technology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of ScrumTechnology Integration Pattern For Distributed Scrum of Scrum
Technology Integration Pattern For Distributed Scrum of Scrum
 
CTLR 2010 Issue 7 Waterfall Contract
CTLR 2010 Issue 7 Waterfall ContractCTLR 2010 Issue 7 Waterfall Contract
CTLR 2010 Issue 7 Waterfall Contract
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGY
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGYMAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGY
MAPPING OF TRADITIONAL SOFTWARE DEVELOPMENT METHODS TO AGILE METHODOLOGY
 
Mapping of traditional software development methods to agile methodology
Mapping of traditional software development methods to agile methodologyMapping of traditional software development methods to agile methodology
Mapping of traditional software development methods to agile methodology
 
Penetration testing in agile software
Penetration testing in agile softwarePenetration testing in agile software
Penetration testing in agile software
 
Displacing the Programmers
Displacing the Programmers Displacing the Programmers
Displacing the Programmers
 
Using Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsUsing Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product Requirements
 

More from Nika Stuard

Designlecture 091008072837-phpapp01
Designlecture 091008072837-phpapp01Designlecture 091008072837-phpapp01
Designlecture 091008072837-phpapp01Nika Stuard
 
Designing.for.todays.web
Designing.for.todays.webDesigning.for.todays.web
Designing.for.todays.webNika Stuard
 
Applying user modelling to human computer interaction design
Applying user modelling to human computer interaction designApplying user modelling to human computer interaction design
Applying user modelling to human computer interaction designNika Stuard
 
Aesthetics of ixd
Aesthetics of ixdAesthetics of ixd
Aesthetics of ixdNika Stuard
 
Accessibility.508checklist
Accessibility.508checklistAccessibility.508checklist
Accessibility.508checklistNika Stuard
 
13 support designere
13 support designere13 support designere
13 support designereNika Stuard
 
11 teori flow_immersion
11 teori flow_immersion11 teori flow_immersion
11 teori flow_immersionNika Stuard
 
06 brugeres forventninger
06 brugeres forventninger06 brugeres forventninger
06 brugeres forventningerNika Stuard
 
05 computertask playfull
05 computertask playfull05 computertask playfull
05 computertask playfullNika Stuard
 
4 3 3_pomanova_nadegda
4 3 3_pomanova_nadegda4 3 3_pomanova_nadegda
4 3 3_pomanova_nadegdaNika Stuard
 
4 3 2_romanova_maria
4 3 2_romanova_maria4 3 2_romanova_maria
4 3 2_romanova_mariaNika Stuard
 
4 3 2_koritkin_andrey
4 3 2_koritkin_andrey4 3 2_koritkin_andrey
4 3 2_koritkin_andreyNika Stuard
 
4 1 3_terehov_anton
4 1 3_terehov_anton4 1 3_terehov_anton
4 1 3_terehov_antonNika Stuard
 
4 3 1_kolokolnikov_alex
4 3 1_kolokolnikov_alex4 3 1_kolokolnikov_alex
4 3 1_kolokolnikov_alexNika Stuard
 
3 7 2_avdey_alex
3 7 2_avdey_alex3 7 2_avdey_alex
3 7 2_avdey_alexNika Stuard
 
3 7 1_klimanskaya_elena
3 7 1_klimanskaya_elena3 7 1_klimanskaya_elena
3 7 1_klimanskaya_elenaNika Stuard
 
3 6 4_semenova_ekaterina
3 6 4_semenova_ekaterina3 6 4_semenova_ekaterina
3 6 4_semenova_ekaterinaNika Stuard
 
3 6 2_shikolenkov_timofey
3 6 2_shikolenkov_timofey3 6 2_shikolenkov_timofey
3 6 2_shikolenkov_timofeyNika Stuard
 
3 5 2_hitrov_sergey
3 5 2_hitrov_sergey3 5 2_hitrov_sergey
3 5 2_hitrov_sergeyNika Stuard
 
3 5 1_flaks_vladislav
3 5 1_flaks_vladislav3 5 1_flaks_vladislav
3 5 1_flaks_vladislavNika Stuard
 

More from Nika Stuard (20)

Designlecture 091008072837-phpapp01
Designlecture 091008072837-phpapp01Designlecture 091008072837-phpapp01
Designlecture 091008072837-phpapp01
 
Designing.for.todays.web
Designing.for.todays.webDesigning.for.todays.web
Designing.for.todays.web
 
Applying user modelling to human computer interaction design
Applying user modelling to human computer interaction designApplying user modelling to human computer interaction design
Applying user modelling to human computer interaction design
 
Aesthetics of ixd
Aesthetics of ixdAesthetics of ixd
Aesthetics of ixd
 
Accessibility.508checklist
Accessibility.508checklistAccessibility.508checklist
Accessibility.508checklist
 
13 support designere
13 support designere13 support designere
13 support designere
 
11 teori flow_immersion
11 teori flow_immersion11 teori flow_immersion
11 teori flow_immersion
 
06 brugeres forventninger
06 brugeres forventninger06 brugeres forventninger
06 brugeres forventninger
 
05 computertask playfull
05 computertask playfull05 computertask playfull
05 computertask playfull
 
4 3 3_pomanova_nadegda
4 3 3_pomanova_nadegda4 3 3_pomanova_nadegda
4 3 3_pomanova_nadegda
 
4 3 2_romanova_maria
4 3 2_romanova_maria4 3 2_romanova_maria
4 3 2_romanova_maria
 
4 3 2_koritkin_andrey
4 3 2_koritkin_andrey4 3 2_koritkin_andrey
4 3 2_koritkin_andrey
 
4 1 3_terehov_anton
4 1 3_terehov_anton4 1 3_terehov_anton
4 1 3_terehov_anton
 
4 3 1_kolokolnikov_alex
4 3 1_kolokolnikov_alex4 3 1_kolokolnikov_alex
4 3 1_kolokolnikov_alex
 
3 7 2_avdey_alex
3 7 2_avdey_alex3 7 2_avdey_alex
3 7 2_avdey_alex
 
3 7 1_klimanskaya_elena
3 7 1_klimanskaya_elena3 7 1_klimanskaya_elena
3 7 1_klimanskaya_elena
 
3 6 4_semenova_ekaterina
3 6 4_semenova_ekaterina3 6 4_semenova_ekaterina
3 6 4_semenova_ekaterina
 
3 6 2_shikolenkov_timofey
3 6 2_shikolenkov_timofey3 6 2_shikolenkov_timofey
3 6 2_shikolenkov_timofey
 
3 5 2_hitrov_sergey
3 5 2_hitrov_sergey3 5 2_hitrov_sergey
3 5 2_hitrov_sergey
 
3 5 1_flaks_vladislav
3 5 1_flaks_vladislav3 5 1_flaks_vladislav
3 5 1_flaks_vladislav
 

Agile.usability

  • 1. UCD in Agile Projects: Dream Team or Odd Couple? Paul McInerney > IBM Toronto Lab > paulmci@ca.ibm.com Frank Maurer > University of Calgary > maurer@cpsc.ucalgary.ca IMAGINE INTERVIEWING for the position of UCD specialist in a company that uses an agile software development process. Could you answer questions such as, “how does UCD fit in an agile process?” UCD specialists may be horrified when they first hear about agile methods [1]. Agile literature emphasizes developers delivering production code quickly rather per- forming extensive analysis and design (e.g., UCD) prior to coding. However, the agile literature indicates that this perception is simplistic and misguided. Examining pro- fessional practice, as we do in this article, paints a different picture of how UCD and agile practices coexist in a development team. INTRODUCTION TO AGILE METHODS. The agile approach is quickly becoming mainstream in the software industry. The agile community is defined by a core set of beliefs and practices. The most well-known articulation of agile beliefs is the Manifesto for Agile Software Development (www.agilemanifesto.org), which states: “...we have come to value: • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan ...” The most widely used agile approaches are Extreme Programming [2] and Scrum [5]. Information about others (including Adaptive Software Development, Agile Software Development, DSDM, Lean Software Development, Feature-Driven Development, Agile Modeling) can readily be found on the Internet. The following paragraph highlights the interactions occurring in an idealized agile team by providing a glimpse into a typical flow of work. Italicized terms are key agile terms. At the beginning of an iteration (or Scrum Sprint), members of the team sit down with their on-site customer representative(s) to discuss what features they’d like included in their application. While a bit ambiguous in the agile lingo, customers include anyone who has a stake in the development project (including clients and users). Customer requests are captured as user stories on index cards. A user story is a description of a feature of the software system that has business value in the eyes of the customer representatives. User stories play a similar role to use cases, scenar- Permission to make digital or hard ios, or requirements lists that are used in non-agile methodologies. As the informa- copies of all or part of this work for tion captured on an index card can’t be a complete feature description, user stories personal or classroom use is granted without the fee, provided that copies are treated as a reminder for further communication with the customer representa- are not made or distributed for profit or tives. Based on effort estimates for stories provided by the developers, the customers commercial advantage, and that copies bear this notice and the full citation on select the highest-priority stories for the upcoming iteration. Others are placed in the the first page. To copy otherwise, to republish, to post on services or to product backlog. During the iteration, the programming team divides the work among redistribute to lists, requires prior pair programmers and completes the entire test-driven development life cycle for each specific permission and/or a fee. © ACM 1072-5220/05/1100 $5.00 story: Automated acceptance tests drive the development of unit tests that, in turn, i n t e r a c t i o n s / n o v e m b e r + d e c e m b e r 2 0 0 5 : / 19
  • 2. drive the development of production code that has to make all tests pass. Regression testing supports refactoring of the software design. To enable easier face-to-face communication, the entire team works at computers on a boardroom-type table. There is a 15-minute daily scrum where each member provides a brief update on her progress, her plans and any obstacles blocking her work. At the end of the iteration, the team is supposed to deliver potentially shippable product functionality for an acceptance review. The iterations continue until the customer determines that the incremental costs for additional features cannot be justified by the increased busi- ness value. In the following, we’ll discuss how UCD specialists found their role in agile envi- ronments. INTRODUCTION TO THE CASE STUDY. The authors interviewed three UCD spe- cialists who were working on their first agile project. They all have degrees with a UCD/HCI specialization and prior UCD experience. • TB works on medical instrumentation products using the Industrial XP methodology. • MG’s project involves replacing a character-based UI to a supply-chain- planning product. The company uses an agile approach developed in- house. • PV is an independent consultant whose client is a start-up company developing tools to support agile development. The company uses an agile approach developed in-house. The remainder of this article compares agile literature to the case studies under following headings: making the case for UCD, understanding users, UI design, and evaluating design usability. MAKING THE CASE FOR UCD. Like other development methods, the agile litera- ture does not identify a distinct UCD role, so the onus remains on UCD to justify and define its role on the team. Table 1 shows common UCD claims and how they might be countered by someone familiar with agile literature. UCD Value Proposition Agile Response UCD represents users Agile teams include within the development team. customer representatives. Table 1: Common UCD claims and how they might be countered by someone UCD provides specialized Agile approaches prefer generalists and familiar with agile literature skills in UI design. discourage extensive upfront design work. While the preceding table paints a depressing picture, our case studies told a dif- ferent story. • TB: His company’s centralized UCD group supported a proposal to pilot agile methods and dedicated TB to the pilot team. TB’s UCD role is part of the product management team, which includes product managers, : / 20 i n t e r a c t i o n s / n o v e m b e r + d e c e m b e r 2 0 0 5
  • 3. domain experts, a technical writer, and two testers. As part of the “every- one pitch in” ethos of agile projects, TB helps write acceptance tests, and other product management team members help run usability tests. • MG: MG’s company has a centralized UCD group with an executive leader. That leader mandated that UCD staff be routinely included on proj- ects. Receptivity to this directive varies. MG supports two teams; the team discussed in this article was receptive. Compared to non-agile projects, timesharing is more difficult. MG has not experienced much blurring of her UCD role. • PV: PV is an independent consultant whose client is a start-up company. The company founder sought UCD skills because of an exposure to UCD at a prior company. PV works mostly remotely and uses instant messag- ing. In addition to his traditional UCD duties, he helps solve technical Web development issues. UNDERSTANDING USERS. This section examines understanding users as an input to subsequent design activities. The agile literature perspective can be charac- terized by the following points: • Favors developers working directly with customer representative(s) to understand requirements. • Based on developer recommendations, customer representatives make final decisions on how the system should behave. • Complete only a preliminary analysis before beginning coding and clarify customer needs as questions arise during the coding. Our practitioners encountered practices described above but also experienced significant deviations. They reported that the “customer representative” was often an employee of the software vendor. This person could be a domain expert, a former employee of the customer, or someone responsible for product direction. Our prac- titioners often found they were able to extend agile practices with traditional UCD approaches, including personas. As well, UCD was able to undertake significant “up- front analysis and UI design.” Here are some specific experiences: • TB: By coincidence, UCD had completed contextual enquiry and personas before the agile project was launched. TB recommends this up-front analysis prior to project start-up. • MG: Inclusion of UCD in writing customer stories is variable. UI DESIGN. The agile literature suggests UCD UI design practices need adjustment, as shown in Table 2. Our case study participants confirmed that their UI design practices required adjustments, especially to adapt to iterative development. They gave the following examples of the scope of UI design addressed in a single story: i n t e r a c t i o n s / n o v e m b e r + d e c e m b e r 2 0 0 5 : / 21
  • 4. Agile Method Attribute Possible Implications for UI Design UI design focuses on a small piece of Each iteration focuses on vertical slices the application that progresses rapidly through the application. from concept to code. There is little notion of a UI design may be more of a “team “UI designer” specialty. effort.”. Table 2: Agile literature suggests UCD Pairs of programmers work out software The UI designer needs to be “on call” UI design practices need adjustment. design on the spot as they program. to participate in ad hoc discussions. • A single dialog box or area of the screen, e.g., an interactive graph. • A Find dialog box, including determining the places where this dialog should be launched from. ACKNOWLEDGEMENTS AND DISCLAIMER Here are some specific experiences: Thanks to Mahitha Gokulachandra, Tom • TB: He spends most of his time on the current iteration, especially Bellman, Katherine Marshak, Pawan Vora, and answering questions about his UI design and discussing or reviewing pro- Jeff Patton for their time for the interviews and gramming work in progress. He spends the rest of the time working on their feedback on this article. The views prototypes for stories for the next one or two iterations. He also maintains expressed in this article are those of the authors an unofficial visionary prototype as a roadmap beyond the current itera- rather than their employers. tion. TB reports as an example of the “all pitch in” ethos that the project manager has taken on the role of reviewing design details for UI guideline compliance. ABOUT THE AUTHORS Paul McInerney is a senior member of • MG: She tries to generate multiple design options and engage program- the UCD team for the DB2 data- mers in discussions about which options best fit the story. The approach base product at IBM. He has writ- contrasts with that of developers who tend to create hi-fi prototypes that ten or presented on topics such as writing UI only explore only one option. MG highlights that the lack of UI design specifications, managing UI design, scenarios, ownership means that everyone wants to be involved in design, which tracking usability defects, and integrating usabili- can lead to design by committee. As well, when there is a nontrivial UI ty engineering into traditional software develop- design change, she needs to convince everyone. ment methodologies (published in the anthology Design by People for People: Essays on • PV: PV reported misgivings about design decisions being made in early Usability). iterations without a view of the entire UI. Over the course of many itera- Dr. Frank Maurer is the head of tions, he sees shortfalls in prior work but doesn’t have the documentation the e-Business Engineering group of the rationale for the earlier design. In the future, he’ll consider writing at the University of Calgary. The design rationale or design patterns. PV also observed that as the project work of his group focuses on progresses, he can deliver more design per iteration because the team agile methods and Web engineering. A recent line can reuse design and code from prior iterations. of research deals with combining agile methods with ideas from human-computer interaction and user-centered design. More information can be EVALUATING DESIGN USABILITY. This final section examines evaluating design found at http://ebe.cpsc.ucalgary.ca/ebe. Dr usability. Some differences between UCD and agile approaches are shown in the Maurer is the co-founder of the Calgary Agile Table 3. Methods Users Group (http://www.agilenet- Our practitioners were sometimes able to extend agile practices with tradition- work.ca/camug) and the Canadian Agile Network al UCD approaches. Limited success seemed due to traditional barriers, namely (http://www.agilenetwork.ca). schedule impact and difficulties making design changes late in the cycle. : / 22 i n t e r a c t i o n s / n o v e m b e r + d e c e m b e r 2 0 0 5
  • 5. UCD Approach Agile Approach Use about five users that fit Put system increments into production predefined user profiles ASAP to get real-world feedback Evaluate production-ready code at Start evaluating using low-fi designs the end of each iteration Use methods such as hands-on Demonstrate the working code to Table 3: Some differences between testing and collect metrics, such as obtain an accept or fix verdict UCD and agile approaches efficiency and satisfaction Here are some specific experiences: • TB: TB’s team conducts empirical testing with real users at least once for every internal release (three months). Little usability testing is done per iteration. They use paired observers for tests, adapting the pair program- ming practice. Originally, they had trouble getting design changes made, but recently, the team decided to devote two weeks from every internal release to making changes resulting from usability testing. Sometimes they conduct informal usability testing in the programming area with the latest code, which engages the interest of programmers working nearby. • MG: Her testing is similar to non-agile projects. However, testing is focused on feeding changes into the next project plan (as opposed to fix- ing this release). • PV: Usability testing is informally done every few iterations. Testing might involve showing customers or customer proxies prototypes. The pace and timeframe of iterations makes testing more difficult than in non-agile projects. He is still working on convincing the project sponsor to spend time on more testing. CONCLUSIONS. Agile methods have a distinctive development culture that, at first glance, seems not to be hospitable to UCD. However, all our UCD practitioner reports were positive. Certainly, work-life aspects were positive-they felt actively engaged in a common goal. Our participants said the resulting UI designs may or may not be bet- ter but are certainly no worse. These case studies can be seen as interim reports: Agile methods are still maturing, and no case study participant had yet shipped their first agile project. To keep informed about recent discussions, visit the Yahoo discus- sion group called “Agile Usability” [4]. REFERENCES 1. John Armitage: Are Agile Methods Good for Design?, ACM Interactions, p. 14-23, January/February 2004. 2. Kent Beck, Cynthia Andres: Extreme Programming Explained: Embrace Change (2nd Edition), Addison-Wesley, 2004. 3. Alan Cooper: The Inmates Are Running the Asylum: Why High Tech Products Drive Us Crazy and How to Restore the Sanity, SAMS, 1999. 4. Jeff Patton (owner/moderator): Agile Usability Discussion Group, http://groups.yahoo.com/group/agile-usability (last visited: Dec 2004) 5. Ken Schwaber: Agile Project Management with Scrum, Microsoft Press, 2004. i n t e r a c t i o n s / n o v e m b e r + d e c e m b e r 2 0 0 5 : / 23