Around 2006 I took a job in Austin just to get to Austin (more on that later). One of the first people I met at my new job was Erik. Erik was a consultant most of his professional life, and he had a saying: “Measure with a micrometer, mark with a crayon, and cut with an ax”.
This saying, I found, is quite appropriate for requirement gathering.
The micrometer is used when first gathering requirements. At this stage it’s difficult to determine what is needed versus what is wanted. So, everything should be written down and explored. A customer may say: I need an application to e-mail the vendor every time an order comes into the system. Using our micro-meter, we dig deeper to understand what exactly is needed. Why does a vendor need to be notified when an order comes into the system? What orders come into the system? Are all vendors notified? Is e-mail an appropriate tool to use for notification?
After several rounds of measuring, we may find the requirements are really the following: Determine which vendor is suitable for a new order coming into the system based on the lowest vendor-supplied price for the product being ordered. Notify the vendor over e-mail about the order – include the product number, quantity, order number, and expected delivery date. Accept EDI-856 files real time from all vendors to update shipping information for the orders. Notify order manager via e-mail if a EDI-856 pushes the expected delivery date (late shipment).
With a crayon, we define the broad requirements:
1) Determine suitable vendor based on lowest vendor supplied price and notify that vendor of their orders.
2) Accept EDI 856 files from vendors to update shipment information and notify the order manager of late shipments.
Now we can use our ax. The ax is used to prioritize, scope, and deliver at a level that is both attainable to the delivery team (within a short time-frame) and beneficial to the customer. In talking with the customer, we may find that the number one priority is to accept the EDI files to update shipment information and notify the order manager of late shipments.
Through this process, we did not lose any of the finite requirements gathered using our micro-meter, or the broad requirements defined by using our crayon. Since priorities always change, we can always come back and work on what we defined earlier.