Bend It Like Fowler
Remember the popular soccer movie “Bend It Like Beckham“? Well, I like to “Bend it like Fowler”. Martin Fowler, that is. In his terrific book “UML Distilled“, Martin recommends bending the UML when you need to communicate some application-specific design information and you’re not a UML language lawyer. Rather than leaving an important snippet of information out of your model because you don’t know how to capture it via a language formality, do whatever it takes to record it. It’s the stuff that falls through the cracks which causes downstream schedule delays and rework.
As a survivor of the structured analysis CASE (Computer-Aided Software Engineering) tools fad of the 80s, I’m leery of the expensive automated UML and SysML tools on the market today (Telelogic‘s Rhapsody and Artisan Studio come to mind). I think that both the UML and SysML are great languages for communicating a shared understanding of analysis and design information across a diverse team, but unlike general vector-based drawing tools (e.g. Microsoft Visio), language-specific tools are “handcuffers“. They usually require you to be a language lawyer and they force you to be syntactically and semantically correct or else your model won’t “compile“. Being goaded by a piece of software into spending a ton of time looking up and learning some obscure and arcane language detail when you’re under schedule pressure to produce output is not kool. I think that’s the reason why the 80s CASE tool push failed, and it may be why the UML/SysML tools won’t take hold (without coercion) in the mainstream now.
Disclaimer: I’ve dabbled with, but haven’t actually used one of the big, formal UML/SysML tools on a “real” project, so I’m just pulling this stuff out of you-know-where. Thus, don’t believe a word I say 🙂 .
-
September 27, 2009 at 1:21 amMy “Status” As Of 09-27-09 « Bulldozer00's Blog
-
November 5, 2009 at 1:01 amStandard CCH Blueprint « Bulldozer00's Blog
-
November 16, 2009 at 5:35 amConstruction Sequence « Bulldozer00's Blog
-
July 26, 2010 at 1:08 amUnconscious, Conscious, Bozo, Helper « Bulldozer00's Blog
-
October 9, 2010 at 6:46 amUnconstraining UML And SysML Modeling Tools « Bulldozer00's Blog
-
March 19, 2011 at 1:04 amMy Erlang Learning Status – II « Bulldozer00's Blog
-
August 8, 2011 at 3:50 amDataLoggerThread « Bulldozer00's Blog
-
May 1, 2012 at 5:36 amEmpty Lifeline « Bulldozer00's Blog
-
September 12, 2012 at 4:04 amThe Scrum Sprint Planning Meeting « Bulldozer00's Blog
-
September 19, 2012 at 1:02 amMonopolistic Providers « Bulldozer00's Blog