Communication and Channel 9
May 5th, 2004Microsoft has started an effort to increase communication with the development community. Their main communication portal is Channel 9 which allows their employees to broadcast their comments through blogs and video feeds. It is an interesting experiment. This site represents a fundamental shift in the software development process which is slowly correcting a flaw that Robert Cringely wrote about in Accidental Empires...
The history behind this recent trend started back in the early days of Microsoft. To lead their product development efforts Bill Gates hired Charles Simonyi, the best person he could find for the job. Simonyi worked at the famous Xerox Parc and developed a software development model in which a master architect would define the entire system and then relay the specifications to a large team of junior developers who would just build directly to the specs as quickly as possible. This was seen for a long time as the best way to produce software products but unfortunately they later discovered a major flaw after MS had built their organization around this model. To make matters worse other companies also modeled their efforts after MS trying to emulate their success.
The flaw they later discovered what that master architect did not get feedback quickly enough from developers if at all. The master architect could see the macro view but did have a good feel for the details and was ill-equipped to address unforeseen problems. There was a memo leaked from MS several years back stating Open Source projects had much better communication between teams which provided a distinct advantage over corporate teams. So lately there has been a movement to increase the effective communication between developers as well as the end users in order to identify problems sooner, hopefully well in advance of a release so that changes are not so costly.
Part of the motivation behind having one master architect for a product was that an army of developers could hammer out software much more quickly than the next company producing a competing product. This explains the armies that Microsoft, Sun and Oracle have hired on vast campuses.
What is becoming common knowledge now is that smaller teams can communicate more effectively and that results in higher quality software. The classic concept of doing one thing and doing it well comes into play here. A recent article on Panic Software details how they are able to produce high quality software their users love with a team of 8 or less. Their specific strategy is to have half the team focus on great functionality while the other half focuses on a great interface which makes it a pleasure to use the software. Too often software developers think what works for them will work for the average user without understanding usability issues or consulting a usability expert.
It should also be noted that most times people do not need a complex solution. The simplest set of features with an intuitive interface may be a better product than what these armies of software developers produce. But these armies have to produce something and will build bloated applications with a mountain of features even though the users will likely only use 5% of those features.
This trend towards smaller teams and better communication may not cause companies like Microsoft and Oracle to disband their armies, but it should show that small teams can produce high quality software which works extremely well. Perhaps a company's IT department can produce custom software more effectively than customizing a monolithic product which has a million features. And these days it may be possible to leverage Open Source projects to essentially do most of the heavy lifting.
And a note on the master architect. One thing I learned from reading a great book, The Supermen, about Seymour Cray was that it is best to stay involved in every little detail of the technology. The master architect should know everything the junior developers know. By losing touch with the day to day issues of the team the architect will only become blindsided by an issue down the road. The book was a great read and offered great tips on how to conduct your career in the technology industry.

May 5th, 2004 at 5:38 pm
Hi Brennan -- Great blog entry. I couldn't agree with you more on the points you make. It's interesting to see how large companies with their armies of developers can't compete with small team of guys and gals with passion. Just look at IDEA vs. JBuilder.
--vinny