Thoughts on Software Complexity
medium.com
medium.com
I've started to think about keeping track of various sources of complexity. Team X or Manager Y request a feature that no one else seems to care about, but that _must_ be done. When Team X is gone or no longer needs this thing, or Manager Y moves on to a new role or company... can we then revisit and strip out the complexity they required we add to the system? While removing features is never popular, there seems to be little value in maintaining features no one is using, especially when they add seemingly needless complexity to the system. When these things aren't tracked, it's hard to go back to them or remember exactly why they were done in the first place, so they tend to live on indefinitely, "just in case."