I'm a visual person, so I like seeing plans laid out on paper (or the screen). UML really appeals to me because of the way it visually relates information, however, I haven't really bothered to learn it very well and it's not used much in my office (we're a small outfit).
So my questions are:
1) Do you use UML, and if so, how often?
2) How useful do you find UML to be? (maybe use a scale of 1 to 10, with 1 being the lowest)
This post has been edited by jumptrooper: 08 September 2010 - 09:16 AM
Agreed - if it's used properly it can be hugely useful. But that's more "theoretical". I'd really like to know if people actually use UML as a regular part of their process (whether they want to or not), and if so, is it beneficial tool that makes their life easier, or is it an annoying formality to appease their supervisor.
Being a student who has never used UML "properly", I sometimes fail to see the full picture with it. However, I do think that it has the potential to be very useful indeed. Perhaps next year when I get the opportunity to go out on work placement I will see UML in more meaningful action.
But to answer the original questions: No, and potentially 7 or 8.
2. It really depends a lot on how familiar the people I'm working with are with UML. In my experience the average developer is clueless about UML or only knows how to create a generalized class inheritance diagram. In the case that I'm working with people like that then the usefulness is somewhere around a 2 or 3. In the case that I'm working with people who have a clue then it can be as much as a 7 or 8. The Agility of the project can also have an effect. For example, if your domain model or some other part of the project is always changing then it can become a chore to constantly be keeping the UML diagrams up to date. But it can end up saving time when a new UML-aware developer joins the project.
I am using UML to model my college project, I find it really useful especially the class diagrams as it helps me get a bigger picture of what my project entails. It is good to know the structure of how something will work before going off and coding it. Especially when using OOD and OOP methods. My Java course runs along side my OODesign course and they go hand in hand.