
Following Erno’s post of the bank story about technical decisions with a functional side effect I remembered a nice requirement about a birthdate in a system based on message communication. It is defined as following:
- A birthdate may not be in the future.
- A birthdate may not be more than 120 years in the past.
- If a birthdate is unknown the message should contain the default value ‘1-1-1900’.
- If you receive a value of ‘1-1-1900’ it should be interpreted as ‘unknown’.
Do you see the catch? What a pity for those (elderly) clients that are successfully registered in the system but keep getting messages about an ‘unknown birthdate’!
One comment
This is a nice addition. When I was writing my post I considered mentioning that in many cultures birthday are not celebrated and unimportant so they are not recorded. So when people finally get into contact with other cultures (including IT-culture) they’re forced to enter/make up a birthday. And this might cause them to be registered under several birthdays in different systems with no means of determining the correct one.
Erno de Weerd