[ale] Save the FED your Money / I need Advice / The Zero Defect Methodo logy

Michael D. Hirsch mhirsch at nubridges.com
Fri Apr 16 11:37:27 EDT 2004


On Thu, 2004-04-15 at 13:02, Hogg, Russell E. wrote:
> 
> Perhaps it's obvious from my email address, but I'm currently employed
> as Contractor for the Federal Government.
> I'm doing my piece here trying to get the way the Fed Gov does
> software systems to have some rhyme or reason.
> 
> Basically most of the horror stories you've all heard about the way
> things are done within the G is true.
> 
> There are a lot of folks working hard to change it though. ?
> I've been here long enough now that people are starting to listen to
> me. ?So I intend to use my influence.
> The release I'm currently working on is going to go live May 8th
> (https://www.mypay.dfas.mil). ?
> Yes it's presently .NET and IIS but that's really not the issue. ?
> The issue is how the projects are organized and run.
> 
> Shortly after go-live there will be a kick off meeting for our August
> release, I intend to go to that meeting armed. ?
> Armed with DOC and ideas and suggestions for what ails us.
> 
> I'm hoping for some advice on selling concepts to non-technical
> people. ?
> In particular the ZERO DEFECT METHODOLOGY.

I'm not familiar with that methodology.  Do you have any good links?  What I 
found after a quick google search tels me that it is a Microsoft term.  One 
article explained it this way:
    "zero defects" meant that at any given time, the highest priority is to  
    eliminate bugs before writing any new code.
This sounds a lot like the "fix all broken windows" idea I read about in "The 
Pragmatic Programmer", and it is a great idea.  If you leave nasty bits in 
the code, then they start to accumulate until there are too many to fix.  If 
you always fix them when they appear your code won't get the usual bit rot 
that just seems to set in.

I recommend that you take a look at Scrum <http://www.controlchaos.com/>.  
Scrum is a very nice agile management methodology as conctrasting to XP which 
is an agile development methodology.  It is really good at cutting to the 
chase and getting results from teams that aren't being productive.  I think 
it would be a great tool to insist that contractors use.

The basic idea is that each month the customer and the team agree on what will 
be produced that month.  You ONLY measure stuff that brings actual business 
value to the customer.  The customer prioritizes and the team says how long 
each item will take.  They together they select 1 month of work.  The team 
commits to producing that much *production ready* code.  At the end of the 
month they demo what they did.

One really great thing is that the iterations are fixed length and fixed 
scope.  If they don't have anything to show then they failed--you never 
extend an iteration.  If the customer wants to add a new requirement they 
need to wait for the end of the interation.  If it is crucial to add it now 
you cancel the iteration admitting failure (in this case, on the part of the 
customer) and define new goals for a new iteration.  During an iteration 
scope is fixed unless the team comes to the customer and says that they 
either underestimated the difficulty, in which case the customer is consulted 
as to which items they should not do, or over estimated the difficulty, in 
which case the customer is consulted as to what additional work should be 
done.

I'd be happy to talk to you off list about this.  I've been using it for about 
a year now with good success.  It brings about a nice accountability both on 
the part of the customer and the development team.

You can also hire people to come in and implement Scrum, if you have money for 
consultants.

With Scrum you can use XP development practices, but it is not necessary.   I 
find that management is much more resistant to XP than Scrum which is one of 
the reasons I like Scrum.  I like XP, too, but find it is a lot of trouble to 
sell to management.

Michael



More information about the Ale mailing list