Some testers discovered some differences between our written requirements and they way our software was working. We decided to change the requirements to match the software. This really was a documentation problem. You would think this would be the end of the issue. No chance.
The customer inspected the requirements. They realized some other things were missing as well. Those other things were not in the software. Essentially the customer wanted some more last minute changes. They said this was important. Oh oh.
Now of course these changes were to be done by me. I was asked how long the changes would take. I conservatively estimated a few days minimum. My boss translated that into a 32 to 40 hour job. Why does such a small change take so long? There are many reasons. We got to make sure we get the requirements right. That job should go to an analyst. However you know a developer needs to be involved.
Then you need to code the change. That does not take much time at all. Next you need to do your testing. It is difficult to set up just the right set of unit test data. You also need to document all your tests. Guess what else needs to be documented? Changes to the design. This goes in the design document. Then we need to roll out the change to all the environments that need it. There is internal test, customer test, then production. Now 40 hours does not sound all that long.
A Little Bit of Crypto - I have been trying to figure out to "collision resistant" some of these standard hash functions are. It is a tough concept to get my head around. I figure...