Welcome to MSDN Blogs Sign in | Join | Help

Days 2 & 3 at SEPG

Yesterday and today were "session days" while Monday and tomorrow are "tutorial days."  It's been interesting to take a step into the world of the software industry that is passionate about the formal frameworks for development and process improvement.  I have met many interesting people, including Watts Humphrey.  When I summarize my learnings for my team, I'll share them with you.

For now, random thoughts from my brain...

Hmmm, thinking of top take-aways....  It is sort of sad that the sort of industry standard for actual development task hours are 5-15 hours per week, with frameworks can get upwards of 20, but still, surprises me how low the number is.   I do like some of the semantic differences between the way we talk at Microsoft and the way some of the rest of the industry talks.  For instance "bug" versus "defect." "Defect" implies something more strong than bug; I think "bug" has become an endearing term, where as I don't think we could warm up to "defect."  The other is "code review" versus "code inspection." To me, inspection makes me feel more like I'm receiving a challenge to find something wrong, whereas a review seems like a scan and nod.

Process improvement seems to be something in peoples minds along the lines of other habits people try to work on with varying success.  People (okay, I'm included here) who don't eat the most nutricious meals and snacks usually know what to change yet often have trouble doing it.  Smokers and heavy alocohol drinkers (I'm not included here) know that what they are doing is harmful to them, yet they continue.  Um, people know that racking up credit card debt isn't good, yet the American family average is along the lines of 7-10K$, right?

What I'm trying to get at is that the number two issue our industry seems to have with implementing effective development (number one being management support) is the simple fact that people are resistant to changing habbits, even when they know it is good for them!  It is perfectly logical that finding bugs earlier is cheaper. It makes sense that the better your requirements, the less time you spend coding.  It makes sense that the more time you spend checking your work before checking in reduces the number of bugs/defects in test.  Still, when these expert coaches in the worlds of CMM, TSP/PSP, Six Sigma, what-not, try to affect positive change that will result in higher quality, higher productivity and more effecient development cycles, the intial reaction from engineers is "Noooooooooooo!!!!!".

What are your thoughts out there? Why are we as a people so stubborn, and why are software developers, stuck somewhere between engineering and craft, seemingly especially resistant to process frameworks, even when face to face with data that shows it will pay off hugely?

 

april

Published Thursday, March 10, 2005 12:26 AM by AprilR
Filed under: , ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

Thursday, March 10, 2005 8:32 AM by AndyA

# re: Days 2 & 3 at SEPG

I think it comes down to a few things:

(1) The feedback cycle is too long. There's no immediate repercussion for doing things wrong.

(2) There are some rewards for getting things done quickly. There's a sense of accomplishment and closure; there's an adrenaline rush for stepping in and resolving a crisis, etc.

(3) Feedback, when it does come, is often indirect. It's hard to build a "culture of accountablity" when it's not clear who is responsible for certain problems, especially those that show up over time or only at large scale.

So we have a system that does not set itself up well for self-correction, and as a result we expend lots of management calories trying to restore the balance.
Thursday, March 24, 2005 11:43 PM by Mike Dunn

# re: Days 2 & 3 at SEPG

>why are software developers...seemingly especially resistant to process frameworks, even when face to face with data that shows it will pay off hugely?

I think that's an incorrect assessment. I've only known a handful of devs who have the "too stubborn to change" mindset. The remainder are like me and would LOVE IT if the whole team could implement SOME process to improve code quality. The problem that comes up is quite simple: we aren't given the time to do it.

To use a cliché, the execs "don't speak our language" and only care about getting version N out in M weeks. Which is understandable, since their jobs depend on the company releasing software and being successful. But with that mentality, there is literally no time to try and revamp stuff that doesn't give a result that a non-programmer will see or even care about. After version N ships we might get 1-2 weeks of vacation time and then it's right back to working on maintenance for version N and maybe sneaking in some design for version N+1.

(So yeah, I just blamed management for the problem. Surprised?) ;)

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker