July 11, 2011, 3:28 PM — We all know design is important in the development process, even in projects developed through Agile methodology. But how far will just-in-time design really get you in creating a great user experience? Integrating usability and design into the agile process is a hot topic right now. Many people have offered up opinions, including taking advantage of Iteration zero and infusing each story or task with user-centered design principles. But the big dilemma still remains. How much upfront design and usability is too much to be considered Agile?
As a designer, I have been fortunate enough to be a member of several development teams that each followed their own unique process. Although what works well for one team doesn't necessarily suit another team's needs, the principle of integrating just enough user-centered design can be applied successfully within almost any agile development project:
Truly embracing Iteration zero, I have found pre-iteration planning to be extremely effective. This tactic works great if you have a client that knows what they want about a week in advance and is willing to mostly stay committed. Essentially the user experience team works an iteration ahead of the development team. A short pre-iteration planning meeting is had with the client to determine their upcoming needs for the next iteration. Often we have had these meetings on Mondays and then the development team is able to estimate the upcoming iteration's work that Friday based of the user experience that the design team envisioned. Depending on the client, guerilla usability testing or un-moderated, remote usability testing on low-fidelity wireframes fits in nicely with this method since both can be prepared for quickly and yield an immediate response.
This method is most successful when there is an overall understanding of the application and its functions that is agreed upon. It also helps when the stories that are slated for upcoming iterations are somewhat related so some thought can be put into the user experience of a given workflow.
Minimum Marketable Features