The best argument for a second monitor is that developers aren't constantly productive. Tests take time to run, code takes time to compile. If I'm using the same monitor to compile as to read email (or /.) for example, how long will it take me notice the compile/test has completed? It's close to instantaneous if the compile is running on a different screen. If it saves me 30 seconds a compile that's a few minutes a day every day. So having the second monitor pays it self off quickly without any productivity gains based on real estate. Now, personally, I find that there are real gains as I alternate between programming on my single monitor with multiple workspaces at home and my dual screen setup at work. But either way the extra monitor adds value.