I have a way that works most often for me. I come up with a chord progression that sounds good and then just start singing. Sometimes I have an idea for words, other times whatever pops into my head. Then once ihave that basic skeleton of a song down I record it and then jam over the chord progressions trying to make the rhythm more interesting than just strummed chords.
When I'm composing music for work, what I'll do is close to ibz's method. Come up with an idea, and jam it out until I have a few parts. Then I record each part as a loop and try arranging the pieces until I have something that resembles a song, and then sometimes have to add connecting bits to make things flow a little better. Then I'll play it back and play along recording the new part and usually by then it's good for whatever I'm doing. When I'm working I have to get it done fast and this seems to be the most streamlined way for me to do it.