How to Fight Complexity

Complexity is the bane of all software projects. Not all code may be debt, but all will increase the complexity. There are two ways to fight this complexity. We can enhance our ability to handle complexity with new abstractions, thorough tests and more documentation (the engineering way). Or, we can write less code (the product way).

My go-to approach has been to the engineering way. To build enough safety nets to protect myself from the complexity. This requires less product deliberation and promotes a bias towards action (“as long as things are tested, we are good”). However, I tend not to think critically about new proposed features. This article on saying “no” reminded me of the other half of the methods I have ignored.

Leave a Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s