One of the challenge we have at Agilys is to bring new features that are valuable for our users but also for our different customers. Each customer has its own set of priority and wants the application to focus on certain areas of development. All these different point of views need to be reconciled and the underlying requests need to be prioritized.
Our application is composed of 4 main features. Due to limited resources (both in time and manpower – but I believe it’s the case everywhere), we make enhancements on one main feature for several sprints, and then we move to another main feature for another bunch of sprints. By doing so, we are more efficient than if we have to switch completely from one area of the code to another every sprint.
Taking these two aspects into account makes the determination of our roadmap a real challenge. In order to address this complexity, we currently follow the underneath 2 stage process.
1. Idea Clustering
First of all, we have to decide where to start, where we should put our efforts. We do this by involving our customers from the start.
- Our customers provide the different enhancements they would like us to work on. We group these enhancements in clusters of functionalities.
- A high level roadmap is created containing the clusters. Each cluster receives a finite number of sprints dedicated to that cluster. Once the dedicated sprints are done, we move to another cluster. This approaches ensure that we focus on what really matters in that cluster.
The roadmap contains dedicated sprints for the clusters but also provides free sprints for specific requests allowing us to keep our focus in the dedicated sprints
2. Story Mapping
At this point, we have a general idea of what we’ll do, but we don’t know exactly the content of the clusters. This is where the Story Mapping comes in place.
If you don’t have any clue of what a Story Mapping is, I invite you to read the following post from Andrea Gigante: “Creating an agile roadmap using Story Mapping“.
One or two sprints before working on a given cluster, we organise a Story Mapping (ideally with at least one representant of every customer). The Story Mapping is dedicated to the cluster. During this workshop that lasts 1 or 2 days, we determine the different objectives of the platform specifically for that cluster. We detail the different stories that our customers would like to implement and we order them based on the objectives we determined.
At the end of the session, we have an ordered backlog for the cluster but more importantly, we have different customers that are aligned (and so are we) on the features and on the order these features should be implemented.
This approach has the following benefits:
- Align the different stakeholders on the order of the functionalities that should be implemented
- Set clear expectations on the upcoming features
- Avoid time consuming discussions on the content and prioritization of the roadmap
Some ‘adaptations’ required:
- The customer has the feeling he has to provide twice the same information. A first time when he provides the different wanted enhancements in the Idea Clustering stage, and a second time when all the customers brainstorm on the content of the cluster during the Story Mapping workshop
- A Story Mapping is particularly interesting in a discovery mode, meaning when you don’t know exactly what you want yet, when brainstorming is still required. If the different participants have a very clear idea of what they want, you loose this “wow effect” that you can often have during a Story Mapping.