My basic run down is like this.. you'll see a mix of what the others wer talking about in it:
These are roughly in order.. but in reality, you'll go back and tweak/adjust/re-visit almost everything:
----------------
- Research.. if nothing else get a basic feel for the area you want to do. If you're making a historical map, you'll need to front-load and do ALOT of this. .. like.. ALOT.. and it's not easy sometimes.
- Plan. I prefer pencil and paper, but as Gupp said, Photoshop works too.
-- Also to think about here is what buildings do you want to be enterable? partially enterable? not-enterable at all? Since most maps generally end up having one or two notable buildings, can you include any?
-- Where you want objectives? what makes sense for objectives?
-- What team is attacking? Defending? meet in the middle?
-- Defensive buildings and structures for those teams? where should they be put that would make sense? What did the defending team have time to prepare? (Hasty barricades, dug out trench works? concrete poured defenses?)
-- Think alittle about player movement in the level. How much 'Z-Axis' fighting do you want to try and incorporate?
- Build your basics on the map... setup your main world subtraction, level info, terrain.
- Determine what sorta lighting you want.. this means the ambient lighting info, but also the SunLight actors (so like what time of day/night, etc..). Set them up accordingly.
- Setup your skybox.
- Sculpt your terrain into a rough shape of what you want.
- Plunk down place-holder buildings for your level. They shoud be approximates. The idea here is to evaluate what needs to be adjusted, if anything, to achive a good path/flow on the map and start planning for optimization.
- Work on buildings. I do suggest doing what Sepp suggested for buildings. It's ALOT easier and cleaner to build them in a separate map then paste them back into your 'real' map. Get them roughed out so they are enterable, etc.
- Create some basic defensive structures where you are planning on putting them.
- Setup your player starts / spawn areas / objectives / Ammo resupplies.
- Run around your map alittle. does it feel ok so far? If not.. go back and tweak.. if so .. cool
-- does it take way to long for infantry to get from point A to B? Is there adquate transport / tanks ?
-- should something be made further away? Closer?
-- should objects be adjusted so you can rifle rest / MG deploy on them ? Is it to easy to grenade into area X?
- Make any adjustments you think you need to anything done so far.
- Detailing.. detailing.. detailing.
-- Finish up the buildings.
-- finish up defenses, street objects, etc.
- Go back and run around your map. Adjust anything you think that needs adjustment.
- Bot path your map. (optional really, but I encourage it as an aspect of having a complete level, and if you're thinking about getting to 'the game biz'; you need to know how to do it)
- Get a few testers to run around your map offline.. see what feedback they give you. Adjust as needed.
- see if you can get a test server you can play it online.. check for map balance, playablity.. adjust.
- Release!
- take community feedback.. adjust as needed.
----
Again.. really you'll always be tweaking terrain or details all the time... well at least I do. :]
Also, some might consider map optimization the last step of map making.. the reality is you should be thinking about it all the time. It's very much possible to create a map that's looks good, but you'd have to break it's entire feel in order to make it playable on some people's machines.