Sunday, May 23, 2010

Horses for courses

I see Methods and Tools recent poll mixed results for UML http://www.methodsandtools.com/dynpoll/oldpoll.php?UMLPoll2

I would suggest few doubt that UML (or UML like OO analysis) is useful. The key things are to determine when it most useful and when it is not particularly useful. It is strange for me to be writing in support of UML as I more usually pointing out that it does fit well in the domains I predominantly work on now e.g. strategy and strategic architecture.

That only 14% of people use UML on all projects makes sense (perhaps they all have complex OO projects), that 45% of people use it, or some of its techniques, on some projects makes ever more sense.

That 11% of people have abandoned it suggests to me that it has been misapplied. Way back when started reading what is now Methods and Tools it was called JOOP (Journal of Object-Oriented Programming) my focus was very much of OO analysis and development methods - but ever since those days I have seen SW developers (or ex developers) promote the use of UML where it is poor suited. They have their hammer (UML) and every problem is treated a nail. This has not helped UML.

The Agile method may be suitable for some projects but I don't see it as well suited to large complex initiatives, involving many parties and systems that need to be supported and extended over many years. This is because it fails to record or communicate complexity to the various stakeholders who need to participate over time i.e. who are not party to the face to face conversations, and don't read the code.