A lot of people do retrospectives. A lot of teams do that on a regular basis. They sit down, think about the last two weeks or so, identify problems they have had and find action items to improve.
That is super cool.
What we did today, went one step further: We thought about the problem we tried to solve in the past two years with our product. Having the problem in mind we brainstormed on how we could solve the problem, not thinking of our current solution at all. We reset our brains, including all of the domain language, business rules and other burdensome legacy concepts.
This was awesome.
The concept: Let us do two full day design thinking-ish meetings. First day: Brainstorming, throwing “the big five” topics out. Then splitting up and grooming in pairs and presenting the results to everyone. Second day: Trying to be more structured and start thinking on a high level, considering the ideas of the first day, and refining into more detail. Result: Eventually we found a cool way to solve our business problem, which was not related at all with the solution we had in place. It was totally mind-blowing, how we could do the same stuff we did the past two years a lot better than before.
Next steps: By mapping the status quo with the target state, we want to identify the concepts that are different and those, that are similar, on which level, and why. For those concepts that are far apart: Which were the historic reasons to make the decisions, that led to a the status quo? Is the solution, we have in our heads now, really better than the one we have implemented? For those areas, where we had no shiny new ideas: Were we really open minded, or is it really the only way to solve this problem? Then we go quickly into the direction of making things concrete, by iterating over all the necessary steps: Starting from clarifications with the legal department, marketing people and other stakeholders, getting a more precise understanding of the solutions we are going to implement, having scribbles of the screens, implementation in code and so on.. as meantioned: all iterative.
Okay, now the truth: It was not awesome at all.
It was super difficult to let go all of the known, and most people, maybe all, actually did not manage to rethink concepts from scratch they had already solved. It actually hurt to see a lot of complexity, which we put a lot of effort in, just flushing. People had developed close relationships with “their” solutions, and felt attacked by questioning everything. We did not finish within the time we expected, and people questioned, if we should actually continue with this format, because all of it was so heavy and took so long. And then there was this constant: “Man, why didn’t we do this one year ago?”