I love the idea of brainstorming! Pulling all the best out of everybody involved. Creating better solution than anyone alone could. As you probably know me by now, I started digging. Is there a better way to do this? Is there a better way to search for answers? It turned out that we shouldn’t search for answers at all.
Continue reading “Brainstorming on steroids?”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”Psst! I Know Where Your Business Domain Is Hiding…
There is a place that hides huge part of our Business Domain. It’s also a place where probably the most important parts of your business hide. It’s probably the same place that is most often overlooked when analyzing your business and designing a solution.
Continue reading “Psst! I Know Where Your Business Domain Is Hiding…”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”Accelerate Your System Design
I can see you are a big fan of system design improvements that’s why came for more :). That’s very good. Indeed, I want to show you what can we do to improve our SRC cards and take even more out of them.
Continue reading “Accelerate Your System Design”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”CDKT – Names in System Component Design
Let’s train our brains to cross some domains! If you don’t know what a CDKT is please read here.
This is a CDKT for 7 Fatal Mistakes of Naming in System Component Design.
Continue reading “CDKT – Names in System Component Design”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”