Harmonizing Agile With "User-Centered Design"

UX specialist Anthony Colfelt presents a case for how agile, alone, might not be sufficient and a thorough and engaging look into how User-Centered Design can, and should, be merged with it.

Colfelt sets up his message asking if agile is well-suited to solving the problem of helping the business know what it wants:

In of itself, Agile does a good job of flexing to the winds of change. But one has to ask whether it was devised to treat a symptom of the larger cause: the business doesn’t know what it wants. While Agile enables the development team to better cope with this, it doesn’t solve the problem and in most cases creates new problems.

He describes a "minefield" of 6 ways he's seen agile fall short in a UX sense:

"Mine 1: An unclear role for design":
The agile principle stating “Business people and developers must work together daily throughout the project” leaves little explicit room for a UX designer, often leaving the job to developers who are unlikely to possess such skills.

"Mine 2: The requirements gathering process is not defined":
It's not uncommon for agile teams to adopt a "requirements magically fall from the sky" mentality, eschewing efforts spent on outlining strategical product vision as un-agile.

"Mine 3: Pressure to cut corners":
Forcing UX design into the same iteration as it's corresponding development can lead to impulsive design, losing opportunity to test design ideas on user. Of course, agile allows the real thing to be usability tested, but responding to the feedback from this may take more time than you've expected or are comfortable with.

"Mine 4: The temptation to call it “good enough”":
Even (maybe especially) when agile is done well, teams are invariably faced with the need to prioritize 'iterating on existing features to get them right' against 'incrementing new features into the product'. As Cofelt observes:

Too often, the rework gets left in favor of exciting new stuff. An so on we go building a product full of features that don’t quite meet the bar.

"Mine 5: Insufficient risk-free conceptual exploration time":
Many agile teams will just begin building day one of the project (or very close to it). Some may employ an "iteration zero" to do some up-front planning and design. Cofelt asks if this is enough - does the agile approach of using a working example to validate ideas always truly outweigh doing some validation with rough sketches before committing to code?

"Mine 6: Brand Damage":
Putting non-raod-tested (via UX design approaches) features out into the market, even if intentioned to gain feedback, can quickly lead customers to lose faith in your company's ability to consistently hit the mark - this is damage to your brand, something well known to be hard to build and even harder to re-build.

Colfelt makes an interesting summary statement that agile, in and of itself, "is good for refining, [but] not defining". He asserts that agile alone may suffice for "an existing product that you want to develop to the next level", but, particularly when you're starting something new, "some level of plan is necessary to avoid a Frankenstein of each individual’s perspective on the best design solution".

He describes a traditional/"typical" UCD process, focusing the readers attention to its inclusion of upfront research for product "strategy" (he later also talks of this as "Concept Design", drawing on the quintessential iPod example), something he asserts does not become any less important when adopting an agile methodology. He's careful not to say that agile explicitly precludes such upfront thinking, but asks if it provides sufficient explicit encouragement to do it justice.

Ultimately, Colfelt's goal is to raise awareness for how UCD's focus on "strategical"/"concept" discovery can and should be combined with agile's ability to "refine":

In summary, dogmatic attitudes about each of these approaches should be avoided if they are to be combined. Remember, Agile does not mandate how to define concepts or overall design direction, but it is a great way to execute on solid design research and well laid plans. UCD needs to be flexible enough to respond to the reality on the ground when the implementation team encounters issues that mandate a different design solution. Document only what is needed to get the message across and co-locate if at all possible, because cross-disciplinary collaboration and face to face communication are vital. Working a sprint ahead of the development team is helpful in allowing the design team enough time to test and iterate. If these rules of engagement are followed, the two approaches can work very well together.

Reserve some time to read Colfelt's full article before making any hard line judgements. You may also want to check out this related article by Johnny Holland about how the UX designer's job morphs in an agile (Scrum) world, in which he also discusses similar themes of "strategy" but focuses more on interaction with the development team and iteration level activities and dynamics.

