Sunday, October 08, 2006

(Too Much) Configuration Considered Harmful

Configurability is a desirable thing for software. It gives us the flexibility to deploy into different environments, and every now and then to fix a problem without having to touch the code. Environments like the Spring Framework revolve around configuration, and can be great for managing a project with various interacting modules.

But it's not a panacea.

As the amount of configuration grows it begins to overwhelm people's ability to deal with it. I once worked on a very large software project (staff in the three digits) and it was enormously configurable. Every aspect of it could be configured.

It never seemed to run. There was always something wrong with the configuration.

In the same sense I'm doubtful about the value of moving a lot of business logic into any kind of rules engine. The top ten most valuable rules, fine. But after that we have diminishing returns for ever increasing complexity. And that's exactly what we should be avoiding in software.

0 Comments:

Post a Comment

<< Home