Initial Requirements
Our customers have requested that we implement a platform to support their training center. Although the list of requirements they provided is somewhat limited, it gives a starting point for our work:
- Trainings - Trainings ready to be conducted and those under preparation.
- Viewing trainings by those who are interested in participation.
- Adding new and modifying existing trainings.
- Each training needs to have its supervisors.
- Advertisement - Activities made to attract potential attendees to participate in a training:
- Webinars.
- Talks on Conferences.
- Talks on internal events.
- Trainers - Trainers the Training Center is working with.
- What trainings trainer can conduct.
- What skills a trainer has.
- Trainers' rates.
- History of conducted trainings with received feedback.
- Agreement between Trainer and the Training Center.
- Open trainings - Trainings anyone can join.
- Trainings' harmonogram.
- Payment.
- Resignation.
- Agreement with the Trainer who should conduct the training.
- Group limits.
- Cancellation.
- Dedicated trainings - Trainings organized for employees of other companies:
- Training adjustment and modifications.
- Conversations with company's representative.
- Non-Disclosure Agreement.
This is far from the comprehensive requirements necessary for implementation. Nevertheless, armed with this initial information, we can propose next steps.
Fortunately, we’re already acquainted with a tool that can deepen our understanding of the business domain: Big Picture Event Storming.
Workshop's Preparation
In our recent conversation with the client, we emphasized the importance of gaining a deeper understanding of their business domain. This knowledge is essential for exploring requirements in subsequent steps and making initial architectural decisions.
We identified four key individuals we need to engage with: Monika, Sebastian, Iza, and Marek. These domain experts hold the answers we seek. Additionally, we recognize the need for a group of questioners. As a result, we’ve invited architects, team leads, and business analysts who will play crucial roles in the software development implementation.
Our plan involves three 1.5-hour sessions scheduled for a single day. This timeframe allows for breaks, lunch, and flexibility to accommodate any additional sessions if necessary.
The Day Has Come
Everyone settles into the room, colorful sticky notes are ready to be filled with information and lengthy wall is prepared for our work. And, of course, there are snacks and drinks on hand to ensure that hunger or thirst won’t hinder our progress.
I invite everyone to introduce themselves, and then we’ll dive into the main event: Big Picture Event Storming.
Explaining the Legend
Before we delve into exploring the domain, I want to introduce the primary tool we’ll be using: sticky notes. As I mentioned in a previous article, I recommend building our legend incrementally. For now, let’s focus on three essential types:
- Event - represents anything that takes place or happens.
- Hot Spot - serves as a marker for issues, questions, concerns, or areas needing attention.
- Opportunity - represents an idea that could introduce beneficial enhancements or simplifications.
I invite the group to create a few examples together so that we can ensure everyone understands the purpose of each sticky note. In a quick collaborative session, we’ve generated examples for events, hot spots, and opportunities:
Excellent! It appears we now share a common understanding of our foundational building blocks.
Chaotic Exploration - Events Discovery
Now, I’ll explain the purpose of our next step: to generate as many events related to our business domain as possible. This will be the only moment when we work individually, allowing everyone to focus solely on sharing the knowledge from their minds without getting bogged down in discussions or details. We’ll have time for that later.
I invite everyone to find free space on the wall for their sticky notes, stand next to the wall, and share as much information as they can.
After 20 minutes, everyone is done, and this is the picture they’ve collectively produced:
Chaotic Exploration - Building Common Understanding
I invite everyone to examine what we’ve created so far—each person has contributed their own understanding of the business domain. While this isn’t exhaustive, it provides a solid foundation for moving forward. With diverse perspectives represented on the wall, it’s time to synthesize this information into a shared understanding and knowledge.
We systematically review each sticky note to ensure:
- The information is clear.
- The wording is accurate.
- There are no duplicates.
In some cases, spotting duplicates was straightforward because we used identical phrases on the sticky notes:
However, when we encountered the sticky notes labeled “Training Created” (placed by both Marek and Sebastian) and “Training Defined” (added by Izabela), the situation was less straightforward than before. Initially, we assumed that these two sticky notes represented distinct concepts—after all, “creating” something isn’t necessarily the same as “defining” it. However, Izabela challenged this assumption and requested examples for both training creation and training definition.
Upon closer examination, it became evident that these events essentially conveyed the same idea. Consequently, we opted to retain the label “Training Defined,” as it better aligned with the vocabulary commonly used:
An intriguing discussion arose when we encountered the ‘Invoice Received’ events. Before categorizing them as duplicates, I asked the authors—Monika and Sebastian—to share a few words about their sticky notes. It became clear that Monika was referring to invoices received from trainers, while Sebastian had in mind the costs associated with hotels and transportation. After deliberation, we concluded that both names were accurate, and no modifications were necessary.
We proceeded to run a few examples illustrating how the process around these events might unfold. Surprisingly, despite the lack of differences, most of the group felt uneasy about not highlighting discussed nuances. Given that this conversation had already consumed several minutes of our time, and with other events still awaiting discussion, I proposed that we park this conversation and document our concerns on the sticky note designated for Hot Spots:
Interestingly, during our discussions, we didn't just remove sticky notes; we also added some! As we clarified terminology and explored quick examples, we stumbled upon new information:
From Chaos to Clarity
Let’s step back and take another look at the wall:
These are all the pieces of information that remain after our conversations. Is it still chaotic? Absolutely. However, the brief discussions we had during the first session serve as a solid foundation for the common understanding and vocabulary we’re beginning to define!
That was a well-spent 1.5 hours of our time. Now, it’s time for a short break—to catch up on important emails, grab a bite to eat, and recharge. We’ll reconvene in the next session to transform this chaos into a coherent timeline.
Until next time!
You can find the requirements, a link to the Event Storming session, and all previous articles in the Training Center repository on GitHub.
No comments:
Post a Comment