Thursday, May 15, 2008
Distillation is a mental disorder
There is nothing wrong with searching for higher-order ways to develop software, create better strategies that enable the strategic intent of the business nor improve the daily lives of humanity. Sometimes distillation works, sometimes it fails, and sometimes it works, but others complain because they are not used to either abstraction itself or my flavor of abstraction used.
When abstractions make things clearer (and not just for the person doing abstracting) or more maintainable, they can be good. However, the goal should be to make sure that abstractions don't leak. All non-trivial abstractions, to some degree, are leaky. In other words, an abstraction is a model of reality; because it is a model, it doesn't exactly map to reality and that impedance mismatch can cause problems.
In the past I have stated that all abstractions lie. Reality says that delusion exists when folks are good at balancing practical versus ideals. One can over-value idealism the same way that Howard Hughes over-valued cleanliness later in life. Such extremism could be driven by either displeasure with "messy" models, and/or a need for mental masturbation; to constantly tinker and improve rather than move on. In their mind, they are overweighing the benefit of spending the time to master an abstract model versus moving on to the next project...
Links to this post: