72,536 pages of tax rules. Really? Do we really need 72,536 pages of rules for our federal tax code? Of course we don’t. But you can bet that sucker will be even longer next year. And the next year. And so on. Until it topples.
Imagine printing those pages and stacking them up. Just as my kids’ Lego towers inevitably topple over once the try to make them too tall, our tax code will topple over. It will get too big and too complicated and we will add that one last piece of paper to the top of the pile and … CRASH! It will fall over and scatter pages everywhere. And we’ll have to start from scratch. And when we do we will of course focus on keeping it simple.
The tax code’s ever-evolving complexity is a great metaphor for software. Just as that code started simple enough (if we can call 400 pages in 1913 “simple”), most software code starts simple. Yet just as politicians pander to this group or that and add pages to the tax code to appease them, many software companies just keep adding bells and whistles to their code based on user requests.
Why do we always drift slowly but surely towards complexity? I guess that while politicians are looking for votes and job security, software providers are looking to keep customers. We feel like if a few people want this feature, then we should add it. After all, they are probably the few vocal folks of a larger group who want it, right? And we don’t want to turn them off and lose their business…
Well, yes, sometimes that is the case. But if you aren’t careful, your once-simple software will become a gigantic pile of code that will eventually be complicated and frustrating. And it will topple over.
Better to fight hard to keep things simple. Add things only once it’s become abundantly clear that not doing so will cause your software to have a major usability gap. Otherwise, get out of the way and let your users enjoy a simple, easy tool that is a breath of fresh air in a world filled with unnecessary complexity.