« Kent Beck violates rules of TDD? Does he really? | Main | Can we blame the QA team? »

April 27, 2005

What Microsoft keeps teaching us – what not to ship?

The mantra of 'Release regularly and frequently' is at the core of all agile processes. However, it is important to know the difference between a release that is ready to ship vs. an internal release. So, when is software ready to ship? Flip side of the same question is “when is software not ready to ship?”

Who can teach this better than Microsoft? I guess it is difficult for the world's #1 software company with around 57,000 employees and $36,835 million of sales in 2004 to have a process in place that saves them from regular embarrassment. Let me tell you about my recent experience:

Office 2003 ships with a new add-on to Outlook called Business Contact Manager. This tool was supposed to seamlessly integrate with Microsoft Outlook. I can tell you one thing; it is anything but seamless integration.
After installing the software, it did not take me long to realize that Outlook was now 5 times slower at start. Why? Business Contact Manager uses SQL server desktop edition to store contacts vs. Outlook which uses the file system to store contacts. Now, my business contacts are in a SQL Server instance, while my personal contacts are in a file. So much for seamless integration!

Next, I regularly synchronize my PocketPC with Outlook. The next sync with PocketPC, after installing the software freaked me out. None of my business contacts existed on my PocketPC anymore! It turns out, when I moved all of my contacts to Business Contact Manager, Outlook thought I deleted them and removed them from PocketPC. That is what I call seamless integration!

Now, here is the most horrifying experience! I was offline and I tried to open a business contact. I get a dialog, "Custom form could not be opened". I click OK; then pops open another dialog saying, "Array index was out of bounds".

You must be kidding me! You expect the business people using your software to understand “Array index was out of bounds”. I searched and came across this link, which made me delete few forms and clear cache to fix this defect. On the brighter side, I did not have to install a service patch.

It is interesting, how a software behemoth with deep pockets and huge research budget keeps coming out with embarrassing software like this. I am not saying do not release your software. Regular & frequent releases are very important and should be followed religiously. However, if the software product is for the mass, you do not want to face wrath from customers and possibly loose few potential customers by releasing premature software like this one. Instead, release the software to an internal customer team who can test the hell out of your software. On the other hand, if the software is only intended for internal users within an enterprise, you could convince them to try out partially complete software and give you valuable feedback.

Well, to feel good, Microsoft can definitely claim that their software is always in constant state of evolution!


Posted by gunjan at April 27, 2005 07:37 PM

Trackback Pings

TrackBack URL for this entry:
http://www.gunjandoshi.com/cgi-bin/mt-tb.cgi/4

Comments

For a moment I thought you were talking about the Whidbey betas. A p*ss-poor experience if you ask me. I am so troubled using VS 2005 that I consider a crusade for Java. Or Smalltalk. Or go back to VB6.

The thing about releases is to release something that works. Every release after that should keep working.

Posted by: Thomas Eyde at April 30, 2005 07:41 AM

Could not you just blame this fiasco to the QA team only? Software engineers did their job, it is the QA team which failed to perform?

-Dennis

Posted by: Dennis Smith at April 30, 2005 02:05 PM

I would argue that the 'software engineers' did not do their jobs. If they were good 'engineers' they would be running unit tests and designing use cases for QA in conjunction with human interaction specialists -- or something more than they obviously did. If Microsoft wants to sell itself as the company who 'invented' the future (from connectedness to human area networking), they need to go back to the drawing board, or at least the job board. They must have processes in place... Why aren't they working? Where are they breaking down? Blame surely must rest at least somewhat on the 'engineers' (and management, code-monkeys, QA, and every other baker with flour on his or her face).

Or is it that MS has just grown fat off the fruits of the land and has become an apathetic behemoth, content to wallow in her rut and swat at gnats attempting to steal a drop of nectar from her double-chin?

Posted by: Mark at June 23, 2005 05:49 PM

I've been using 2003 .net from 1 year and started 2005 too. This is a robust framework in making and I got the best state of the art hierarchies of class from .net. One can leverage its power by mere notepad and Complier. MS is building the future now, and not all fingers operating the project are seasoned on this new development platform. This is no Custom or Automation app, it is common language framework with minimum initaialization load bearing on class hierarchies. MS doing gr8 job, and are making it to the developer community expextation and Market speed. Win XP is an example of how it started and how it is conquered market as XP2 (sp2).
Thanks for giving opportunity to add voice to my thought.

Posted by: Rao at August 16, 2005 02:56 PM

Post a comment




Remember Me?

(you may use HTML tags for style)