By Marty Cagan · svpg.com · LinkedIn
Cagan argues that user experience design should be completed before implementation begins, even though requirements/design and implementation/testing can each be run in parallel within their own pairs. He explains that once engineering starts, fundamental changes become technically, psychologically, and practically hard to make. He also notes that UX requires rapid, high-fidelity prototyping that production code cannot support, and that experiences must be designed holistically rather than in stubbed-out pieces. Teams that rush design alongside engineering end up with stressed designers, anxious engineers, and unsatisfying products. The exception is back-end infrastructure work, which engineers can do while design is underway, and engineering should still review design for feasibility throughout.
01Key takeaways
- Run requirements and UX design together, then start implementation and testing once the design is defined.
- Expect late-stage changes in architecture and direction to be costly, so settle the fundamentals early.
- Build disposable high-fidelity prototypes to test ideas in hours or days rather than waiting for sprint or beta feedback.
- Design the user experience as a whole so each release makes sense to users, rather than slicing it arbitrarily.
- Have engineers do back-end infrastructure work while design is in progress to keep the team productive.
- Involve an engineer from the start to assess feasibility and cost throughout design.
02Key sections
- Parallel work that works
- Requirements and design belong together, and implementation and testing belong together, but design and implementation should not run in parallel. Agile's practices help in the first two pairings.
- Why late changes get expensive
- Early architectural decisions, team mindset, and schedule pressure make it increasingly hard to revise direction once implementation has started.
- The need for fast, disposable prototypes
- Good UX depends on trying many ideas in days, which sprint-end or beta testing is too slow to support, and prototypes must be far cheaper to change than production code.
- Designing the experience holistically
- Unlike software components, a user experience cannot be stubbed out or delivered in pieces; it must make sense to users at every release.
- Sequencing and the infrastructure exception
- Design should precede implementation for feature work, while engineers can build back-end infrastructure in parallel, and engineers should still review design for feasibility.
03From the post
“A partnership dedicated to teaching best practices to product teams and product leaders”
Summary and takeaways written by PM Atlas; quotes are short excerpts. © the original author.