Tuesday, November 28, 2006

Maintaining User-Centered Design in Agile Software Development

Maintaining user experience and overall usability in software or web applications developed using the agile software development methodology can be a challenge. By it's very nature, agile development doesn't deliver a complete application or a working prototype that can be ran through a usability test evaluating all its features and functions. Applications developed under the agile methodology breaks the total project down into manageable "chunks" focusing on developing the most important features and functions that will have the greatest impact.

To adjust ourselves to this development methodology, user-centered design and usability professionals must adopt a similar process. Rather than looking at the application and its human-computer interaction model holistically we must work closely with developers, researching user needs and testing the usability of the features and functions that are created and delivered at the present moment.

The key is to avoid a cascading effect where the research conducted and the results of a specific test feed into the next. Be centrally focused. Just like agile development where key features and functions that have the greatest impact need to be developed first, test for usability based on just a few objectives that are supposed to be accomplished with the application.

For further insight into the alignment of these two practices Jeff Patton, an agile software developer, was recently interviewed on the subject of user-centered design and agile programming.

No comments: