Top

How to Combine User-Centered Design and Agile Development

December 7, 2015

Agile development has recently captured the imagination of many software development teams—and with good reason: its focus on producing working software quickly is well suited to today’s fast-paced markets. But how do you go about combining agile with user-centered design (UCD) so you can enjoy the benefits of both approaches? On the face of it, they should work well together because both philosophies are iterative, incorporating testing with users and refinement. But in practice, they often conflict with one another.

An agile approach such as Scrum tries to minimize up-front planning in favor of producing working code quickly. Plus, agile generally prefers in-situ workshops for gathering requirements, while UCD largely favors up-front user research. Agile also uses working software as its primary measure of progress, while UCD focuses on whether users can easily achieve their goals—with or without software. To add to these discrepancies, because agile is typically led by developers, while UX professionals usually drive UCD, the differences between these two approaches can result in political conflicts in many companies.

Sponsor Advertisement
Continue Reading…

But, despite these potential conflicts, it really is worthwhile to merge these approaches on many projects because the combined impact of agile and UCD can be extremely powerful. When this combination works, quickly delivering tangible software that offers a great user experience is the outcome.

At my company, Cyber-Duck, we’ve been refining our combination of UCD, agile, and Lean for over 10 years—slightly adjusting our methods depending on the project. For example, we used a highly agile, UCD approach to produce a new Web application portal for Ximbio, a crowd-sourced marketplace for scientific-research tools that Cancer Research Technology had commissioned. This article outlines the building blocks of our approach.

Flexible Pricing

Using traditional development approaches, agencies often start by providing their clients with a fixed quote for the structured deliverables they’ll create in phases. While, with the often sequential nature of UCD, this can work well, it can backfire with agile methods because the exact feature set a team must deliver often remains undefined at the outset of a project.

We address this problem by creating a proposal that presents our vision for a project. We then divide the work that is necessary to deliver a Minimum Viable Product (MVP) into sprints and provide a quote for each sprint. We know we’ll prioritize the epics and stories in the backlog at the start of a project and agree on priorities collaboratively before we start each sprint. UCD research often informs this process. Our proposal clarifies the backlog’s topology.

So how does this work financially from an agency’s perspective? From the very outset, we know the type and number of resources each sprint requires, so in essence, the client is hiring a team.

Sprint Planning

For larger and more technical projects, we recommend a four-week sprint. We start with a week of production—that is, UX design and coding. The second week includes the agency’s internal quality assurance (QA), with the agency handing over the test scripts to the client during a face-to-face meeting, which aids clear communication. A third week of client user acceptance testing (UAT) then follows, which includes a backlog-planning meeting for the next sprint. The fourth week starts with a show-and-tell meeting, followed by the deployment of the code, or delivering design. There is also a final retrospective meeting at the end of that week, highlighting what went well and what we can improve on during the next sprint.

So what does it mean to deliver design during a sprint, and how can this work for UCD deliverables? We can bundle research-oriented UCD efforts that we can accomplish within one week—such as persona research, wireframes, interviews, usability testing, and ethnography—into a story; assign points, or levels of effort, to them; and prioritize the stories within the backlog. We then prioritize the UCD-driven stories for a sprint in the same way that we prioritize development—based on the client’s priorities. It’s also necessary to include a clear definition of each deliverable in the stories’ acceptance criteria.

Cross-Functional, Collaborative Teams

As with any project using Scrum, it’s critical to employ cross-functional, collaborative teams when merging the UCD approach into agile. To maximize the collaborative potential, you must create a multidisciplinary team comprising natural team players who are flexible and, ideally, are co-located. All of these team members bring their own strengths and expertise to the table. From the very outset, the team should have all of the expertise that is necessary to deliver the project—from UX researchers, UX designers, and developers to product owners and quality-assurance engineers. This not only improves efficiency, but also maximizes collaboration and helps the team to maintain a commitment to the original project vision.

So, for instance, developers should be involved in design and usability testing, ensuring that the design takes into consideration the realities and constraints of development. Similarly, UX designers should work with developers on implementation to ensure that user needs drive development. Scrum masters, or project managers, are necessary to help run the project. We recommend having people in these roles on both the agency and the client side. Among other things, they oversee a risk register and help mitigate risks accordingly.

