[DDD] Your product is too small

  • Thursday, Oct 1, 2020

If I may take a wild guess: your product is too small.

Especially if you’re not working at a tech company, like a SaaS or the like.

Let’s say you’re working at a manufacturing company. Building, uh, thermometers. Wouldn’t you say your product is thermometers?

Wouldn’t you agree there’s no software involved anywhere, your product is entirely without software?

Here’s the thing: you might be wrong.

Maybe what your customers are buying is much more than just a thermometer though:

  • maybe it’s mass customised, allowing the customer to select from myriads of configuration options (temperature range, precision, response speed, thread type, whatever – the possibilities are endless)
  • maybe it needs to be calibrated, and you need to keep records
  • maybe it needs customer service or after-sales support, and you need to retain data about every individual thermometer
  • maybe it needs to be qualified by authorities, and you need to keep records

I think what your customers are buying is very much not just a thermometer, it’s something much bigger.

And this bigger thing will almost certainly have software aspects – without even considering that the thermometer might contain a microcontroller, and thus have actual software running on it.

This is why you really should consider yourself a software company as much as a (say) thermometer company. You’re selling a product which contains a thermometer, but is likely much more than that.

And this is very important because if you want to make this product great, you’ll need to look at it in its entirety, including the humans and software it consists of.

DevOps borrows a concept from Lean which is called a Value Stream: the list of steps that need to be taken to transform a product idea into something that is picked up by the delivery truck at the rear end of the factory.

Invariably, my customers underestimate the length and breadth of their value streams. This has implications for the products they create, but also for their entire company culture: how they view themselves, how they view certain departments or specialties, and how these departments interact.

But just imagine if you dissolve the departments, and the accompanying power structures, and instead just assemble all the people needed to design, create and deliver a product. What a powerful product creating machine you’ll have assembled!