Understanding the domain through event-storming sessions is one of the best ways to define your system’s future vision. In this article, I’ll share our experience with this method at Bolt.
I’m leading Bolt’s Billing and Tax teams, which are part of the Commerce department.
Speaking of Bolt’s structure, we’ve 4 business verticals backed by Commerce and Foundation teams.
This is what it looks like:
High-level structure
The Commerce team ensures compliance across multiple dimensions, such as Billing.
Our core task is to improve our billing platform. We’ve been incrementally developing it over the past decade, resulting in duplication of some functions within the Billing teams and some solutions needing more efficiency and compliance. For instance, we handle refunds separately from rides and delivery, which is not the most frugal approach.
However, to build a proper billing vision aligned with the company goals, we need to understand how the verticals work, differ, and what they have in common.
Imagine starting a job as the head of a department, only knowing that your team creates invoices sent to customers. How would you start developing a strategy for this department?
There are two approaches to choose from: Light on the Hill or Event storming. Let’s focus on the latter.
Event storming
This method facilitates a deep understanding of the business domain and consists of four stages.
Stage 1: Brainstorm events. Ask the workgroup to think of all the events occurring during the target process. Write each event on a card in the past tense. For example, “Item added to the basket.”
Stage 2: Once you’ve written down all the events, it’s time to refine and eliminate the duplicates. People tend to come up with similar events, so selecting the most accurate description for each one is crucial. Also, remember to group adjacent events.
Stage 3: Next, it’s time to figure out the triggers for each event. For example, the user confirms an order, and the payment processing system completes the payment process, you name it.
Stage 4: Finally, group events around domain entities or aggregates.
As you see, event storming is an effective method to understand the project you’re working on.
Our experience at the Billing team
We’ve had 6 event storming sessions, one for each billing vertical and two for refunds, as they represent different complex processes. Currently, we’ve already completed 4 of those sessions.
Initially, the team doubted spending hours adding stickers to a Miro board. However, after the 4th session, we had a breakthrough.
We’ve created several aggregates, one of which we identified as Money flow records. These records show from whom, to whom, how much, and in what currency we should send money. Such records are common in various industries, but each implements them differently.
As part of our vision, we aim to establish a standardised component for managing financial transactions securely and efficiently to integrate it into the billing vertical, achieving our company’s objectives.
Join us!
Bolt is a place where you can grow professionally at lightning speed and create a real impact on a global scale.
If you feel inspired by our approach and want to join us on our journey, check out our job board. We’ve hundreds of open roles, from entry-level to top management — each being an exciting opportunity to contribute to making cities for people, not cars.
If you’re ready to work in an exciting, dynamic, fast-paced industry and are not afraid of a challenge, we’re waiting for you!