User Experience Design in the Agile Software Development method and Agile Process.

Agile Method

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. The term was coined in the year 2001 when the Agile Manifesto was formulated.

Agile methods generally promote a project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices that allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals. Conceptual foundations of this framework are found in modern approaches to operations management and analysis, such as lean manufacturing, soft systems methodology, speech act theory (network of conversations approach), and Six Sigma.

Source: "Agile Software Development." Wikipedia.

Agile Design Process

Agile design is an interative design process fit into the Agile Design Method. A bit more exploration of this concept is described in James Hobart's article:

We’re faced with shorter timelines, more aggressive development goals, and limited resources to complete our projects. Each project requires a UI design strategy successfully implemented with the other aspects of the project. Agile design addresses these constraints by limiting the level of documentation to a point that works well for the team based on the skill, complexity, and proximity of the team participants. Agile design acknowledges that great user interfaces are an iterative process and require time-tested, user-centered design techniques as a foundation for success.

Agile design is built upon the principles established by a talented team of professionals who wrote a manifesto on agile development to address the needs of the current development environment we all seem to face. We often attempt to layer usability into a fast moving agile development environment where successive iterations of the code base are commonplace. This approach can backfire if we insist on heavy documentation and human factors studies before getting prototypes in front of users. On the other hand, just putting a few developers in a room with some end users can often result in a product that works for a subset of users on the team, but not a product that truly delivers the benefits of user-centered design. This is because specific design decisions need to be validated with actual usability testing to verify how the users behave, rather than relying on what they think they want.

Source: "Optimizing User Experience with Agile Design." By James Hobart. Classic Systems Solutions, Inc..

Articles and Presentations on Design in the Agile Process

See Also