I am scheduled this month to do all the work for one of the new software changes we have. This seemed like a compressed schedule. I had three days to do the design. On day one, I dug into the requirements. Every single piece of the functionality seemed to be affected by the change. And the details of the change were vague. I tried my best to figure out how these changes were going to work. I was started to sweat the schedule.
The problem was that I was looking only at the new changes. This was a confusing view of the requirements. Luckily I widened my view and saw the old and new requirements side by side. It was only then when I saw what was being replaced by the change. That allowed me to hone in to exactly what was going on.
I essentially understood the spirit of the changes at that point. All the rest of the changes made sense at that point. Now I find that I am way ahead of schedule for my tasks. All of this traction is due to the side by side presentation of the requirements. Good job requirements team.
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...