You must have heard the story. Akbar’s courtiers envied Birbal, the witty one. One day, some of them requested Akbar to test them against Birbal. Akbar agreed, and gave them an assignment. The user story was simple, a few days earlier, Akbar found a lone puppy in a jungle, which he handed over to a villager, and asked the villager to take care of the puppy. Akbar’s assignment to the courtiers was to find out how the puppy is doing.
The courtiers sat together, and did their requirement analysis. Knowing that the requirement is pretty straightforward, they immediately sent one of them to the village. He came back quickly, and told the king that the ‘puppy is doing perfectly fine’. The king, asked the next question, how big has it grown? The courtier went back, and came back with an answer. The king was ready with his next question. After making several rounds to find out answers to king’s new questions, the courtier was exhausted. The king then invited Birbal and gave him this original requirement, who did not know about courtier’s trips and his answers. He came back with the answer, “the puppy is doing good, it was a female dog of some good breed, she now has grown big, is brownish. Thanks to the money that king sent him regularly, the villager took good care of her. She gave birth to 6 more puppies, and 4 of them are now very strongly built dogs, which the king can use during his next hunting trip”.
The requirements were same, Birbal’s requirement analysis was better than others. Why? The courtiers did follow the process of requirement gathering to some extent. Of course they did not define the ‘acceptance criteria’, and assumed it themselves; but so did Birbal. Then why did Birbal deliver better than others? How did he come out with a better ‘definition of done’ without actually defining it?
Birbal could do it, because he shared king’s thoughts, he shared his dream. He asked questions that the king himself might have asked.
Does your development team share owner’s dream? Are they as passionate about the product as the product owner? If not, then no matter what processes you follow, your development job is going to be tough, doing a lot of iterations and corrections. To what level will you write the requirements? And to what level will you write acceptance criteria. You will see the team cribbing about requirement was not clear, requirement was not there at all etc.
If you value customer collaboration over contract negotiation, then get your team to share ‘owner’s dream’. How exactly? Ask Birbal.