This paper describes, at a high level, the incremental development cycle typical of an agile software development environment, and how adding Usage-Centered Design will help this process run smoother. Specific points of applicability during the incremental development cycle are pointed out, along with the specific U-CD technique to apply there. The paper assumes a basic knowledge of agile software development and Usage-Centered Design.
Adding Interaction Design Agile Software Development
Featured OOPSLA 2003
OOPSLA (Object-Oriented Programming, Systems, Languages & Applications) is an annual ACM research conference.
Extreme Programming appears to be a solution for discovering and meeting requirements faster (through close customer collaboration) as well as creating quality software. In practice we found XP did deliver high quality software quickly, but the resulting product still failed to delight the customer. Although the finished product should have been an exact fit, the actual end-user still ended up slogging through the system to accomplish necessary day-to-day work. This paper describes using interaction design in an agile development process to resolve this issue. Using interaction design as a day-to-day practice throughout an iterative development process helps our team at Tomax Technologies deliver high quality software, while feeling confident the resulting software will more likely meet end-user expectations. The method of Interaction Design followed here is based on Constantine and Lockwood’s Usage- Centered Design. Recommendations are provided on how to practice an agile form of U-CD and how to incorporate bits of Interaction Design thinking into every day development and product planning decisions.
Read Hitting the Target
This paper, from several folks at Microsoft, describes the RITE method – or Rapid Iterative Testing and Evaluation method for using usability testing to find tune and improve the design of software. This approach to testing is highly aligned with agile thinking.
The Rite Method: A definition and case study