|The 4 "Re" of Complexity|
The 4 "Re" of Complexity
Resist the introduction of more complexityYou should resist the temptation of introducing complexity that you neither have nor need. Additional complexity introduces risk and effort - you want neither. Simplicity requires actively struggling against complexity. Both effectiveness and efficiency require minimal complexity.
Sometimes, you just can't avoid complexity that you neither have nor want - for example, when it's forced on you by regulatory compliance. Still, you should do your best to prevent that complexity from creeping in. Try to do the absolute minimum necessary rather than see "what else might be needed".
Reduce the need for new complexitySometimes, you need additional complexity of some sort to work effectively. Maybe you think about automating a process? This increases your technical complexity in an effort to reduce the complexity of manual effort. That makes sense - as long as the complexity you add to increase the efficiency of one task should be lower than the complexity you are removing.
For example, if you would use an automated testing suite with maintenance effort higher than manual testing, it doesn't make sense to automate. You would be adding more complexity than you remove - a bad deal.