Bring In the Customer: Part - II
....Continued from an earlier post. Bring in the customer early? But how early? Show the specs to him? Ask his opinion even before you start coding?
As I had mentioned the train scenario.... being the end user, would I ever have guessed that the seating was not proper by just looking at the design? No, I would not have! The same goes with any software. The end user just uses your product. When he comes across a problem, its reported in form of a bug and fixed in the next release (hopefully!). This end user would not be able to find flaws in the design stage. That part is left to us experienced testers. But there are few bugs which come out only when the product goes in the market. There is definitely some combination which we have not tested the product on. (An example, gmail worked fine on IE 6. Back in Mumbai I got onto my P-I which still runs IE 3.0 and gmail did not work). There are millions of these combinations which sometimes even if known are impossible to test due to time constraints.
Enter Beta Testing. A good idea is to release the product one stage before its ready to ship. Fine, in such a case, you cant make major changes. If someone says the train carriage size needs to be bigger, its not possible. But if someone says the seating needs to be rearranged, that could be possible.
Hence leave the initial part to the experienced clan. But get in the customer when appropriate. You would be surprised the amount of bugs which come in from Beta testers which make us wonder "How did I miss that??". Which is why a good tester has excellent customer focus.