Rube Goldberg ReduxI’ve seen it again and again, software’s answer to a Rube Goldberg contraption. A software developer sets out to complete a straight-forward project, but delivers a convoluted, complex result. If it ended here, it wouldn’t be so bad. Often oblivious to the fact that their solution lacks elegance, these developers sometimes take great pride in showing it off. They seem to believe that the complexity is a kind of badge used to confirm or evidence their abilities. Developers with a results focus easily recognize this ruse for what it is – a waste of time. Counter intuitively, it’s the ability to write simple code that demonstrates skill. As well known author Jim Highsmith, puts it: “Simplicity isn't always simple, and sometimes it's down right difficult.” Even the best developers find themselves Refactoring. Simple code is much easier to read, maintain and extend making it worth the effort. It’s common for the best to think, “I would have made it simpler; I just didn’t have time”. This is a lesson that those writing unnecessarily complex code have yet to learn. Beyond coding practice, the “pride in complexity” group also seems to miss something more fundamental. They usually fail to clearly comprehend the problem, causing their approach to be skewed. Taking the right approach may be the most important factor leading to an optimal result. Driving from LA to San Diego via Seattle, has little practical value when getting to San Diego was the only goal. Rube Goldberg contraptions are meant for entertainment, not admiration.
They have a place, but it isn’t in software! |
|
RossSoftware.Com © 2006 |