User-Centered Agile Software Development
I just finished reading User-Centered Agile Methods. It is a short and well written book that attempts to paint an accurate picture of how user experience design can fit in with current Agile development processes.
It has a whole bunch of useful nuggets of information (for both UXers and developers). However, the most useful piece to me is the really cogent description of Sprint 0 (Inception sprint, Phase 0) .
Sprint 0 is one of the most debated aspects of integrating UX into the Agile development cycle. Many Agile experts state that Sprint 0 is a violation of the basic principles of Agile. While others say that it is just silly to start a project without a bit of planning and architecture.
People that debate against Sprint 0 say that it is just one way to sneak Big Design Up Front (BDUF) into agile development. The point that the book makes is that it isn't BDUF, It is Big Picture Up Front.
In the book, he explains:
From the agile perspective, the world changes. Requirements change. Management goals change. Therefore, if you spend months working on a design, it is highly likely that most of that design will never be implemented as envisioned.
But he counters:
It has been the experience of the developers that every time users are shown a system that implements the requirements the developers were given, the users ask for something different. This makes it look like the requirements have changed. It is not apparent that the users were unable to articulate their real needs in the first place.
Putting a UX designer on your team to be the voice of the user and using a sprint 0 to draw up the big picture will do a much better job at gathering useful requirements and crafting user stories than the project owner or the users themselves could ever do.
In theory, not doing a sprint 0 and refining the application through iteration could achieve the same result as doing some UX design in a sprint 0. The same way that unicellular organisms incrementally evolved into human beings. But that took millions of years and most of our projects are not planned on geologic time scales.