On Configuration
Matt Gemmell on Engineering Thinking:
when faced with a decision about how to implement certain functionality, engineers take the extreme position that:
This binary approach is gravely wrong, and unjustly offloads decision-making onto the user of the software.
- A feature must be exactly what 100% of users want.
- If the above isn’t true (and it almost never is), the feature must be configurable.
This is very true for consumer-level software. You will never ever satisfy those people with all their needs and expectations and whatnot.
It is much more difficult for enterprise software, where configuration determines everything, and everything must be configurable. It's usually ugly, has multiple level of configurations, and possibly several undocumented secret sauces known only by a few people. Moreover, usually it is up to the implementor (consultant, etc) to determine what the user wants. Yes, it comes with a default setting, which only useful when the software is running on their development machine.
Sometimes, even in enterprise software, configuration used as a way to avoid decision-making (and the possibility of getting blamed for it).


Comments 0 Comments