The untold domain story

You want to know your domain, talk to the business people they know all the ins and outs” – I’ve always seen this as a holy grail. I always dreamt, if only I could talk to business folks then my code, my designs would be a breeze. Because after all they know the business and that’s the only piece I’m missing from my perfect code, they will tell me what is what and how to split it and where. Well…

Continue reading “The untold domain story”

Ubiquitous Language The Untold Story

Aren’t you just tired of explaining the same thing over and over again?

Exactly! We developers know that there aren’t many things as important as making concepts mean one thing and one thing only. And yet we put a lot of effort to build our Ubiquitous Language and nobody seems to care. 

Every meeting, different people or even the same people ask the same questions, mixes the same concepts over and over again. But you are a smart person, you know the solution.

Continue reading “Ubiquitous Language The Untold Story”

A System Design Tool To Rule Them All

It’s sunny midday in the office, you’ve been called to a meeting. You and a bunch of other people enter the room. There is a whiteboard.  You are about to be part of a system design session. With a kind of sick feeling in your stomach, you find yourself a place.

The company decided it needs to add an auction system, to increase its attractiveness to customers. Everybody starts talking, slowly at first. The one who knows the most lays out by the one who knows the most. Of course, he doesn’t know everything, he just repeats to you what he remembered, which may be false or at least not entirely true. In short, we need to provide auctions and bidding functionalities.

Continue reading “A System Design Tool To Rule Them All”

7 Fatal Mistakes of Naming in System Component Design

Have you ever felt like you’re missing something when doing some system component desing. When we read books and watch conferences everything is peachy, but somehow not in your case. You start doubting yourself it was so simple and now? Why the things I make seem to be somewhat skewed.

For a long time I shared that feeling. Trust me I understand you. It turned out that as always there was an error to be corrected. It was all about names..

Here are the most fatal mistakes I’ve made during all my years. I share them with you so you won’t have to! Please learn from my mistakes!

1. Naming too soon

The first and most often made mistake. We start the design sessions from naming components. WE KNOW what it is before we even begin. We slam the first thing that comes to our mind almost shouting: I won!

Shouldn’t we name it? After all, we need to define something. So yes, we need to give it a name, and no we shouldn’t do it. Giving some components a MEANINGFUL name from the start is not a good idea. This defines its scope and responsibilities IMPLICITLY. That means in everyone’s mind, without ever speaking them out loud. This is dangerous. Remember we are in this session to BUILD COMMON UNDERSTANDING, not to throw nouns and draw arrows.

Continue reading “7 Fatal Mistakes of Naming in System Component Design”

CDKT – Cross Domain Knowledge Transfer

Our brain is limited. Not only that there exists a forgetting curve. We actually lose things we learn. But there is something even more troubling than knowledge retention…

Remembering – half of the story

If we take a look at the memory retention curve. It looks sad but it’s not the worst thing.

What can be worst than forgetting? Well, the key to increased memory retention is repetition, so we need to repeat what we’ve learned at certain intervals to improve our curve. But even then we’re only halfway.

Continue reading “CDKT – Cross Domain Knowledge Transfer”