The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Second System Effect

A good article on the second system effect:

What do you guys think?
Bog Fugz Send private email
Sunday, September 30, 2007
I love the graphic design on that blog.
Wednesday, October 03, 2007
I'm personally living the Second System Effect right now. I've also seen it many times over the years in the companies I've worked for. It's something that we developers always seem to fall victim to and is the main reason why developers need business types to actually run the show. Developers would be happy to keep programming forever tweaking this and that until the second system is perfect. But unless we are forced to finally ship a product it will never end up getting completed.

I've seen so many crappy products out there that make so much money it isn't even funny. They make money simply because they actually shipped. And I've seen several really good products that never made a dime due to the Second System Effect.
Wednesday, October 03, 2007
Perl 6, anyone?
Wednesday, October 03, 2007
> Most of the old code was thrown away, since they couldn’t be refactored into the new design, or had assumptions that tied to specific systems and situations.

That's where you lost me. I worked on one system which went like this:

* Version 1:
  Implementation: Pair of DOS TSRs written in assembly
  Application: Modem sharing
* Version 2:
  Implementation: Windows 3.1 device drivers in mixed C and assembly
  Application: Modem sharing
* Version 3:
  Implementation: Windows NT application and device driver in C
  Application: Modem sharing
* Version 4:
  Implementation: Windows NT application and device driver in C
  Application: Desktop fax client/server
* Version 5:
  Implementation: Windows XP application and device drivers in C++, SQL, COM, etc.
  Application: Telco-grade fax service

We added new code, migrated old code to new platforms, obsoleted old code, shipped twice a year or more: it never was a "second system" created from scratch.
Christopher Wells Send private email
Wednesday, October 03, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz