The guy who leads my team called me up today. He read a requirements document and could not figure out what the heck our software was supposed to do. Luckily I am a domain expert on our system. I kept answering his questions, correcting his model of the work, until he finally got it.
Later my team lead called me up saying he found a way to shortcut the developer time needed to do the new functionality. We would just implement a process where once a year a developer writes a script to implement the specifics for the users for the given year. I had flashbacks of the last time we did this. The result was years of agony.
So I walked my team lead through the scenario. I asked him who was going to do the actual script writing. He told me a DBA would do it. Then I asked him how the DBA would figure out the specifics of the data to put in the script. He did not know. I told him the answer. They would come to us. We don't want to have the job of tracking down the information necessary for each year. We want to provide the capability for the end user to enter the data. It is their job to figure out the specifics that relate to their business.
I cautioned my team lead against creating a solution that requires developer work every year. It is no big deal to knock out a script in 30 minutes. The problem is that it may take weeks and weeks to track down the data needed to put in that script. We are always too busy in development at the end of the year. I even volunteered to work overtime to design and code the automated solution which gives the user a GUI to do this. So you know I am serious about the right way to meet this need.
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...