The way I did it was to generate random rooms of different sizes using the default grid. It keeps checking until it can place the room somewhere suitable.
Check out http://plinkie.neocities.org/ and keep refreshing/reloading the game. It generates 3 little rooms each time in close quarters at random spots, with the 'boss' being inside a room and the 'player' being outside of the room spawning at a random location.
I'm going to expand this to generate tinier rooms and then go on to spawn other enemies at random inside the rooms using enemy counts. Then onto the actual gameplay I guess...