Domain-Driven Startup

Berat Dağlar
REFINERI
Published in
11 min readJun 27, 2018

--

Founding a new startup and coming up with a new product means having your own theory of how the world works. Too fancy a way to look at things? Well, obviously not the whole world. But if you are investing your time and self in your idea, you kinda have to think that you have a better understanding about the parts of the world you’re going to make better than other people do, don’t you? It’s just the matter of whether you are keeping that understanding vaguely in your head while going about your day, or you have sound justifications and reasonings for all your actions you can put on paper. In this article, I’ll try to explain that there is nothing fancy about being conscious of that theory. And more so, how pragmatic and valuable it is to put a clean conceptual model of the way your product and business works in general to the centre of your thinking process.

the big picture.

Having an ever-updating theory that works on paper and drives what’s in practice, is more or less the idea behind domain-driven software design, which is already a common strategy of implementation in that field. Maybe because the notion is more evident for digital products as they tend to be more abstract in the making. But while that makes the computing one of the most recognised applications of the conceptually driven approaches, it doesn’t mean at all that it’s their only use. Far from it. So, let’s start on that and try to get a sense of how fundamental conceptual models are to our lives. To do that, we will need to take two steps back into a broader perspective and talk about lots of theoretical stuff.

Modelling this and that

What are conceptual models anyway? Let’s get that question out of the way first. Simply, they are theoretical simplifications of what’s in practice. We create models to understand, reason and talk about things. And we do it sometimes knowingly, sometimes unintentionally, but mostly because we have the inherent need to simplify things. This need is there because the universe as we experience it is weirdly continuous. We don’t really know where one thing starts and other ends. Where exactly does a cloud begin? Where precisely does a sea become an ocean? In reality, is there a specific point the colour red becomes orange, or happiness becomes sadness even? Nope, in reality, Schrödinger has a cat, and we don’t actually know where a particle is because superposition and stuff.

Our understanding of things, on the other hand, is discreet. We need labels on things to make sense of them. So we come up with contained concepts, which have a beginning and an end. We create languages, words attached to abstractions, dictionaries that can help us map aspects of life onto paper. Since we can define concepts however we want, they have the luxury to be contained. For the same reason, they can not and do not have to be perfect representations of reality. In addition to defining things and naming them, we also describe how they relate to each other. These relationships between concepts are what enable us to make sense of the world.

but the good of the scorpion is not the good of the frog, yes?

I should probably exemplify. To understand how different types of elements work, some smart guys decided there was this thing called an atom, and it has orbits around it. Those orbits have electrons in them spinning like crazy. But in reality, these electrons do not care much about these so-called orbits and probably there are no rails which they ride on. But even though this was not a perfect model, it helped us make sense of how things work for a long time all the same. After a while, we had a better way to define things that made even more sense at some point, but this is how these things go.

There are many of these models in life, and some of them work better than others and exist for a much longer time. Physics formulas like f=a*m, or e=mc², visual representations like DNA, or even languages themselves, like English or French, which are models that evolved over time organically, by creating interrelated concepts that come together to let us communicate. We let these models drive every aspect of science in engineering, literature, and pretty much our lives.

How about startups?

Let’s loop back to our initial premise. How the hell do any of these relate to startups in any way? And considering that is the reason you are reading all of this; how does it all apply to your startup? Real world examples should help us in this regards as well.

Internet came about, and there was the need and opportunity to map social aspects of the life onto this new, digital platform. Few tried as you might have witnessed, with their understanding of what would be the most convenient model to let people manage their social lives digitally.

In Facebook’s world, the reality is consisting of profiles. These profiles add their photos and create content through posts on a wall. With their profiles, users could be friends with other users, which would let them see their posts. People could like these posts to express their interests. To be a friend they would need to send a friend request which is supposed to be accepted by the receiving profile. They can send messages to each other to communicate directly. There are pages that represent things in the real world that users could like to share themselves more thoroughly and permanently in their profile. All this information flow creates feeds. This is lots of words in bold, with their meanings and their relationships.

In Twitter’s reality, there are users. They tweet. They just tweet and not serenade because twitter thinks sentences should be short for us to easily consume. Other people retweet these tweets since they are so short an concise they could be just whatever you wanted to tweet anyway. Users don’t become friends, but follow each other without the need for reciprocation. There are hashtags, which simplify things even more and cause trends.

These are two different competing models for people’s needs. They solve the same problems by focusing on different aspects to attract people. Facebook is about you, Twitter is about what you are saying. They are both reasonable and realistic enough representations of real life, but their different points of view result in different models with different concepts. These companies are always aware of these differences in understanding and base their further decisions on them. They build their user experience designs around these concepts. Their marketing metrics are based on them. Their scopes are defined by them. And every now and then, these understandings change to get the edge against their competitors.

the way we were.

This example of two purely online companies might make you think that all of these only apply to digital, or product-driven companies. That’s certainly not the case. All business models are also conceptual models. First order of business in transforming your business idea into a startup is trimming the fat, honing the edges, and refining that vague idea into a business model. Describing what you want to do in terms of your customers, distribution channels, partners, revenue streams, costs, and your core value proposition in a way that works for you. This is once again about using and defining the right concepts and relationships. Just look at Tesla and how it transformed the car distribution with its business model, redefining the previous equation defined in terms of dealerships, distributors, and authorised repair centres. Or like Avon, you could blur the lines between customers and salespeople and through multi-level marketing and make it work anyway because that set of concepts also create a model that makes sense internally.

