Object Design Skill vs. UML Notation Skill

First, kudos to my current favorite book: Applying UML and Patterns by Craig Larman.

 

Craig writes:

“Drawing UML diagrams is a reflection of making decisions about the object design. The object design skills are what really matter, rather than knowing how to draw UML diagrams.”

 

Hey, it’s impossible to argue with these statements – truly, object design skills are a pre-requisite to being able to communicate those designs…

 

Ok… that’s no fun.  I’ll see if I can argue… Are we saying here that UML is simply a mechanism for documenting design decisions? (not really his point, I know, but bare with me.) I would argue, rather, that visual modeling is a critical tool for use during the design process.

 

I think I’ve formed this opinion, because, as a consultant, I’m not always the final decision maker. I’m often on teams including other senior developers and architects. I find having a common way to share and review design alternatives is critical when you are not a one-man show.

 

Additionally, when my object models are anything more than trivial – I absolutely have to visually model during the design phase to incrementally manage its complexity.  But, that’s just me.

 

Ok. So – I suppose what I’m saying is that unless you are a complete brainiac, and 100% responsible for all design work on your projects, then the ability to effectively visually model is at least moderately coupled to OO design skills. (And by design skills, I mean overall effectiveness at producing OO applications.)  Moreover, UML is a design tool, not simply a language for documentation.

 

Agree/Disagree? Have I completely missed the point ? Comments appreciated.

2 Comments

  • > Ok. So – I suppose what I’m saying is that unless you are a complete brainiac, and 100% responsible for all design work on your projects, then the ability to effectively visually model is at least moderately coupled to OO design skills.



    ABSOLUTELY. In fact, it becomes crucial once you consider the ability of the architect/lead designer to convey designs to other team members. OOAD helps the designer to not only convey designs, but to solidify the designs in their own head while working through the implications.

  • quite good but plz elaborate more...

Comments have been disabled for this content.