In general, here’s how software firms test for doneness. At the outset of a project, the company drafts something called a functional specifications document, or spec. The spec clearly documents what the product requires in order to be considered shippable. Once the items on the spec have been checked off, the product is ready to go.
This method works. But I’ve never much liked it, mostly because it requires you to define the finished product months or even years in advance. So we’ve always taken a different approach. We define, in general terms, the problems we’re trying to solve and begin by designing around those. We don’t try to predict the product’s final form, or even its full feature set. The only thing we know is where to begin.
(Full Story: Is Your Product Ready for Its Close-up? | Inc.com)