I am working on a high priority problem our customer has. They told me the behavior of the applications is unacceptable. No problem. I am the Maintenance Man after all. So I coded up the app changes that will takes care of their problems. You would think that I am done. No chance. There is much more to it than that.
Next I ran through all my unit testing. Then I need to get my changes over to our quality assurance team. You would think we could just click a button and I could get them a build. It is never quite that simple. There are all kinds of manual processes to get a build to test. Now I need to go through them.
The end goal is to provide the fix to the customers. However the powers that be in the customer organization want to limit any changes we send them. Therefore I need to clear my release with the big dogs. Next I find out that it takes 72 hours for the customer organization to receive my app and install it everywhere. Luckily I know all these things. All this overhead is baked into my delivery estimates. And you wonder why it takes a few weeks to push out 20 lines of code changes. Now you know.
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...