Fog Creek Software
Discussion Board

What does "Code Complete" mean to you?

What does the term "Code Complete" mean in your organization?

When my organization started to use this term (probably 6 years ago), it meant that the system was essentially done. The code phase was more or less over, and full system testing could proceed in earnest. The developers should consider themselves "done", with only unknown bugs to repair, etc.

However, as management began to latch onto the "code complete" term, they began to state projected "code complete" dates, rather than shipment dates. To upper management, of course, once the system was "code complete", it was only a matter of final testing before the system shipped.

This, naturally, led to a degradation of what "code complete" meant. It began to mean "feature complete", indicating that all of the functionality was present, and that testing could begin. Then it came to mean "major feature complete", which meant that lots of little details might still remain unfinished, UI might not be polished, etc.

It's now come to the point where developers are told to "stub out a function for that feature, even though there is NO implementation yet." This so that management can tell their bosses that we are "code complete". Of course, now there are rumblings of "why so long after code complete until we are ready to release?"

Is this the norm where others work? This term has lost all meaning here, to the point of being a running joke.

Steve Gilg
Thursday, February 21, 2002

To me, Code Complete means that I've finished coding. It might not have been QAed yet. Even I might not have tested it yet. It's a milestone, but not the same milestone as "shippable". Also it's meaningless unless you can state which code is "complete": e.g. if some functions are just stubs then some of the code is complete, and some isn't.

Christopher Wells
Thursday, February 21, 2002

As we used it, Code Complete means that all functions laid out in the functional spec are coded and that no show stopper bugs, (as seen by the programmer when running it himself) are present.  It is before the big QA push at the end.

It began to degrade to where programmers would code things that didn't work and call it code complete and figure the bugs would get worked out in QA.  So we revised the definition to say that if you were going to call it code complete, that it had to at least work on your machine.

But we too got into "code complete" dates and such.  The pressure was to call something done so you could meet your "code complete date."

Only one date really matters to the survival of your company, the one where you can bill.


Bob Crosley
Thursday, February 21, 2002

In my organization 'Code Complete' is the title of a very nice book on best practices, it usually is sitting around on some developer's desk, which is a good sign, certainly better than having it on a shelf.

I do not believe in the term Code Complete as a statement of progress in system development. I don't think coding is a stage in development, and I don't believe that being code complete means you are ready for testing. I think that whomever that ever pronunces the magic words 'Code Complete' will certainly be writing more code for the same project, the week after.

Beka Pantone
Friday, February 22, 2002

"Code complete" is an oxymoron.  =-)

Software projects are never "done" ... only shipped, and then eventually, abandoned.  =-)

Saturday, February 23, 2002

"What does "Code Complete" mean to you?"

The best  coding book every written:

Jan Derk
Saturday, February 23, 2002

Alyosha` read my mind.

So let me think:

'Code Complete'
'Managerial Rhetoric'
'Marketing Lingo'
'Axis of Evil'
'Two months? Are you NUTS?'
'Let's save it for Release 1.1'
'Screw this, I'm spent'

Saturday, March 2, 2002

*  Recent Topics

*  Fog Creek Home