DEV Community

Cover image for Smashing Entropy
matt kocaj
matt kocaj

Posted on

Smashing Entropy

tl;dr

Entropy will destroy your business and your product if you do nothing. So in order to prevent this doomed future you will need to fight it.
Fighting entropy requires an aggressive approach to keeping things small and getting feedback fast.
However you will encounter resistance in the form of people. Without a smart person in a powerful position with a big hammer, you may only have moderate success.

What is Entropy?

Entropy is often described as the measure of disorder or the loss of information. In the case of information and software systems you can think of information "loss" as the signal to noise ratio (SNR). Values > 1 mean more signal than noise.

You don't have to change the quantity of the signal for the SNR to drop. You only need to increase the noise. At the beginning, a small MVP or a simple product might gain traction because it's small, nimble, and solving a problem really well. It's fast and clean and only does what it absolutely needs to. The business around this product is also lightweight, mirroring the elements of the application architecture: simple, easy to understand, fast and agile. But noise is introduced in terms of process and systems. Code is added as scale increases. The absolutely critical elements that the product and business require to run are the "signal". The signal grows more and more slowly. The noise grows more and more quickly. The SNR drops. This noise is entropy. You need to fight entropy.

I'm not talking about Technical Debt here. Much has been written on this subject. But I will say that Technical Debt is a form of entropy. Once you have a strategy to combat entropy you also solve for Technical Debt.

Entropy is the gravitational like force which pulls you, your team and your whole company in the direction of "more". It’s your job to extract, disassemble, dissect and prune back this “more” to get to the signal: the critical and essential parts you need to ship the next iteration and validate what you think you know.

How Do I Squish This Thing?

Apply Elon's 5 Steps To Design.

The following video clip captures Elon Musk enumerating his 5 step design methodology. The 5 steps listed below are not terse in this interview clip. They're interleaved between highly specific examples, much of which relates to rockets at SpaceX and cars at Tesla. Stick it out: the "concrete example" nature of the conversation really drives home the value of each step and why the order of the steps is critical.

source: Starbase Tour with Elon Musk PART 1 // Summer 2021

Elon's Five Steps To Design

  1. Make the requirements less dumb.
    • Each requirement/constraint must have a person and not a department.
    • That person must own the requirement.
    • You can't challenge a requirement if it's a person who no longer works at the company or if it's a department which isn't a person.
  2. Delete the part or process.
    • "if you're not adding things back at least 10% of the time, you're not deleting enough"
  3. Simplify or optimise.
  4. Accelerate cycle time.
  5. Automate.

If these steps make intuitive sense to you then you're probably a good agent for change. The very next thing you might realise however is that you don't have the power to influence any/all of this. This is where you need the hammer.

So What Is The Key Ingredient?

Andrej Karpathy made this statement in a recent interview:

I do think you need someone in a powerful position with a big hammer, like Elon...
If no one has a big enough hammer, everything turns into committees, democracy within the company, process, talking to stakeholders, decision making... everything just crumbles.
If you have a big person who is also really smart and has a big hammer, things move quickly.

Here's a quick example of how things can be "unstuck" to move more quickly. Start small like this:

Not everything needs to be a committee. A quorum of two in a group of smart and experienced people is usually enough to make low impact decisions. Optimise for forward momentum.

Starting small is good. But if you need revolutionary change, or if your problems are so great or so systemic; or if the rate of progress is too slow, then you might need the big hammer.

Who is that person in your company with the powerful position and the big hammer?

If it's not you, then can you find that person?

Can you show them this article to test their appetite for moving fast and making progress?

And if there is no one in this role, can you move yourself into it?

"Challenge accepted!" I hear you say?

Good luck! 💪

--

Thank you to Hamish, Cam, Michael, Ryan, Ed, Colin, and Duane for reading drafts and providing valuable feedback. 🙏

If you think it’s about time you had someone like this in your organisation, then hit me up. I might know someone 😉

This article was originally posted on hammerproject.com but feel free to discuss on HN or LinkedIn

Top comments (0)