Tuesday | 13 May, 2008
Computerworld

Opinions

The mythical open source miracle
Community development isn't a quick fix for poorly designed software
Neil McAllister (InfoWorld) 14/12/2006 15:34:47

Related Features
  • +

    Romper Ranch 18/05/1999 13:32:18

    Where serious fun is the root of innovation
  • +

    Code Of Practice 10/05/2004 10:11:58

    Developers have been refactoring for years and will continue to do so, and in this regard, it is nothing new. But with the advent of new "agile" processes like extreme programming (XP) refactoring really rules.
  • +

    Nike Rebounds 12/07/2004 10:54:58

    How (and Why) Nike Recovered from Its Supply Chain Diaster
  • +

    Once Is Not Enough 07/07/2000 13:44:54

    You've heard it before: work fast, save money, build better software. But, as with everything it touches, the Internet has escalated that mandate. Is CBD the e-business silver bullet?
  • +

    Competition Gets Extreme 08/09/2005 14:14:30

    So it is bye-bye chief information officer, hello chief process officer (CPO), and get ready for a very bumpy ride
    It's an exciting and potentially career-altering notion for CIOs: that the tools and processes they use to manage IT can be used to manage business processes
Additional Resources
Executive Guides
Whitepapers
Zones
Zone logoZones provide focussed content from Computerworld and leading technology partners.

Newsletter Subscription

Sign up for our Computerworld newsletters!
Computerworld's twice-daily news service keeps you in touch with the latest, most important headlines from Australia and around the world.
RSS Feeds

Joel Spolsky is one of our most celebrated pundits on the practice of software development, and he's full of terrific insight. In a recent blog post, he decries the fallacy of "Lego programming" -- the all-too-common assumption that sophisticated new tools will make writing applications as easy as snapping together children's toys. It simply isn't so, he says -- despite the fact that people have been claiming it for decades -- because the most important work in software development happens before a single line of code is written.

By way of support, Spolsky reminds us of a quote from the most celebrated pundit of an earlier generation of developers. In his 1987 essay "No Silver Bullet," Frederick P. Brooks wrote, "The essence of a software entity is a construct of interlocking concepts ... I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation ... If this is true, building software will always be hard. There is inherently no silver bullet."

As Spolsky points out, in the 20 years since Brooks wrote "No Silver Bullet," countless products have reached the market heralded as the silver bullet for effortless software development. Similarly, in the 30 years since Brooks published " The Mythical Man-Month" -- in which, among other things, he debunks the fallacy that if one programmer can do a job in ten months, ten programmers can do the same job in one month -- product managers have continued to buy into various methodologies and tricks that claim to make running software projects as easy as stacking Lego bricks.

Don't you believe it. If, as Brooks wrote, the hard part of software development is the initial design, then no amount of radical workflows or agile development methods will get a struggling project out the door, any more than the latest GUI rapid-development toolkit will.

And neither will open source. Too often, commercial software companies decide to turn over their orphaned software to "the community" -- if such a thing exists -- in the naive belief that open source will be a miracle cure to get a flagging project back on track. This is just another fallacy, as history demonstrates.

In 1998, Netscape released the source code to its Mozilla browser to the public to much fanfare, but only lukewarm response from developers. As it turned out, the Mozilla source was much too complex and of too poor quality for developers outside Netscape to understand it. As Jamie Zawinski recounts, the resulting decision to rewrite the browser's rendering engine from scratch derailed the project anywhere from six to ten months.

This is a classic example of the fallacy of the mythical man-month. The problem with the Mozilla code was poor design, not lack of an able workforce. Throwing more bodies at the project didn't necessarily help; it may have even hindered it. And while implementing a community development process may have allowed Netscape to sidestep its own internal management problems, it was certainly no silver bullet for success.

The key to developing good software the first time around is doing the hard work at the beginning: good design, and rigorous testing of that design. Fail that, and you've got no choice but to take the hard road. As Brooks observed all those years ago, successful software will never be easy. No amount of open source process will change that, and to think otherwise is just more Lego-programming nonsense.

Market Place

Computerworld Member Login


 

Realise Your VMware Vision: Storage Consolidation and Virtualization for Small to Medium Businesses

10:30 - 11am (EST, Sydney, Australia)
Wednesday, 4th June 2008

Screening live at your PC

Join Computerworld and our expert speakers:

  • Jean-Marc Annonier, Research Manager, IT Spending, IDC
  • Howard Porter, SMB Channels Manager, VMware
  • Clive Gold, Product Marketing Manager Australia/New Zealand, EMC Corporation

to learn about the various virtualization technologies available today and what factors are driving it in small to medium businesses. Discover use cases and technologies that allow successful virtualization and storage consolidation for a more flexible IT infrastructure.

Whitepaper

Business Continuity: A Guide to Choosing the Right Technology Solution

The relentless expansion of the Internet has resulted in 24x7 demands on business globally. Developments such as web 2.0, mobile computing, and wireless hotspots mean that application and system availability requirements become more and more critical. This paper will help you choose the right business continuity solution for your IT environment.

Enterprise IT Buyer's Guide
Find Technology Vendors Fast
 
Find vendors by name | Find by category
Sponsored Links