A Research and Planning Sprint

When combining agile and UCD approaches, we find it best to start with a user-focused research sprint, which we often refer to as sprint zero—unless the client already has a relevant brand and solid user-centric research. Most don’t. Unlike other sprints, for which software is the output, the purpose of sprint zero is to define the user experience requirements and, if necessary, design a new brand and preliminary style guides and marketing messaging. It’s always best to do this up front. Doing typical user, stakeholder, and market-based UCD research during sprint zero ensures that all requirements are evidence based. The team also produces branding assets, when necessary, that they can use to help propel future sprints.

For us, sprint zero usually includes a series of high-level epics, comprising bundled stories or spikes—research-driven stories or tasks—to which we allocate effort points. In all other aspects, we manage sprint zero just like any other sprint, with a cross-functional, collaborative team coming together for daily standup meetings to resolve any issues and keeping very open lines of communication with the client stakeholders.

Adapting UCD Activities

To work effectively within agile time scales and short sprints, it’s often necessary to adapt UCD activities. This may mean conducting usability testing with fewer participants, testing low-fidelity mockups, or streamlining some planning processes. Nielsen Norman refers to these as discount usability methods.

Again, all team members should be involved in deciding on the output of each UCD activity and translating insights into realistic, actionable tasks.

Simple, Actionable Documentation

While many see detailed documentation as a given outcome of UCD, the agile approach states a preference for “working software over comprehensive documentation.” When combining these two approaches, it’s necessary to compromise cleverly, so you keep the documentation simple, but ensure it’s just as informative, from a practical standpoint, as lengthier documentation would be.

To keep a record of deliverables and decisions, we use high-level documentation that is concise and actionable. Examples include creating visual presentations instead of lengthy documents or providing light-weight summaries of research insights and a list of the resulting actions. Whenever possible, we also use tools such as Basecamp that provide integrated revision control and collaborative features that save more time.

Allocating UCD Time

To create a truly user-centered product, it’s necessary to allocate time for user-focused research during subsequent sprints—not just sprint zero. Otherwise, UX designers may be forced to rely on assumptions rather than evidence, or they may end up creating a patchwork user experience that addresses each individual requirement, but overlooks the bigger picture. In my opinion, allocating sufficient time for research and doing it properly is the biggest challenge in combining agile and UCD approaches.

When necessary, we overcome this issue by having our designers work on core features a sprint in advance, giving them time to solve the big issues and ensure a holistic user experience. That said, when doing this, you have to be extremely careful not to silo design work and ensure that all team members are still collaborating on and solving problems together.

To Conclude

In combination, agile and UCD approaches really can offer the best of both worlds, resulting in the rapid delivery of digital products that users love. The trick is in making it really work because, despite sharing philosophical elements, the approaches are radically different in practice.

Nevertheless, the strength of this combination does not make it right for all projects. Every project is different. We’ve found that our combined agile UCD approach works best when projects have a flexible scope with evolving requirements, there is a need to release a product quickly, complex feature sets are best developed collaboratively, and there is a single product owner who can sign off on making changes on the fly, so you can avoid getting caught up in lengthy rounds of approvals. 

Founder & CEO at Cyber-Duck

London, England, UK

Danny BluestoneDanny is Founder and CEO of Cyber-Duck, a leading, full-service digital agency. Inspired by his goal of fusing creative, technical, and marketing expertise into the creation of superior user experiences, he established the agency in 2005. Now, Cyber-Duck works internationally with global brands like Cancer Research Technology, The EU, and Arsenal FC. In his leadership role at Cyber-Duck, he continues to refine their accredited design process, drawing on both the Lean and agile project-management methodologies, along with creative research and development. Danny enjoys sharing his expertise with the enterprise, User Experience, and technology communities, including the UKTI, UX London, and UXPA. Numerous publications, including UX Magazine, Econsultancy, and Smashing Magazine, have featured his digital insights.  Read More

Other Articles on Agile UX

New on UXmatters