There's no such thing as an "ideal monitor setup" because there's no such thing as a "canonical user" either ! (plus the setup you need depends on the tasks you have to perform)
That being said, the strategy I use at my company is simple :
Get every developer as many monitors as he asks for. Plain and simple.
(And I should mention I am running this company, so I'm basically the one paying for hardware ; that being said, I used the same strategy in my previous work position, when I was running a middle-sized .net programming team in a top-tier Investment Bank)
Three reasons to use this strategy :
A typical monitor costs around $300 and will probably be used for say 3 years... That's a total cost of ownership of around $.5 a day including electricity. The cost of 'ownership' of a good programmer is rather in the $500's a day.
In other words, a monitor pays for himself as soon as he saves 1 minute a day of a programmer's time.
You acknowledge the fact that your programmers know better than you what they need to get their work done (which is a strong motivator for them).
I use to tell my team-members :
If you need something to get your work
done, just buy it, or ask me to get it
bought. I don't want to waste your
time arguing over why you need an
USB rocket launcher. You probably know
better than me what you need :)
You acknowledge the fact that your programmers work is important enough to let them having the best tools money can buy (again, a very strong motivator)
In fact, programmers are so expensive that almost everything that can ease their job is worth buying. I'm talking about :
- as many monitors as they need
- a very fast computer, SSD, quadcore, you name it.
- another computer, if it's needed
- all the books he might want to look at
To end with, a few words about my current setup for developing a .net software (YMMV if you're either not me, not me in may '09, or not developing a .net software)
- two verticals 22" 1920*1080 monitors, displaying a vertically-split Visual Studio
- one landscape 22" 1920*1080 monitor for VS's toolboxes (solution explorer, toolbox, etc.) and other various tools (SQL Management Studio, namely)
- one landscape 22" 1920*1080 monitor for firefox/IM/outlook
A good reason to add an extra-monitor is if you need some things to be constantly visible (such as supervision tools)
In my experience, I hate working with only one monitor, 2 is ok, my productivity still benefits for a third one, and extra monitors are not really needed.