Profiles - The UML problem solver

In reading several posts on stackoverflow.com (and posting) and through personal interactions it has become clear that people hate UML because they think of UML as a drawing language and not a tool for modeling. Nothing new so far, however, I realized as people search to bring teams together or gain efficiencies in communication UML all together skip UML profiles. People would really benefit from the added rigour that UML profiles can be used to create.

UML problem - How a UML profile helps:
* UML is to big - Profiles reduce the scope and mature tools only display valid elements and relationships. Only allow drawing that which should be drawn (modeled).

* UML is slow - Profiles reduce the problem space and force the modeler to solve only the important pieces for your particular problem space.

* UML is complex - Yup it is, but profile can reduce the possibilities and focus on simpler problem spaces. Novel idea, you mean I don't have to diagram the bits and the components. There is a point of diminishing returns, find where it is with your peers.

* UML is to general - Ok, make it specific with UML profiles. You can force many things about the model or diagram. For instance, you might limit all classes to be .NET types as you are only a .NET shop. Or all classes must by services as you only want to show solutions at the services level.

Everyone wants to think that the creation part of their jobs should be free and unbridled, which is great for painters. Unfortunately architects and designers need their creations to communicate the idea quickly and simply. The terms patterns and re-use are accepted at the code level as must haves and best practices, but what modeling or drawing with UML or no language this seems foreign. Your work is 80% the same and only 20% unique. Allow UML profiles to help you and your peers focus on the 20% new stuff and create a profile for the 80% to go more quickly.

Example:
If your company only uses widgets and sprockets to create solutions, create a profile to only allow widgets and sprockets in the model. Further more, limit the behavior and structure to what widgets and sprockets would allow. Now, as a Senior sprocket and widget consultant you can focus on the 20% that is new and creative. Also, all the other SSWCs (Senior sprocket and widget consultants) use the same terminology and symbols easing communication.

Comments

Popular posts from this blog

Configuring Javascript SyntaxHighligher 3+ in a Blogger site

Reference Cards, Cheat Sheets, Posters, whatever they are called.

UML supports the MDD process: No match made in heaven or oxymoron.