"Well, it says here that you and that Kruchten fella have observed that the duration of an iteration in weeks seems to be equal to the square root of the size of the code to be developed, as measured in thousands of lines of code."
It was hard to argue with him. It was a direct quote. I figured I was in for it now.
"Hmm. I even talked with my architect friend, and he said there's a term for 'a thousand lines of code.' Claims it's called a KSLOC, for 'kilo source lines of code.' Whoosh!"
Roscoe was clearly warming to the task.
"Buncha B.S., I'd say. Like trying to estimate how big a project the pyramids are going to be, and using the 'brick' as your unit of measure. Only that would be ridiculous, so you invent the 'kilobrick.' Dumbest thing I ever heard of."
The man was gaining momentum, and I was not going to lie down in front of that locomotive just yet.
"But the real problem, as I discovered in talking with my architect friend, is that nobody knows how to count SLOCs or KSLOCs. Do you count every line, including comments? Do you count both your headers and your implementation source files, where there is obviously lots of repeated stuff? And how do you deal with those huge libraries that you're gonna use, but not write from scratch? Basically, you have a number that you can get from 'Dial-a-Prayer.'"
I made a note to talk to the architect about telling Roscoe about headers and such. I knew he didn't make that up on his own. But the man had a point: We had concocted a formula that was based on a number that was, to put it charitably, subject to some interpretation. The prediction would be no better than the definition we used for SLOCs.