I read a lot of WW2 books, and when I do, I keep notes with all the interesting (ASL scenario wise) situations I find. Usually, every situation is documented only with a sentence and a page reference. When I've finished the book, I store all the notes in a huge text file on my computer for future use. At some point I might decided to do more research on a particularly promising situation. Then I go about find all the books and on-line articles I can get my hands on, trying to gather as much information about the details of the action, the units involved, time, space etc. Finding out of print books can take months, so you need patience, and when you finally get them, it might well be the case, they don't contain the information you need. All this is somewhat expensive, but at least you end up with a nice little library.
My guideline for when I'm done with the research is when I think it's unlikely someone will be able to contradict anything in the scenario using published sources in any language I know. I want to avoid a situation when I'm half way through the playtest process only to find I'm wrong about which vehicles were there (or indeed there were any vehicles at all) or some other important aspect. If there's something ahistorical about my scenario, I want it to be that way because I purposely made it that way (to make the scenario more fun, manageable, balanced or whatever). Not just ahistorical at random. All the research goes into another text file, specific for this scenario. I only keep brief notes, and I often end up with a terrible mix of German, English and Swedish which makes the gibberish of the Swedish chef makes sense in comparison. When research is "done", you can start working on the details in their ASL form. Often, you've had a rough idea already since the first book you read, but now you start working on the OB, boards, SSRs and VC. I leave the historical text for later. It's a lot of work, and the scenario might well be a dead end. Reaching this stage, I would say it's about 25-50% chance you have a winner.
After a couple of solitary playtests, you probably know if the scenario is going to fly. If things work out, I start transferring the game-related information from the text file to the DTP program and the real Friendly Fire layout. The first playtest with a real opponent I have with something that resembles the final layout, but usually no historical text. I use a source control system (CVS), to keep track of the changes made to a scenario. I find this very useful, and also make you feel more confident when making changes (since you will still be able to easily retrieve old revisions of the scenario). Big changes are uncommon beyond the solitary playtest stage, but small changes are not. I usually end up with having about 50 versions of the scenario.
That's my process. Nothing fancy.