I start at either end, and work back to the middle. Driver and putter are pretty much a given - just find the clubs that do the best job for these.
At the short end of the bag, wedges are for partial shots - I hit very few full shots from 100 yards and in - so it's about finding clubs that give me as many options as possible, and cover all of the relevant areas (chipping, pitching, bunker shots, open-face shots). I've found that there will be one wedge that I don't use much if I carry 4, so I tend to go with 3 (currently have 48°, 54° and 60° in the bag).
At the long end, the next club down from driver is more important that it might initially seem to me - I play a course with a lot of relatively long par 4s (including some that I can't reach in 2 most of the time), so end up hitting a lot of long approach shots. I want to maximise distance from this club (as much as that is possible with a mid-80s swing speed), particularly into the wind, but it also needs to be a club that I'm confident in and comfortable hitting off the fairway. I've used a strong-lofted hybrid in this slot recently, but am back with a 3-wood for now.
After these have been sorted out, the rest of the clubs are a case of filling in the yardage gaps - my current setup has 8 clubs between 3-wood and pitching wedge (48°), to fill the gap from 100 to around 180 yards. The longer clubs need to give me a bit of flexibility out of non-fairway lies, but also a bit of workability - I play a lot of partial or knockdown shots through the bag (there are a couple of holes on the course I play where the green is elevated - playing the ball short to run up is a lot more likely to see me on the green than trying to fly it all the way and stop it from 170 yards...) At the moment, that means that I'm carrying 2 hybrids (19° and 23°), then 4-9 in the irons.
I am looking at fairly significant changes to my bag in the next few months (as in replacing the irons, and possibly some of the longer clubs as well), but the process is likely to be similar - start at both ends and work back into the middle.