Integration of User Centered Design in Agile Development of RIA - Soft-Shake 2010

Recently, Julia Borkenhagen and I held a presentation at Soft-Shake 2010 on the blue-infinity way of integrating the UX team with an Agile software development process.

Recently, Julia Borkenhagen and I held a presentation at Soft-Shake 2010 on the blue-infinity way of integrating the UX team with an Agile software development process.

Over the past few years, the software user interface has evolved around new technology and concepts such as Web 2.0, RIA and portlets, introduced by major players such as Google with Gmail, or Apple with the iPhone / iPad apps. Thus the level of expectation from the end  users has increased in terms of usability, design and innovation.

So what are the steps to combine a user centered design approach with Agile development? In our presentation, we emphasized 5 key points:

  1. Do your homework first
    Before starting to sketch out screens and workflows, take some time interviewing key stakeholders and representative end users and analyze existing applications as well as competitors / best-in-class. Developing personas and scenarios might help to better understand the users' context, needs, motivation and behavior patterns.
  2. Build a hi-level concept
    Instead of jumping right into the sprint process, it is important to have  a sprint 0 and come up with the general UI framework for the application (just as you need to define the technical architecture upfront). This includes process flows, a sitemap, hi-level wireframes, UI patterns, graphic design templates.
  3. UX works one sprint ahead of development
    Probably the most important point to consider for Agile development, the User Experience team needs to be able to work one sprint ahead and come up with detailed wireframes and specifications. Ideally, they should also be able to do some quick usability testing to validate the screens and flow with the users.
  4. Agile usability testing
    Testing should happen all throughout the project, starting in the initial analysis phase to test the existing, doing paper testing with the wireframe concepts and finally also test actual working software before it gets released.
  5. Collaboration throughout
    Any agile project will fail if the team members are not able to collaborate effectively with each other.  Since this is an iterative process, it is essential that developers are involved in the initial concept phase and the UX team in the development phase. and both sides are open-minded, flexible and respect each other.

Below is an excerpt of the slides we presented:


Digital news!

Are you as digitally addicted as we are? We can supply you with a regular dose of digital news. Simply sign-up, or click to Follow us online.

About the author

Jacques Desmazières
Jacques Desmazières

J2EE/Java senior consultant. Expert in Software architecture and technical design, and involved in the b-i quality commitee. Before working for blue-infinity he was the technical director of a banking software editor on the French Riviera and also spend some years as a system integration consultant.