There have been no shortages of announcements regarding software shipping slippages,including:
and digging into the history books
This is by no means a phenomenon exclusive to Microsoft. Apple recently announced that the next version of their OS (originally targeted for Spring of 2007) is being pushed back until October.
How is this possible? you might ask… These are releases that will be responsible for hundreds of millions of dollars in revenue for the Software Developers! Can’t Microsoft or Apple just hire a few more developers and throw them at the release?
In short, the answer is “no”.
Shipping quality software on time, on budget, and with features that will encourage consumers to purchase your product is a problem that has plagued developers since the beginning of time.
Well, since the beginning of software development.
Within the realm of Computer Science/Project Management, there is a concept known as the “Mythical Man-Month“, based off of the classic book of the same name released in 1975 by Fred Brooks. Fred Brooks is a software engineer and computer scientist, best known for leading development of IBM’s OS/360 Operating System.
The central theme of the theory is that “Adding manpower to a late software project makes it later”. To quote the book:
“…when schedule slippage is recognized, the natural (and traditional) response is to add manpower. Like dousing a fire with gasoline, this makes matters worse, much worse. More fire requires more gasoline, and thus begins a regenerative cycle which ends in disaster.”
From the Wikipedia description of the Mythical Man-Month:
“Assigning more programmers to a project running behind schedule will make it even later, due to the time required for the new programmers to learn about the project, as well as the increased communication overhead.”
As such, Project managers are left with a touch choice… They can
- Push out the release date
- Drop (or postpone) features
- Lower the quality bar.
Option three is NOT AN OPTION when you are developing Operating Systems, or software that underlies critical systems. Would you like nuclear weapons or Power Plants controlled by software that was “Good enough for government work”? I didn’t think so…
It was the right decision to push back the Longhorn/Vista releases. It was the right decision to push back OS X 10.5 if the code was not ready, and it was the right decision to postpone a few of the features within Viridian (aka Windows Server Virtualization). Windows Server Virtualization will serve as a long term platform upon which many many many servers will be installed. There is no room to ship code that is “maybe good enough”.
To reiterate what WILL be coming with the first release of Viridian:
- 64-bit GUEST support
- Hardware-based virtualization
- 64-bit hypervisor
- WSV Server Core Role
- Large virtual machine memory support
- Clustering (both guest-to-guest and host-to-host)
- Volume Shadow Services (VSS)
- Virtual SCSI
- Network Load Balancing
While Live Migration will not make the first release, you will still be able to host cluster the Virtual Machines, with a downtime of less than 5 seconds (depending on the speed of storage and amount of memory assigned to a virtual machine).
And just to clarify, the features that have been postponed have…um… been postponed. Not dropped. They will come in a subsequent release once they can be fully tested to the quality bar demanded by Microsoft.
BTW… this is now my 100th post to The Sean Blog (not counting my initial “Hello World” post). Just to check and see if anyone is actually reading what I write, I have a copy of Gears of War for XBox 360 to the first person that emails me and asks for it. Use the “Email” feature at the top right of the blog… 🙂 Good luck!
*Update: Stephen was the first to email. Congratulations!!!