I had gone to a local multiplex in Pune last week. To be precise the date was 3rd February 2010. I bought the ticket, confirmed the date even though the show was starting in 5 minutes (old habit) and found the date to be printed as 2/3/2010. For a second, I thought the date is 2nd March 2010 and soon I realized that the date was printed in ‘mm/dd/yyyy’ format.
Whats wrong ? Well, the standard for date format in India is ‘dd/mm/yyyy’ format. I am sure that the local multiplex had bought its Ticket Booking Management Application from a local software company. Even if the vendor was non-local, they should have considered the location of the customer before developing and deploying it for him.
I guess no one involved in the whole project found this bug. Or maybe while making the use-case diagram, the designers forgot that the person buying the ticket is also an actor in the project, even though the ticket seller is operating the application. And what about the security guard or the usher tearing the ticket ? Are they aware of the date format ? Should they be considered while designing the application ?
There are some things which can help in development like knowing who the end user is. If the developers have the end user in mind and codes accordingly, many small bugs get eliminated at the source. Rather than waiting for the Team Leader or the QC guys to report the bug, which the developer will then fix and report back, I think its better to sit once with the developers and give them a detail know-how about the end users of the application. Details could include age group, sex, geography, technical knowledge, regional standards (like the date format) etc.
It would also help to know the business operation or user scenarios. Like in this case, possible user scenario could be - A persons goes to the ticket counter, requests for a ticket from the operator, the operator sells him the ticket, the buyer (person becomes a buyer now) goes to the screen, shows the ticket to the usher, the usher checks the ticket (date, time and seat no.) and shows him his seat. Then the movie starts and maybe one user scenario ends.