Aerospike is a distributed NoSQL database and key-value store architected for the performance needs of today’s web-scale applications; providing robustness and strong consistency with no downtime. Learn more.

Regarding mine 2 you can see here a demo on how the Agile Platform can be used to gather feedback directly in running applications. This is a good way to get the information with the proper context and to include and responsibilize business users in the prioritization efforts.

Couple comments, firstly we are better designers now. There are lot's of books and previous examples of good usability abound. Second, there are many tools now, that let us build prototypes much more rapidly, like Balsamiq for example. 3rdly, what better feedback than from the end user. With Agile you're able to get working software in the hands of customers way sooner, so there's way less risk. That's not to say that there isn't a place for UX design. But it's done within the context of Scrum. Google are the masters of experimenting with their user base and arguably have this nailed

Mike, thanks for the careful phrasing! I particularly liked the "Agile(Scrum)" qualification at the end. For the gazillionth time Scrum != Agile! I'm personally giving as many people an earful about how tying Agile to Scrum is so backwards it's not even funny. Sad to say, many people are actually contradicting the Agile Manifesto with their blind, rigorous adoptions of Scrum. Agile is about being responsive to need, not blindly following a process even when it is not fit for purpose.

On "Mine 2": An undefined requirements process is probably preferable to an over-defined process. I've seen too many projects derailed by a requirements gathering process that ran on and on and on and on. I've found that many times a project gets lost in analysis paralysis because they don't have anything to actually use. Getting working software into the hands of the people creating the requirements can go a very long way towards making the requirements process much much more efficient and accurate. However, I'm glad to admit that there's many folks that jump in way too fast and try to start shipping way too early. You need time to hang some muscle on the bones, not just skin.

Mine 4: This is a problem with developers? Since when? I've generally seen the opposite problem with developers: The temptation to say nothing is good enough. Usually, it's management types who say it is "good enough" and don't realize the cost they will be paying down the road.

Mine 5: This is the result of failure to apply common sense. 'nuff said.

Generally speaking, I'm very skeptical of how many organizations are approaching the "UX" bit. I've seen too many cases of really, really bad "UX" spec'ced by so called UX/UI experts that were just graphic designers. Give me someone who knows about things like mouse clicks, consistency, and logical grouping. Don't give me someone who treats each screen/window as a blank canvas.

Hey, Mike. Your review or Anthony Colfelt's article is sooo much in line with what we've written recently in our blog post on UX+agile: www.targetprocess.com/blog/2010/02/agile-ux.html All the mines are spotted with perfect precision. Thanks for the review, it's very practical.

Totally agree with Jim Leonardo on this. DSDM Atern, although not as widely used as Scrum, has a built-in phase for exactly this type of work, and as a company building and maintaining internet-only insurance products, we have been faced with these prolems before. www.dsdm.org/atern

InfoQ Weekly Newsletter

Join a community of over 250 K senior developers by signing up for our newsletter. If you are based in the EEA, please contact us so we can provide you with the protections afforded to you under EEA protection laws.

Is your profile up-to-date? Please take a moment to review and update.

Email Address

Note: If updating/changing your email, a validation request will be sent

Company name:

Keep current company name

Update Company name to:

Company role:

Keep current company role

Update company role to:

Company size:

Keep current company Size

Update company size to:

Country/Zone:

Keep current country/zone

Update country/zone to:

State/Province/Region:

Keep current state/province/region

Update state/province/region to:

Subscribe to our newsletter?

Subscribe to our architect newsletter?

Subscribe to our industry email notices?

By subscribing to this email, we may send you content based on your previous topic interests. See our privacy notice for details.

You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.

We notice you're using an ad blocker

We understand why you use ad blockers. However to keep InfoQ free we need your support. InfoQ will not provide your data to third parties without individual opt-in consent. We only work with advertisers relevant to our readers. Please consider whitelisting us.