The software/website bloat cycle.

  1. Someone or some company creates useful software.
  2. Features get added to make useful software profitable or make more users happy.
  3. Features don’t get removed because they make some customers happy and you don’t have time/money to test removal.
  4. Over time the software gets so complicated, you forget all the features.
  5. In the quest for perfection/complete testing, you find that you can’t be perfect or complete and settle for less than 100% test coverage.
  6. Some feature breaks because it wasn’t tested.
  7. There’s a bug fix/patch to get this fixed ASAP.
  8. Software get’s duct tape or worse people loose their job because it broke.
  9. Management decides they need to convert to a new system or completely rebuild the old system because it’s too complicated and creates errors.
  10. Go to 1

Now this cycle will repeat, always, no matter how much time and effort you spend keeping the code clean or testing, inevitably entropy will catch up with your software or your website. The only advise is that if you find yourself in steps 5-8 of the bloat cycle, get a new job, or get to step 9 as soon as possible.