Now that we talked quite a bit about what, we need to to go on with why and how parts a little bit more, so we can mention what benefits there are to be gained and which techniques could be used to do so. I think we can group those into three main aspects.

1. Clarity & Effectiveness

So the big idea is never losing sight of your overall vision and understanding of things, as opposed to constantly saving the day with decisions that make sense for the moment. Let’s start with a quite probable scenario where we are doing the latter.

You encounter a problem, and naturally, you come up with a solution for it. Then unsurprisingly you encounter another and create a solution for that too. You are sure that each solution could be the right one for the respective problem. But maybe for a company that has both of problems at the same time, there exists a better solution that solves them together more effectively. That means if you lose track of your processes as a whole while focusing on the problem at hand, piece by piece you will lose manageability of things. Maybe you’re smart enough to think about all of these things at the same time, but over time things are going to get too big for your head if you’re doing things right and growing. Resources will go to waste. Works will get duplicated. Orphaned processes that lost their meaning somewhere along the line are going to live much longer.

Have organisational charts, have business model charts, have definition dictionaries, have life-cycle charts. Whichever problem comes your way always start there, try to solve it in those terms, and continuously keep them sane. Only once that they continue to make sense, then apply them to your company. So that not only you’ll always have a crisp idea of what’s going on all over your company as it grows, but you’ll also make sure that everything is executed as effectively as it can be. This is the most obvious benefit that you’re going to get.

2. Nature of Change

Things change. Sometimes technological advances let you rethink an old solution once again. Just like in late 19th century when there was a great leap forward in tooling that led to more advanced models, and gravity left its place to relativity, these changing times also pave the way for new entrepreneurship opportunities. Like how the emergence of blockchain led to the abundance of fin-tech startups. But it does not stop once you have your company. To stay afloat, you need to keep adapting. Even if the environment remains the same, your knowledge of things will change. You’ll get to know yourself, your customers, your product better. And you should make use of the luxury of not being a transatlantic that can only change its direction couple of degrees at a time. Question is how are you going to do that. And the answer is once again: first in, then out.

Your central vision is what’s inside and all of the interfaces, applications, user experience are what’s on the outside, on the periphery. If you start changing things on the borders and work your way backwards, you’ll reach a disjointed and messy centre. If things are not tied together with a vision, or that vision is blurry or hard to get a sense of, you’ll have a hard time knowing where you’re going. But, let’s say, if you decide there is such a thing called a “tweet”, then you could start to think on ways of how people would create, view and interact with those. While changing stuff, people have a tendency to focus on the manifestations, expressions of that vision, outer boundaries of your products they interact with, and sometimes you too can be carried away.

There was once a star, now it’s a heart (The Heart Nebula, IC 1805)

This doesn’t mean user research is secondary, or user experience design is secondary. It means user research should feed into your central vision, and manifest in the design through it. I’ve got a favourite example that I like to use at this point: Twitter’s transition from favourites, to likes. It was not that they fancied the heart icon better and updated the design. It was mainly because, regarding interactions, while Starring things is for yourself, hearting things is more for expression. If you noticed that user expression is more beneficial to your business, then why not update the terminology. And they did that. First changed their model and definitions, and then an icon update followed that.

3. Being Technically Enabled

There are millions of ideas in your head that sound good until you give them some further thought. So how can you know which can work, and which can’t? Well for starters, you can write them down. And if it works on paper too, that means it’s better than most.

There is some stuff that’s been accidentally discovered messing around, driven by practice. But unless your plan is lucking out, the only way to make working stuff is to make them work in theory. Computers themselves were possible because we knew Turing machines, Finite-state automatons, Von Neumann architecture was already there. The theory came first and soon after hardware followed to make those ideas part of reality. Ideas have to make sense in the abstract for them to have the possibility of coming into existence. So how can you know that your business idea is technically possible? Well, pretty much the same stuff; you make it work on paper, by breaking it top-down multiple times until it looks clear on almost every level.

Do this, and your understanding of the problem will become a solution by itself. I really think that is an underappreciated benefit. Your designs will emerge through the specification. And your startup will be technically enabled from the very start.

Wrapping it up

Everything will always make sense when you keep the big picture in front of you all the time, and make sure it’s logically consistent by the rules that you decide on. This will be as apparent as the difference in quality between an essay you are trying to write in a language you learned by hearing it here and there, and the one you know all of its grammar rules. For the developers out there, that means: your entity layer in your application means so much more than to provide just data access. It is the solution to the big problem itself. For everyone else, it means letting your terminology drive your product and company is one of the best things you could do to keep things manageable and sane. It’s a very effective way to handle everything complicated, and hopefully, you’ll have many complicated processes as you are approaching your goals.

Thanks for coming along with me this far. This was one of our longer articles, and I really hope it was worth your time. If you think that it was, I suggest checking out some of our previous pieces, on subjects ranging in everything between technology and business.

Follow us at https://blog.refineri.co.uk, and if you got anything on your mind you want to talk about, you could always ping us at contact@refineri.co.uk. Cheers!

A. Berat Daglar
REFINERI Consultant
https://refineri.co.uk

--

--