Sunday, January 14, 2007

Bananas and Requirements Specification

During a stressful week I recently discovered a new way for me to work out what day of the week it is. At the start of each week I bring in 5 bananas to eat for breakfast, one for each day of the week. So I can work out what day it is based on how many bananas there are left on my desk, ie: 4 = Monday 3 = Tuesday 2 = Wednesday 1 = Thursday 0 = Friday So let's call this Gareth's Banana Calendar. That got me thinking about something in some text I was researching at the time. In the text, the author kept commenting in his text about how "the perceptive reader would notice x,y,z" based on details he just wrote. And that got me thinking how there is a very strong relation to this and how Software Developers interpret requirements, that is in order to get the rules right they need to interpret the business rules presented to them. However the perceptive developer will not only take the rules strictly, but also apply considerations to the rules, and if there is something they consider relevant that would brake or change the rules, then they should probe further for more detailed requirements or try it out. So the perceptive developer would realize there are a number of shortcomings to consider about Gareth's Banana Rule and seek answers. E.g. How do you work out what day it is if there is a public holiday during the week? Keen to hear what anyone else thinks about Gareth's Banana Rule ;-)

No comments: