- Come up with dungeon/level concept (can be rolled up randomly;)
- Develop concept into dungeon sketch (pick lich, figure he needs a crypt, a workshop, and a treasure vault at minimum;)
- Come up with two or three special room concepts for level, again possibly with a random roll;
- Design room shapes specifically for those concepts;
- Fill in tunnels and rooms around the special rooms, and randomly stock;
- List all the monsters rolled up randomly and roll random relationships between them;
- Develop story based on the random relationships.
You can break the relationships down further based on geographical distribution. If the goblins all cluster in the south, except for one lone goblin in a room to the north, you can roll that goblin's reaction to the other goblins; if it's different (maybe that goblin hates his own tribe and is an outcast?) you can re-roll that goblin's reaction to the ogre and the pudding. If those reactions are different, that might explain why that goblin has split off from the tribe.
You can throw other rolls in the mix, too, to add information. Does the ogre know about the outcast goblin? Give a 1 in 6 chance that he doesn't. If not, and if the goblin's reaction to the ogre is negative, maybe the outcast is secretly sabotaging the ogre and getting it blamed on his tribe. Or you can develop the outcast in a more deliberative manner. How could a lone goblin survive without the support of his tribe? Maybe he's more powerful than the typical goblin. Maybe he's a goblin magic-user, in which case you could select (or randomly roll) his favorite spells.
The point, I guess, is that you don't have to be stuck with one process. You can take either logical development or random rolls as far as you feel able, then switch to the other and take it a little farther, switching back when you feel you've reached a dead end.