test it. code it. ship it.

How You Might Know That You Have a Monolith

Posted on in architecture, monolith, | Comments

You start your green field project and keep working on it. It grows and grows and grows. You feel comfortable with it and it could not be better. Because more needs to be done/the product is successful another team is added.

If this new team starts complaining that the setup if very complicated and they do take a lot of time to get started: Listen carefully. Of course everybody will complain if they get thrown into another code base, nobody understands the code and of course everybody would have it done differently.

There is a good chance that they say something which you don’t like to hear and they are right about it. You have built a piece of software which grew very large and maybe a single person can not understand the code base anymore.

If you think you have a modular software project but you need to bring everything together to test things out they might be right about it.

Don’t get into a fight with the other team and insist that you are right (since you know how things work) and they are wrong. It is way to easy too get upset if somebody does not like your baby and critize it. The other team want’s to help and will very likely stay longer on the project. They are not dumb people so listen to their problems carefully. It’s like a code and architecture review from outside your tunnel. Don’t ignore the valuable information you can gather.

If they do complain about how all things assembled and deployed at the end and that this takes very long and is compliacted … you might have built a monolith. You might not have seen it that way because you are just used to it.


(Picture by Billie Ward.)