ChrisAn's Blog Please read my disclaimer.

simplegeek

a.k.a. Chris Anderson

More on release cycles

Dare sent me an email reply, which I won't repost, but I would like to clarify some things that I said.

First, I believe that MSFT does release to infrequently and not early enough in product cycles. The problem is that nothing is black or white. Large products require large release cycles. Back when we first started on the .NET Framework (then called COM+, Project 42, Lightning, etc.) my team was one of the early internal adopters of the technology - and it was rough. No debuggers, lack of basic functionality, constantly dealing with GC and JIT bugs, interop that worked sometimes, etc. Releasing the product that early would have been devestating. The problem is you can only make a first impression once. If you talk to people that worked on a product like Access that had horrible performance in their first release - they did massive performance improvements, but it still took years for the stigma of the bad release to go away.

I know of projects that took internal customers too early and it is taking an enormous toll. Once you release something (in alpha, beta, or release quality) you have to provide some level of support. Even the act of a release takes weeks. You have to drive the team to reach a quality bar, get full test passes, produce redistributable binaries, etc. Doing a source release is even more taxing - you have to make a pass over the code to make sure it is ready for public consumption (you know, like no swearing in the source code! <G>).

Windows is huge. The source base measures in the tens of millions of lines of source code (I think I heard it is over 50 million?). Driving the thousands of people working on Windows to produce a customer ready (even alpha quality!) build takes time. If you ever managed a large software project, you know that not every build, every day, is ready to distribute to people.

Second, I love source code release. Personally I don't believe that the value of any company (Microsoft, IBM, Sun, etc.) is tied up in it's magic source code. I think that the value of the product is in the support, continued evolution, and innovation in the product. But again, nothing is this simple. There are huge costs to releasing source code. Yes, lots of people do it, and they have structured their organization and development processes around this. Yes, Microsoft is planning on making more and more source code available to certain customers (I read something about smart card access over the web? I really don't know what the plan is there).

In reality I think that Dare and I agree - I just think that I'm a bit more pragmatic about the costs and benefits of releases (both binary and source code). I really do want more frequent, early releases, and I would love to see more source code releases. You just have to understand that these are features - which means that other features would have to be cut.

02/09/2003 8:09 AM | #Software

Content © 2003 Chris Anderson | Subscribe to my RSS feed.

Powered by BlogX