We have been working on an internal tool for the last couple of months. The product lacked vision. Nobody really understood where the product was heading nor how it should look or behave. Product development was more a stacking of stories if anything. Furthermore the product lacked personas, mocks and the like.
At some point we released the tool internally, at least a basic version, with more iterations in the pipleline to add up more functionality or to refactor not thought through features. Shortly after that initial release, a colleague said he didn’t understand what the product was about and that he would not estimate any stories regarding the project from now on.
We took a look at the backlog, and we saw more stories, all lacking a clear distinction to what the product should do and how it should really function. This was until one of our colleagues stepped up to the plate and started to generate a vision during his 20% time.
His approach to the problem was simple. Instead of opening JIRA and typing in even more stories, he took a step back. He chose the classic route, pulled out markers, paper, pencils and post its and defined the core features. In addition he chose a "mobile first" approach, which was the bottom line for everything to follow. And finally, he did the most obvious, he started to communicate with the so called "users".
He really asked the most basic questions, what is it that the users want and not want, and in return received valuable information about the product. By taking a step back he was able to avoid one of the more common pitfalls when it comes to agile (especially with scrum) product development. We usually kick off a product by defining an intial story. This means, we skip the design and exploration phase and jump straight into implementing that first story. This is also where we start thinking about design and architecture, which normally leads to a bad headstart in the first place and paves the way for more complications further down the road.
I am not sure where the initial design phase fits into the classic scrum approach, but a lot of the literature reads like a magic formula: write and implement stories on every iteration and you will have a concise and fully functional minimal viable product. This probably works if you have a very clear idea about where the product is heading and a very strong product owner who can sell his vision to every single stakeholder. But what if we have a vague idea about our product? Somebody might have thought about the minimal functionalities it needs to get the product out, but what about the design or the bigger picture per se?
I doubt we can create something very usable by adding feature over feature and tweaking the general design along the way. Our initial iteration proved that the product needed a vision and that simply adding stories to the backlog won't lead to any desired results.
Lessons Learned:
Take a step back before writing that initial story. Make sure to create personas, design mockups, experiment with the design, think about the core features, talk with the stakeholders, brainstorm using flip charts and the like.
Make sure someone drives the product vision, if the product owner can’t, make sure somebody inside the team takes charge, even if it’s only informally.
Avoid adding feature on top of feature, focus on the core functionalities.
Make sure every single team member understands the product vision.