Programmer at this retail chain gets an assignment to add some functionality to four reporting applications. One change request is to add passwords to one of the four applications -- but just one.
'Just doing one sounded suspicious to me,' says the programmer. 'So I decided to code the password logic in a separate module for easy reuse. I only had to add one line of code to the existing executable.'
Fast-forward six months: The new versions are installed in a handful of stores for beta testing before they'll roll out to 1,000 stores nationwide. Programmer's boss drops by his cubicle to tell him that the users like the password function, but they wanted it on all four applications. How long would it take to add it to the other three?
He calculates: add one line of code, compile, do some testing. That's maybe a few hours' work if everything goes as planned -- which it seldom does.
'Two days,' he tells his boss.
She's skeptical. 'Are you sure?' she says. 'Let's say one week.'
Programmer shrugs. Boss continues: 'Three applications, one week each, I'll tell them three weeks.'
He tries to explain that he estimated two days for all three applications. She's still skeptical, but after he assures her that with code reuse he really can finish in two days, boss compromises:
She'll tell them it'll be done in one week.
'I went to lunch, came back and updated all three in about an hour,'
says the programmer. 'The module worked great. I walked over to my boss's office to tell her the news. She asked if I was sure it worked. I assured her it did.
'She had already sent the estimate to her manager and, to be safe, she told him two weeks. She asked me not to send it to QA for another week. We didn't want to look too good.
'I had a chuckle and started working on something else. A couple of hours later, she forwarded me a note from her manager to the business client. He had padded it another week. I now had three weeks to finish my already completed changes.
'I worked on other things for a week, recompiled them so the date was recent, and got a big attaboy for finishing so promptly.'