Tracepaper: Our first design session

general Jun 08, 2021

As you may have noticed, we have been working on Draftsman for some time now. Keeping development velocity steady is a challenge if you only work on a project in your spare time. But it is quite a ride nonetheless. During our first year, we mainly experimented with serverless concepts to find our strategy for code generation. The last couple of months we spend building architectural runway, Delano focused on front-end design and I created our 4th generation code-generator the engine behind Tracepaper if you will.

Designing Tracepaper

We have lots of ideas about what the look and feel of Tracepaper should be. And now we have to design a back-end that will support these user interactions. And of course, we are going to model it in Draftsman Language. To be honest, I'm more comfortable with technical design than service design. But our Draftsman Language dictates that we think in commands and events during the design phase. So naturally, we tried event-storming.

Event Storming

Hosting a workshop with only two people has its limitations, I won't deny this. But it was undoubtedly very valuable. Although, we are only a two person team, there is a distance between us. It is not weird if you keep in mind Delano focuses on service design and user experience. And my focus is serverless and cloud architecture. We did manage to get clarity regarding the commands and events surrounding some of our aggregates. One of our aggregates is called the "aggregate" aggregate, yeah we know. Somehow we didn't see this one coming when we decided to use Domain-Driven Design (DDD) to model a DDD Based NoCode Studio. But what are you gonna do?

We initially thought we needed nine aggregates to build the first version of Tracepaper. We quickly learned that there was a better way to build the required functionality, but that wasn't the most important thing we learned last Saturday. Besides having a better understanding regarding five of our aggregates, we also learned the generator is missing a concept that we should factor in. This means that we effectively started closing the gap between service design and technical platform. Oh, and we had steak and beer after, that's always fun.

Thanks for reading, don't hesitate to send us an email if you have a question or a suggestion. You can reach us at [email protected]

Tags

Bo Hanssen

I've been a technology-agnostic developer since 2015. And currently filling in the role of solution-architect for one of the core business-systems at APG.

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.