Thursday, March 23, 2006
Wow, you can really feel the frustration in the comments at Minis blog on the delay of Vista.   There were over 300 comments the last I looked.  And the comments are shocking, asking for the resignation of leaders, why the delay is good and bad, comparing software complexity between Adobe Photoshop and Vista, that the product was 5 years in the making and 5 million lines of code later and she is going to blow, whats better in the OS than XP2, devs vs PMs vs Testers, etc.  There is a wildfire at the largest and most successful software company in the world today.
Quite frankly I am a bit shocked, not at the wildfire, but by the comments.  To me, it is no wonder that Vista has been delayed.  Why?  Its obvious, software development is a non predictable and non repeatable process.  Thats it, thats the reality of our business.  In my mind, that is the root cause of why software is not delivered on time and budget.  All the rest of it is noise.
Despite all of the process methodologies we have today, we still cant determine when a software product is going to ship.  We in the industry continue to underestimate the size and complexity of virtually any size software product.  The business side of the industry continues to promise software products that are all singing and dancing to customers.
I have a lot of respect for people like Watts S. Humphrey for writing books that apply the most disciplined approach to software engineering that I have ever come across, and unfortunately, I read too many text books, mostly about programming.  Yawn.  Whats my point?  Even with this much rigor, we still cant accurately predict size of product, release date, total cost, etc.  What does that have to do with Minis blog on the delay of Vista?  Everything!  Despite any type of leadership issues, variability in skill sets, stack ranking, sizing and estimating techniques, etc., Vista was delayed for the simple reason that the act of software development is inherently not predictable or repeatable.
There is empirical evidence ad nauseum that supports the fact that software development is non-repeatable process.  We have evidence of thousands of projects not only being late, but failed miserably.  I would never have believed it myself when I first came to this industry 15 years ago, because my background was in electronics engineering, where generally speaking, we did have a predictable and repeatable process.  In fact, the design and construction of most physical objects is pretty much a predictable and repeatable process today.  Unfortunately, software does not abide by the laws of physics.
Mini, in an earlier post asked what was the value of Vista that he could explain to his Mom.  Thats easy, navigation of the file system has been greatly improved.  That is a core and key feature of any OS, how well can the user navigate the file system.  As explained in an earlier post, I thought MS had done an excellent job here.  The usability is indeed better, I have experienced it myself.  Because of the shortcut approach in the address bar of Vista Explorer, I can navigate around the file system with fewer mouse clicks.  What more can my Mom ask for?
Another question Mini asked along the same lines for Office 12 or 2007 or whatever it is going to be called.  Have a look at the state of the art in features in Word 2003.  It has 32 toolbars.  How could this happen?  This is a word processor.  What should a Word processor do?  Allow me to write any type of document in the easiest possible way.  Fortunately, Word 12 is much better in that regard with its context switching ribbons.
Microsoft should be focusing on reducing the complexity of their products not only from an end user standpoint, but also from a developers point of view.  Seven user interface technologies from one company? Whats wrong with this?  Rather then making it simpler, this is going the other way in complexity.
What I like about Office 12 plus severs like SharePoint version 3 is that there are developer tools that can customize a SharePoint site quickly and easily.  Sure it is FrontPage rebranded and upgraded to become SharePoint Designer, but the point is that a Systems Analyst can now modify SharePoint sites easily and even describe fairly complicated workflows, all without writing a single line of code.  What does that mean?  It means we can deliver customized solutions to our Customers quicker and not have to have a PHD in programming, meaning the tool appeals to a wider audience.  Thats the ticket MS, build more Power User tools that allow more people to manipulate your products using less code.  The same approach could be applied to the tools you are using to build Vista.
This is called raising the level of abstraction.  From where I sit as a 15 years software developer, this is what will help industrialize our software industry so that software development becomes more predictable and repeatable, and then the headline could be that Vista ships on time as predicted.  Till then, what a mess our industry is in, all indicative of Minis blog detailing the inner workings of the worlds largest and most successful software company in the world.
Thursday, March 23, 2006 2:22:52 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0]
 Friday, March 17, 2006