November 30, 2009

Demystifying the UX Designer's Scrum Role


I'm very excited that I've started to use Agile at Perforce! My role as a User Experience (UX) Designer includes designing a product that provides the best user experience we can possibly build for our customers, conducting and analyzing usability tests, and conforming all graphical user interface designs to pleasing aesthetics and standards. I've participated in many software development life-cycle models including the traditional waterfall and the iterative approaches. None have felt as promising from the very beginning of the project as Agile's Scrum approach. After learning about Scrum, which doesn't clearly define the Designer role, my first questions were, "where does the User Experience Designer role fit into Scrum? What are my activities supposed to be?"

We believe that Scrum is working for us. Having our executive team's support has been the #1 reason for our success.  I've been a part of process improvement projects in the past which failed primarily due to lack of support from the company leadership.  This isn't the case at Perforce.  Our managers have hired a coach to come in to train those of us new to agile on how to do Scrum and sent us to external training.

The first benefit we've seen is improved communication on our cross-functional team since the team started Scrum.  We have daily 15 minute meetings where each of us states what we did yesterday, what we're planning to do today and what's standing in our way. These daily stand ups, provide us with a forum to speak to each other with a frequency we didn't previously have. The second benefit we've experienced is understanding if we're going to deliver.  Scrum requires us to break our work into iterations of work called sprints. Our team has decided to have 3-week sprints. At the beginning of each sprint, we do a lot of planning. We determine what tasks we must complete in the sprint in order to have the feature "done" - our definition of "done" may evolve with each sprint. At the end of each sprint we have a potentially shippable feature. Through all of our planning, we determine if we can deliver a particular feature in the time we have. If we decide we can't do it, the feature is moved to the product backlog and we either pick a smaller feature or focus on putting more quality into the features we know we can deliver.

As part of my training, I recently attended the Agile Development Practices Conference in Orlando where I was able to meet some of the authors of the Agile Manifesto whom I asked my questions above, "where does the User Experience fit in to Scrum? What are my activities supposed to be?" The answers varied slightly, but the general synopsis was that we, as User Experience designers need to find the answers ourselves, with what fits best for our team.  Out of all my research, I think I found what Mike Cohn wrote in his book, Succeeding with Agile: Software Development Using Scrum, the most promising.  Cohn references an article by Sy, Desirée. 2007: Adapting usability investigations for agile user-centered design from the Journal of Usability Studies.  The diagram below is my version of the process Sy calls out in her article, which I have adapted to include our own implementation of Scrum.


As a UX Designer, my work fits into the Scrum process in three phases:

  • Before the sprint: prior to the first sprint planning meeting, I produce specifications for a user story. During the sprint planning meeting, the team looks at the specifications, which include the mock-ups of the screens, and define the development and testing tasks needed to develop the story. Because I predefine the functionality, the team can focus on building the features. I also help the product owner refine other user stories for the project. While most time-consuming, I consider the pre-sprint tasks as my second priority.
  • During the sprint: I respond to any UI changes that are needed to help the team deliver the features required for the sprint. This task is my highest priority.
  • After the sprint: I review the completed work with an eye on the user experience, make sure that what I designed is what's been implemented, and ensure that we deliver the best visual client for SCM that we can possibly produce. While important, the other two tasks take precedence to this one.

The UX Designer's role fits into Scrum as a committed, involved member of the team. The primary function is to support the team as it strives to complete a sprint. The other functions include defining future work for the team and reviewing the team's completed work.