Steve Dispensa wrote a really good post about complexity in software design. Many of the points he raises are things we are continually reminding ourselves as we push forward with Teqlo development, and invariably face the reality that things can get complex really quickly if you don’t actively work to make them simplified. In almost every dimension, it’s much more difficult to create a simple system than a complex one because complexity is a virus that is self replicating.

Kernel Mustard » Blog Archive » Don’t make a Rembrandt:

I have a rule related to this: a system’s overall design is limited to what the lead technical person can fit into her head. Once your system is too complex to fit between one person’s ears (at a sufficient level of detail), you have to start dividing the architecture and scaling the team in ways that have yet more expenses built in, in terms of design, management, and programmer interactions.

Put another way: You have a limited amount of complexity that can be spread across your product. Spend it carefully.


Technorati Tags: