In the Traditional Egyptian Cafés they are serving customers in a very unique way. The waiter is going to customer to collect the order without single piece of paper. After that he will call the person making the drinks in a load voice: “And give me 1 cups of tea for Mr. X and make it well” as he knows every customer by name. In Arabic its it will be: “ We Ma’ak Wahed Shai Lee A’am X We Salaho”.
Lately I found out that some software makers are using the same technique. The person in charge will go and meet the customer to collect the requirement. As there is no written one from the customers the customer will tell the requirements verbally. Of course customer will forget or miss some points (X1). After that the person in charge will set with the developer(s) and tell them what the customer requirements are. Again the person in charge will miss or forget some points (X2). The developer again will miss some of the requirements while he is developing the program (X3). Finally, the requirements will be X – X1 – X2- X3= fight to figure out is it in scope or a change request. If you tried to tell them that they are better to write the requirements and singe it off from the customer. There is no time for this, they will answer.
Let me explain also how much extra time they will spend if they didn’t write the requirements. First, the struggle about the requirements as discussed before. Then, imagine if the developer want to confirm something. As he/she don’t have reference to check in it, he will go back and ask the person in charge about the issue. Sometimes the person in charge also has to get back to the customer to confirm it. What if the tester wants to develop test cases?? The person in charge also has to set with the tester to transfer the requirements (and the same thing will happen). What if there is more than one developer involved in the thing. I will let you imagine how they will work and collaborate.
I can only tell these software makers one thing:
LET THE WAITER WRITE DOWN ORDERS