I have written about a requirements gathering meeting with out client in my Software Maintenance blog. So I will not repeat a lot of the details here. However I did want to call to attention some details that might affect the success of our work.
The customer knows what the want business wise. However they do not know how to design or code the changes. That is why they have us. I keep hearing the customer try to understand the existing system, and design changes so their needs would be met. I continually attempt to focus our client into explaining to us what they business needs are. They are, after all, experts in their business.
Our customer has a lot of ideas about business needs in their head. At the meeting I attended, they were able to articulate many of those needs. This meeting was a precursor to the client formally requesting that we make a lot of changes to their software. I could not stress enough that they needed to write down the business rules for us. Unfortunately our requirements analysis team does not understand the customer yet. The requirements people are new. So we need the customer to write down their business needs. That is the only way we will have a chance to get the job right. The needs are extensive enough that just telling a few folks from our company about them will not do.
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...