[lug] software engineering

Sean Reifschneider jafo at tummy.com
Wed Nov 15 00:43:27 MST 2006


On Mon, Nov 13, 2006 at 06:28:58PM -0700, Nate Duehr wrote:
>Now I'm going to be stewing over this all night -- how to correctly 
>train and apply CRM techniques in IT.  Hell, thinking about how to sales 
>pitch management on trying to use it... hmmmm...

Well, again, it comes down to a question of appropriateness for the task at
hand.  Obviously, this is something we've been thinking about at tummy.com,
but most of the time when someone wants our IT expertise their top
questions are "how long is it going to take" and "how much is it going to
cost me".

The closest we come to having anyone ask "What do you do to reduce
errors", that I can think of, is "do you have any references".  But, happy
clients are more likely to be happy because we're doing it fast at a
reasonable price, as because we never make any mistakes.

So, to answer your question about how to pitch management on it...  Unless
you're in an industry where failures make the news, maybe you don't.

However, we have had significant success with using checklists and
workflows to ensure consistent deliverables of complex solutions.

>Question: Would you consider "pair programming", like what is practiced 
>by the XP methodology folks, similar to CRM techniques in aircraft, 

When I think about it, I think more about things like the rule of thumb
that if you are using a braceful language, always add the "{}" as soon as
you do the if/while/for statement, then go back and fill in the body of the
{}.  Of course, in Python you never run into this, but in C I often ran
into code like:

   if (whatever)
      something;
      some
            fairly
            long
            statement;
   the rest of the code;

where it was intended that "something;" was intended to be executed with
the next line only in the condition, the long statement was always executed
because of the lack of braces:

   if (whatever) {
      something;
      some
            fairly
            long
            statement;
      }
   the rest of the code;

Admittedly, this brace style makes it easier to miss the opening brace.
However, it also happened to me at the end...

Sean
-- 
 "Having computers is a lot like having kids, except it's not as much of a
 problem if they die while you're away."  -- Sean Reifschneider, 1997
Sean Reifschneider, Member of Technical Staff <jafo at tummy.com>
tummy.com, ltd. - Linux Consulting since 1995: Ask me about High Availability




More information about the LUG mailing list