[lug] Software complexity

Rob Nagler nagler at bivio.biz
Thu Oct 22 11:49:49 MDT 2009


David Morris writes:
> The difference in flight software compared to software in other
> industries is that the operational environment requires (a) fault
> tolerance and (b) minimum bugs on release.

This is what brought Tandem down, btw.  They focused so much on these
two items, they were unable to make changes fast enough to keep up
with the rapid changes of the late 80s and 90s.  You didn't lose stock
transactions on the NASDAQ or NYSE, but then those problems were
"solved", just like an airplane has to fly the first time.  However,
when you need to incorporate WiFi or be more fuel efficient or
automatically initiate complex maneuvers when a terrorist takes over a
plane...

The way of XP says you have four variables: Time, Scope, Quality, and
Resources.  You get to pick three.  I think you have Time, Scope,
Risk, and Resources and get to pick three.  At bivio, we often drop
Time, and it's very painful.  Customers hate this one.  My argument is
that you'll unknowingly drop another constraint (usually Risk) and end
up with a big Time hole at some point in the future.

This is what happened at Tandem.  They were rushed to get out the door
with low Risk so they had to compromise on Scope.  They didn't believe
in testing or even named constants (I kind you not).  This ossified
the software, and made Time the problem, not by their choice.

Rob



More information about the LUG mailing list