Today we met with our customer and pitched the design for the new changes. This is an opportunity to help them see how the system will look with new functionality built in. It also let's them validate that we got the ideas right.
In the middle of our presentation, our customer asked if some new fields would be shown on all the screens. Previously I had not thought about it. But it made sense. It would not take that much effort to add the new fields everywhere in the displays. That change got added.
Later in the pitch, a developer on our team asked whether we were going to implement a lot of business rules to prevent some new operations from taking place. I said we were not. Another tester asked if we would put confirmation dialogs in. Again I said no.
It is a fine line to decide whether to add extra features to the software. You do not want to say yes to everything. That will add risk to us not delivering on time. I do want to add those things we should have added, but did not. It is definitely an addition if those items are things the customer needs and it will not take long to implement. I will fight against additions that add risk to the schedule. And I don't think we should do anything just for the sake of it. There should be a customer benefit from anything we spend time on developing. That's my two cents.
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...