NOTE: This blog has been moved to

Saturday, October 06, 2012

Lean UX & Agile Development. Rationalizing the Two Methodologies

I really enjoy Silicon Valley Code Camp. Lots of speakers, lots of local attendees. Very informal and always a good crowd. No different today. Really engaged audience.

One topic I covered was how Lean UX and Agile work together in harmony. Here is a diagram I shared that I have been using at work to explain how they are related and how they are different.

Lean UX & Agile: Two separate but aligned workstreams
Agile focuses on iterative delivery. It is by nature engineering-centric (though it has been applied to non-engineering tasks) as it produces software meeting specific acceptance criteria. It has numerous ceremonies instead of heavy process like waterfall methodologies require.

Lean UX focuses on refining the experience through collaboration, shared understanding and continuous customer feedback. While agile finds its roots in engineering, Lean UX stems from work borrowed heavily from Eric Ries in the Lean Startup and applies it to refining customer experience. Lean dispenses with agile ceremonies but like agile also dispenses with extraneous documentation. Lean UX gets its cadence from getting prototypes or mockups in front of customers regularly while agile gets its cadence from delivering working software released at the end of each sprint.

In the above diagram I call out this separate stream of work -- the Lean UX stream. It is separate from the agile streams, but does not replace the agile streams. It runs ahead of the agile streams like Sprint 0 methodology but it does not stop with sprint 1 (nor is it confined to starting one sprint ahead). It continues to run in parallel with the agile tracks. What gets learned in the LeanUX stream (essentially a continuously evolving living prototype) gets fed into the agile streams and becomes some of the user stories. Its cadence may change (we usually start with weekly usability testing and then slow down to every 2 weeks or so) but its purpose does not. Separately I have noted the technology changes we have introduced that allow us to have seamless movement between Lean UX streams and Agile streams with respect to software delivered. This is an essential ingredient to making this work well.

Lean UX & Agile work together well. And while they share lots of common principles they are distinct work streams. Lean UX & Agile aren't the whole picture on how to create great products. You also need to be able to gather customer insights, define customer problems, refine solution concepts, deliver & test solutions and then rinse & repeat these steps. Lean UX is one tool to help us refine & test solution concepts. Agile helps us deliver solutions. A/B testing helps us test what we deliver. Customer driven innovation (pioneered at Intuit) defines a broader methodology that Lean & Agile fit nicely inside of.

Ok, so with that context here are the updated slides from the talk I gave earlier today on Anti-Patterns for Lean UX. You can see an earlier version on slideshare.

Are you using Agile & Lean UX methodologies? How are you approaching innovation & experience delivery in your organization?