"Real Programmers do UML."
One hears that a lot, but to be honest I have had better experiences with much simpler tools: sticky notes and CRC
cards. These are simple, easy to work with and you don't need to fight an application's feature set and associated 'foibles' when all you want to do is organise and formalise your thoughts.
On the other hand, I often turn to FreeMind when I am trying to 'brainstorm' a presentation or a document or a design/architecture, or…pretty much anything,
really.
You don't need gobs of training to use it, it is quick, easy and the end result is immediately clear.
The following diagram shows the early stages of a map about my cat, Furball:
You should be able to get a good 'feel' for what is going on here almost immediately (I challenge anyone to say that about an equivalent UML diagram…if such were to exist).
You can't see it here but one of the major ways in which FreeMind wins is ease of maipulation. It is just so easy to move branches around, reorder things, insert/delete nodes, link related ideas together, categorise concepts, etc.. A
few mouse-clicks or drags is usually all it takes. It is not unusual for me to reorganise a given map many times before I get it to "feel right." This freedom to "change the world around" isn't usually available (or not to the same degree)
in the more heavyweight tools/techniques.
FreeMind is a great example of free software.
Every team to which I have introduced FreeMind has adopted it with gusto, and I know that it has become a standard tool in the arsenal of many past colleagues.
Add it into your toolkit now.
[edit]
My good friend Dr. Paul King reminded me that Freemind 0.9+ is Groovy-enabled. This is A Good Thing.