Member-only story
Death by Code — When Developers Lose the Fight Against Complexity
When development sucks, complexity is never far away
Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges, and it causes end-user and administrator frustration.” — Ray Ozzie
When development sucks its because developers have lost the battle agaisn’t complexity. Complexity is like a genie. Once it’s out of the bottle, you can’t get the sucker back in. It will keep popping up to break things, slow you down and confuse you.
Developers create complexity, it strangles development and sucks the joy of creating software. When you see software projects suffering from bugs, problems and issues that don’t go away. It’s because the developers are letting complexity beat them, code is winning.
Developers manage complexity in software, or complexity manages them.
Developers can be prone to getting themselves into clever technical messes or veering into areas where they aren’t experts.
As complexity and technical debt build up in software project, development slows down and developers wrestle with the existing solution. Technically, it becomes increasingly difficult and developers specialise in complex areas of the solution that no other developers can understand.
In simple terms development gets more complex, more complex to understand the code and more complex to change the code. This is a perfect environment for mistakes, bugs and confusion.
The path to success isn’t seeking brilliance, it’s keeping development simple and avoiding mistakes. If you stop the big mistakes then you give yourself time to work out the correct solution.
Avoid complexity
“You can get in way more trouble with a good idea than a bad idea, because you forget that the good idea has limits.” — Benjamin Graham