[lug] Software complexity

David Morris lists at morris-clan.net
Wed Oct 21 20:43:46 MDT 2009


On Tue, Oct 20, 2009 at 15:37, Zan Lynx <zlynx at acm.org> wrote:
> On 10/20/09 3:22 PM, Chris Riddoch wrote:
>> This discussion on software quality, and our frustrations with the
>> causes of bad quality, reflects some of the things I've been thinking
>> about over the past year or two.
>>
>> You all know the saying: Fast, Cheap or Good - pick only two.  Maybe
>> I've been at the wrong places, but I've never seen any place actually
>> give any priority to software being good, rather than fast or cheap.
>> I know I'm a perfectionist, and that my managers have beat their heads
>> against walls trying to get me to acknowledge that "good enough" is
>> indeed distinguishable from perfect.  (I seem to make a better QA
>> person than a developer, these days.)
>>
>> My RSI isn't the only thing that's made me frustrated with working on
>> software for a living.  If anyone can offer me a story where the
>> quality of software was considered more important than either being
>> done fast or cheaply, please share it and give me a little hope.
>> Alternatively, some equivalent of alt.sysadmin.recovery for developers
>> would be appreciated.  (Actually, if anyone knows of such a forum, in
>> which developers are brainstorming career changes, I'd love to hear
>> about it... off-list, of course, to avoid spreading my cynicism too
>> far.)
>>
>
> I'd guess you need to find work in aerospace, life-critical systems or
> something similar.
>
> Try Ball Aerospace or Lockheed Martin. They are both local. I know that
> the last thing anyone wants is a $60+ million piece of hardware failing
> because of some bad code, so they are willing to spend a few million on
> quality.

Its a nice theory that the aerospace industry chooses "better" over
"faster" or "cheaper"....but in reality, they rarely do in my
experience (12+ years in the industry writing software).  In some ways
the software quality is definitely far better than commercial
software, in other ways just as bad.

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.  In the real world this
does NOT necessarily equate to better quality software....just fewer
bugs and the external appearance of better quality so long as nobody
looks at it too closely.  From a "black box" perspective this means
the software is *sometimes* of a higher quality (but not always by any
means!).  Internally it can easily be a different story.  It can also
sometimes be a high stress industry as "better" is *never* matched
with "cheaper"....only "faster".

Overall though, I love working in the aerospace industry.  Lots of fun
projects and not many huge legacy systems to wade through (usually all
new development work).  The average engineer on a project is also
typically of a far higher quality than at most companies, which makes
for a fantastic work environment.  Ball Aerospace in particular is a
great place to work, though they unfortunately are struggling at the
moment and not hiring anyone.

FYI, if anyone out there has experience in embedded programming
(ideally with vxWorks) and is interested in contract work in the
aerospace industry, feel free shoot me an email....I know someone who
might still need more contractors.....  Contact me at
"david at othalan.com".

--David



More information about the LUG mailing list