The Unified Modeling Language (UML) is a general-purpose modeling language not a methodology.
Do you use UML?
Sort of, I'm a bit loose with my interpretation and keep the number of diagrams types to a minimum.
Do you use a NoUML method?
I used to do the Rational Unified Process (RUP) with Rational Rose. I found this to have to much ceremony for what I was doing, so it too got a bit loose.
I started looking at the ICONIX Process, I liked it but din't really stick with it because I couldn't get the ISO9001 guy to relax to paper work for me to be able to do what I wanted. The processes here are from a very mechanical engineering mindset. I'll probably revisit ICONIX with added TDD soon.
I don't use UML (explicitly) because I don't really see the need for it. It's usually just as easy to read in code or generated by something like Doxygen.
UML isn't really for knowing how individual blocks of code works. It's much better suited for seeing how all the blocks of code work together. So Doxygen is not a replacement for UML. At least from my experience.
I've gotten way further as a programmer than I should have been able to without extensive prototyping. UML being a tool I should learn to use for prototyping.
Doxygen can be configured to tell you which functions a function is calling, not much for actual logic though.
I make model interaction diagrams, but not much else. The functionality of my code is displayed when I run the test suite.
1 2 3 4 5 6 7 8 9
When the user messes up
there is an error message
nothing bad happened to the database
When the user is just fine
there are emails sent out
the emails contain the correct info
the database is updated
there is a success message
The actual flow of the program doesn't matter as much as refactoring and adding features in such a way that the tests continue to pass.