User Experience 2008
Chicago
Nov 2-7
Amsterdam
Nov 16-21

Agile Development and Usability

  • Chicago: Monday, November 3
  • Amsterdam: Monday, November 17

Chris Nodder
Melissa Federoff

Full-Day Tutorial

Rapid Application Development (RAD) processes such as Agile development pose new problems for user experience professionals. The lack of upfront definition time, the constant design changes, and the daily need for instant decisions are all counter to traditional usability "best practice.” Well, hard luck.

If your teams are using these development methodologies, you have to work within the same parameters. Luckily, there are several discount usability techniques that you can apply to stay at least a step ahead of developers and therefore keep control of the user interface.

This session gives you a primer on RAD techniques and terminology, then addresses specific challenges that UX professionals face in an Agile-type environment. You will learn which usability techniques are most applicable in this environment and when to use them, as well as how to overcome a RAD team's objections to undertaking usability work.

As part of the tutorial, Melissa Federoff, Senior Usability Analyst at Salesforce.com, will offer an extended case study, sharing her experiences in providing usability support during the transition from traditional to Agile methods.

What You’ll Learn

In this session, you’ll learn:

  • Agile/Extreme Programming terminology and what it means for usability practitioners
  • How to integrate your existing usability methods and data into an Agile development process
  • Which new usability techniques can help you maximize your contribution to the team
  • The communication strategies that work best in a fast-moving environment
  • The political pitfalls, and how to navigate them so that the team and management welcome your input
  • How to measure your impact and demonstrate how your involvement led to a better product

Course Outline

  • What is Agile/Rapid Application Development?
    • The key differences between Agile and traditional development methodologies
    • Development practices on Agile-type projects
    • Common benefits of Agile-type processes
  • Challenges for usability practitioners in an Agile environment
    • Sprinting to stand still: How to keep up with the project team
    • How to gather user data before it’s even clear what the product will do
    • How to run spec reviews without a specification document
    • Dealing with day-by-day changes to the code base and interface
    • Communicating user needs to a quick-moving team
    • Ensuring that the underlying architecture doesn’t constrain the interface
    • Running usability studies on pre-alpha code
    • Keeping a focus on the big picture across multiple code releases
  • Techniques for staying ahead of the team
    • Assumption personas: Thumbnail personas for fast iteration
    • Owning the user experience through early and frequent involvement
    • Playing your own game: How to de-couple from the development cycle but still stay connected
    • Talking about the user: How to introduce user-centered data into the process
    • Building a parallel user interface for testing
    • Becoming well connected: Establishing a base of participants that you can tap at a moment’s notice
    • Data at your fingertips: Creating a repository of user information to draw from in scrum meetings
    • Guerilla usability and other quick-and-dirty techniques
  • Relevant usability techniques
    • Early work: Site visits, background research, persona creation, concept testing, competitor studies, information architecture
    • Decoupled work: Paper prototyping, interactive prototyping
    • During sprints: Cognitive walkthroughs, revolving door studies, RITE usability
    • Post-sprint: Validation studies
  • Salesforce.com: A Case Study
    • In-depth analysis of the move from traditional to Agile development techniques from a usability perspective: History, learning process, trial and error
    • Future challenges: Usability at Salesforce.com today, plans for improving the Agile UCD process, emphasis on different research methods
    • Open questions: Outstanding issues and how to tap into the answers; how to share information with other practitioners
  • Easier said than done: Tips for working with teams
    • Complaining won't make it happen: How to get involved
    • Asking for forgiveness, not permission: Waiting to be given a place in the project lifecycle model won’t work
    • Learning to say “No”: Countering the dev team's preconceived notions about usability
    • No investment, no return: Sharing responsibility for managing the team and staying on equal footing with all disciplines
    • Putting your money where your mouth is: Owning usability bugs
    • Helping your Product Owner: Sharing responsibility for Product Backlog prioritization
    • Showing your value: Measuring your impact in financial terms
    • Wearing many hats: Essential techniques for short-staffed teams

Format

This full-day tutorial includes lectures, exercises, and discussion.

Handouts

Copies of all presentation slides

Who Should Attend:

Whether you are already working in an Agile environment, will be soon, or just want to learn more about how usability fits into this type of development methodology, this class will give you both the conceptual overview and the practical steps for integrating usability techniques into an Agile-style development methodology.

Instructors:

photo of Chris Nodder Chris Nodder a User Experience Specialist with Nielsen Norman Group. He works with large and small clients across Europe and the US, in industries as diverse as financial services, health care, entertainment, e-commerce, telecommunications, government, intranets, and highly specialized B2B sectors. He coauthored the NN/g reports on B2B usability and wishlists and gift giving, conducting focus groups, user studies, and field research. Before joining NN/g, Nodder worked as a usability consultant at NatWest Bank in the UK, and then as a senior user researcher at Microsoft Corp. His experiences managing the usability group at NatWest are captured in the book The Politics of Usability. During his seven years at Microsoft, Nodder was responsible for many products, including the user experience for XP Service Pack 2, a major upgrade to Windows XP (documented in the book Security and Usability). He has created personas, reality TV episodes, and even whole rooms ("usertoriums") as ways of getting developers to walk in their customers' shoes. Nodder earned an M.S. in human-computer interaction from Guildhall University, London, and a B.S. in psychology from the Polytechnic of East London. He has presented at and spoken on panels for conferences such as UPA, CHI, Group, CSCW, and British HCI.
photo of Melissa Federoff Melissa Federoff is a Senior Usability Analyst at salesforce.com, the leader in on-demand Customer Relationship Management. At salesforce.com, Melissa leads the research efforts for the Platform which includes tools that enable developers and administrators to customize and build new features and applications. All of the teams she supports have been using Agile for over two years. Since the roll-out of Agile to the Research & Development department, the salesforce.com User Experience team has been adapting both design and research approaches to be able to maintain a user-centered process despite the tight timelines dictated by Agile development.