The Unbearable Stupidity of Modeling
Modeling is simply over-hyped promises all of which fall far short of the mark like so much of the technobabbel
generated by the world's software marketeers. The reasons why modeling is doomed to failure are seemingly endless.
- The learning curve is too steep. Only someone with a Ph.D. can actually understand UML, or at least do a good job pretending.
- When I hear the word "meta model" it turns me cold; talk of "meta meta models" makes me want to cry.
- Modeling's complexity will only distract me from solving the problem at hand thereby slowing me down.
- Modeling is totally redundant. Java already has a reflective object model, so why would I need another one? Learning one general purpose programming language is more than enough of a challenge and should be more than sufficient. They're Turing complete after all, so it's provably true.
- Modeling is simply too restrictive thereby limiting my creative abilities.
- It's patently ridiculous to believe that modeling will be sufficient to generate my whole application without need for writing actual code.
- Generated code is of poor quality, performs poorly, and is difficult to understand and maintain. I can do it much better myself by hand.
- I don't like all those stupid diagrams. They just don't scale. A textual representation is far more manageable. I simply don't need a graphical rendering of my code.
- Domain specific languages will create a Tower of Babel rife with formalisms that only the original developer understands.
- XML Metadata Interchange (XMI) is unspeakably horrible. I want nothing to do with it.
- Modeling is just a ploy to ensure that I'll need to buy expensive tools. Tool vendors tend to support their tools for only a few years before changing them all around as part of some new marketing campaign, thereby risking my long term investment.
- I won't be able to do agile iterative development but rather will be stuck with an onerous formal waterfall process.
- My project isn't big enough to need all that formal modeling overhead.
- If modeling really did work well, I might as well out source my high tech job to the developing world.
Clearly modeling is doomed to failure, unless of course these are all misconceptions... In fact, they are exactly that.
Peter Friese is a software architect with itemis. He is a committer for the open source projects openArchitectureWare, Eclipse Modeling, FindBugs, and AndroMDA. As a software engineer and software architect, Peter has worked on a variety of industry projects in different domains such as banking, aerospace and transport. Peter is the author of various articles on the topics of Eclipse, Spring, and model-driven software development and gives lectures on these themes at software conferences.