A long time ago my erstwhile colleague and friend Ben once said: â€œWe wouldn’t be writing software on Solaris machines if this were a .NET project â€“ why do they make us write software on Windows machines when we’ll be deploying to Solaris? Ben did have a point. It wasn’t just the fact that software projects the world over force people to use Windows â€“ that’s their lookout. The problem is that by writing software on the wrong operating system*, your people don’t get exposure to the right OS, and you delay vital feedback to the developers.
These issues manifest themselves in several ways. You might observe that the developers and the systems people don’t get along famously. You might also notice the testers being grumpy as they will be the first people to find out that the application won’t actually deploy. And when it comes to diagnosing production faults, the developers might start staring at their
Anyhow. I just started working for a company that does .NET projects. Today’s interesting fact: The developers run Windows Server 2003 on their desktops. Just like production. Same IIS version, same patch level. I can’t fault the logic.
* The wrong operating system is defined as â€œthe operating system that you aren’t running in productionâ€.