The Value of Just-Enough User-Centered Design in an Agile Development Process
We all know design is important in the development process (even when that process is Agile), but how far will just-in-time design really get you creating a great user experience? Integrating usability and design into the agile process seems to be a hot topic right now. Many people have offered up opinions on how to do just that, including taking advantage of Iteration 0 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. What worked really well for one team usually didn’t suit another team’s needs. Here are a couple of ways that I have found success in integrating just enough user-centered design within agile development teams:
Truly embracing Iteration 0, 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 held 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, guerrilla 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
The idea here is that a succinct set of tasks are identified as a minimum marketable feature. This feature, that should take no more than a couple of months to complete, is then well defined and understood by the user experience and development teams. Similar to using Iteration 0, it is best to allow the user experience group to be a feature ahead of the development team. For the first feature, it may be helpful to start with something that is development heavy.
During the couple of months that the development team is coding a feature, the user experience group has a bit more time to breathe and conduct moderated usability testing to drive the creation of their wireframes, walkthroughs and screen mock ups. Since this method mitigates features from being partially implemented (because the development team can’t move on to the next feature until this one is complete), the whole user experience can be evaluated and summative testing can be conducted after development is complete. The results from the usability study can be slated as an upcoming, minimum marketable feature.
Continued in “What About the Big Picture – Part 2”…