Stop designing 1 sprint ahead of development
The context
We do agile. We do scrum.
How does the design process fit into an agile environment?
The easy (and very common) answer is:
Design sprint (then) Dev Sprint.
Most people call it “Design happens 1 sprint ahead”.
The problem
It doesn’t ever ever work.
If you’re doing it, you know what I’m talking about.
If you’re not doing it, great!
Why doesn’t work:
- Design happens in isolation from the development: devs are working Today on things designers were working 2 weeks before (normally much more).
- Development happens in isolation from design: designers are working Today on things devs will work in 2 weeks (normally much more).
- It’s actually a mini-waterfall
The reason why I call it “isolation” is because designers and developers have a different focus, at any point of time.
If you don’t have the same focus, no matter how much communication there is between you, you’re working in isolation from each other.
Working in isolation creates a whole heap of issues, some of them are:
- You break the team culture and motivation: devs will end up feeling like code monkeys because they’re not properly involved in the early phase — designers will think they’re the only problem solvers
- People will blame each other if something goes wrong (designs not ready, css not as per design, etc)
- You’ll loose the team ownership (and your quality will go down)
- You’ll need to produce heavier documentation
- You can’t really iterate: if you create a design spec for a page this sprint, and send it to developers to implement, you can’t really make some changes and send another spec next sprint. And you can’t change the same page every following sprint.
Everyone will be (rightly) pissed off about the many changes.
But that’s exactly what you should be doing...
An hypothesis
The whole idea of Agile is being able to iterate very fast: you test fast, you fail fast, you learn fast and you make something better faster.
In order to achieve this you need the whole team to work together having the same focus — everyone contributing with it’s own skills to solve the same problem.
What if we work together, in the same sprint, solving the same problem?
What if we design, build and test, every single sprint?
At OVO we’re trying this approach.
We know it requires a lot of changes in our product workflow: the way we do design and the tools we use, the way we do development, how we document and test, and even how we sit in the office.
We hope is going to make our approach more agile, allowing us to create better products faster, and also empower everyone to contribute in all the product stages, despite of their job titles.
We’ll document how it goes :)