For single me code:
For anything at about a page or two, I just code and fix as I go. I may or may not have tests at first, and if I don't have any tests at the end it's because the thing is so short that it's its own test.
For anything larger I write/draw "thing diagrams" on paper, an informal way for me to think out loud. Thing diagrams might be just a list of things and what they do, or they might look like class diagrams, or mind maps, or combinations of all that. Each thing might have a word, or sentence, or paragraph. In some cases there might only be words and paragraphs. It just depends on random cosmic rays, and on how what I'm working on directs me to think.
For me as a team member, I follow whatever practices and lore the tribe follows. Usually there will be a larger design from a larger tribe member, and I'll do my part like a single me coder until I know enough about it to produce tribally approved practice and lore. Then I code, and correct my delivered practice and lore.