In my experience most architectural documentation has been ad-hoc at best,and, aside from more structured dead-tree kinds of writing I’ve yet to see formal UML in actual use, and I’ve worked with few, if any developers who’d be able to clearly or correctly build UML diagrams – it seems to be used more as a kind of “graphical psuedocode”.
Given that, I’m curious as to whether anyone has experience using UML in internal documentation and communicating system function between team members. Is this a tool/mode of communication people really use in the day-to-day? Is it helpful, overspecified? Have you worked in environments where precise UML mattered or was useful?
In my workplace, we have used UML class diagrams extensively as we write large enterprise-scale web applications. On some occasions we use sequence diagrams. But, by no means do we use the full UML suite of diagrams or even come close. UML can only be effective by chewing the meat and spitting out the bones. It is a great communication tool, but using too much of its functionality can confuse people.