<$BlogRSDUrl$>

                   

Right model for the right purpose 

A colleague questioned my sanity after reading my rather insensitive comments on UML. How can I not like "models" and "model-driven architectures"? I spent a good part of my life building models for quite complex things, so I certainly don't dislike 'models' - they saved me more than once.

It is not that I dislike UML either. Any attempt to bring in some structure to software design / development process is a worthwhile attempt. I think UML offers a good diagramming tool for conveying one's design, and when it is used for that purpose, it serves well. However, a diagramming tool is different from a 'modeling' tool. In my opinion, trying to model a piece of software as very-detailed UML diagrams is a waste of time, because those models don't serve much purpose (law of diminishing returns). View them as diagrams for shared understanding between humans, if at all, and not between human and computer. Spend just as much time necessary for that purpose, not a second more.

Remember, when it comes to building a software application, a quick prototype is worth a million UML diagrams. A prototype is indeed a rough model of the final software.

This page is powered by Blogger. Isn't yours?