piclist 2009\01\29\155921a >
Thread: Agile programming (was Re: [P|C] Banksel)
www.piclist.com/techref/microchip/devprogs.htm?key=programming
face
flavicon
face BY : Nate Duehr email (remove spam text)



Hi Rolf,

As far as my being "emotional", I'm just getting tired of crappy software.
It happens after almost two decades in tech support, I suppose.  Looking at
leaving the industry in a few years -- just because it never really gets any
better.  I could go manage a support team, but I've been-there, done-that,
and would only enjoy it in certain sized organizations.

By the time the bugs are worked out of something, it's scrapped and a whole
new thing full of bugs gets shipped to the customers.  Not picking on my
current employer -- this has been true at ALL of them.  Software is seen as
something that SHOULD be replaced regularly, like air filters -- not
critical infrastructure like highways and bridges to get somewhere.  This is
sad.

The bugs get old, since you THINK they hire top-notch engineers who have
plenty of experience and know better, but then in every product there's
stupid programming mistakes, pointers falling off the end of stacks, memory
allocation screw ups, the usual.  Very few of the bugs I've found over the
years are "interesting", they're all the same old programmer screw-ups,
every year.  Different developers, all good people, release the same bugs.
You'd think someone would notice and find a way to stop those.

As I read more and more of the BS from the software industry giving
lip-service to actually trying to find ways to stop these things from
happening over and over again, they never come to pass.  Companies find the
solution is "too expensive", "too time consuming", or worse, you get those
responses like I got here in the list yesterday from the engineer, "Boy,
programming like that just wouldn't be any fun!"

My favorite false-premise in software development is that of "code re-use".
To be honest, PICsters seem to actually do it more than most.  But in
companies?  Nah... you're paid to code... so you code... even if there was
already code to do X checked into the CVS tree somewhere.

Let me whip out the world's smallest violin for that guy who said highly
disciplined coding wouldn't be any fun, and play it.  It's not SUPPOSED to
be fun, it's supposed to be a PROFESSION, and the software is supposed to
get BETTER over time.  Not be the same old re-hashed errors.

Would it be better if the software releases just had new features, and
weren't also bug-fix "service packs"?  Yep.  But no one cares anymore...
customers, software vendors, doesn't matter... everyone's just "used to" it
all sucking most of the time.  

Developers rant and rave about the 80/20 rule, but in reality, people want
100% of the things in their software to WORK.  There's no "80" that use all
the same features.  Ask any tech support department if they want the 20%
with bugs, fixed... and how much pain and overtime and late nights that 20%
causes.  

The software industry is just so full of excuses these days, it's sad.
Imagine if you bought a car and it behaved as badly as most software does.
Or a house.  You'd go looking for a better product.  "I'm sorry sir, but
you're attempting to use the 20% of your car/house/whatever that most people
don't use.  I'll turn in a trouble ticket and if enough people attempt to
use that portion of the product, we might not "de-scope" the bug report out
of the next version in lieu of new features, since new features bring in
more revenue than fixing your problem."

Getting tired of saying that, but in politically correct ways.  Really
tired.  You bought something from us, but you're calling me telling me it
doesn't work, and I have no ability to fix it for you.

This is PARTICULARLY bad on one particular product I currently work on,
because it's being phased out.  Development of ANYTHING on it is literally
decided on a case by case, ticket by ticket, basis -- and "end of sale" has
already been announced.  It had potential to be rock-solid, but
Engineering/Product Management is moving on to other things.  There's no
direct replacement in the new product lines.  It's extra painful for the
support team.

So I apologize if I got emotional and challenged you a bit.  "Software never
works right the first time" is so ingrained in the culture now, that it'll
be virtually impossible to eradicate.

The only good news is?  It means both you and I have permanent jobs, so to
speak...

If the engineers at any company could put the tech support people at that
company out of business, they'd have accomplished something.  So far, no
company I've worked for yet hasn't shown quarter over quarter growth in
people paying for service contracts.

I immensely enjoy reading http://joelonsoftware.com -- that guy seems to
"get it", but how many companies do?  

I can read that site for hours, and have tried his software, and it *is*
measurably better than most.  I also love his discussion of how his tech
support people are hired on a MANAGEMENT track, and required (at the
company's expense) to go get a Master's degree in technology management.
(And the perks for his developers are amazing, too -- but I'm not a
developer.)  The guy knows how to create his own culture and success, and
does it.  His company does all that and still turns a profit making
software.  Pretty impressive.

He speaks highly of Apple, as do I, too.  Their stuff "just works" most of
the time, for me anyway...

His article on shutting down a Windows machine:
http://www.joelonsoftware.com/items/2006/11/21.html

Contrasted with the fact that I just close the lid on my MacBook, and it
does what it's supposed to.  

If I need it "All the way off" I press the power button and have three
choices, the default one is "turn all the way the hell OFF".  Power button,
enter.  Done.  Or just close the lid, if sleep mode is appropriate.

I wish the rest of the software industry could figure that type of design
and elegance out.  

Have I run into Apple bugs?  Yes.  They're usually esoteric and weird, and
rarely found in the "80%" part of the code, and once reported -- they
usually DO get fixed.  It usually takes a while but they're gone in the next
major release.  Are they still infuriating?  Perhaps more-so.  You get used
to Apple's stuff "just working" and get more frustrated than usual when you
find a real bug in a feature you wanted to use.  :-)

Nate

{Original Message removed}
<007601c98254$656b3bc0$3041b340$@com> 7bit

In reply to: <4981BAFD.4060201@rogers.com>
See also: www.piclist.com/techref/microchip/devprogs.htm?key=programming
Reply You must be a member of the piclist mailing list (not only a www.piclist.com member) to post to the piclist. This form requires JavaScript and a browser/email client that can handle form mailto: posts.
Subject (change) Agile programming (was Re: [P|C] Banksel)

month overview.

new search...