Finding any old hidden assumption is actually pretty easy, because customers (usually) don't hide them purposefully. It's just a natural consequence of knowing their businesses too well. Mentioning one thing always implies a whole set of other things; indeed, this is fundamental to communication. If you had to explicitly list and define everything, you couldn't even talk to the customer, let alone build a system for him. The goal here, though, is to find only assumptions where A implies B to the customer but implies C (or nothing) to the programmer. These are the ones that lead to problems later. |