I think this is the part that what might have more impact on some XP-ers/Agilists:
Ship it and fix it. The product needs to provide value from the first, but it doesn’t need to provide everyone with value all the time. Early sales answer questions about the market size. Early users accept some rough edges if they get to be first and you fix the problems. Not reflexively fixing every defect was a hard transition for me, but, often, answering the next business question was my highest priority. I would recommend installing real-time remote error reporting for anyone bringing client software to market. It was nerve-wracking at first to see all the errors, but in the end the feedback was invaluable
Here is what I gather from this topic adding my interpretation / point of view:
- releases can be used to penetrate the market, drive product evolution, check the market size. Eventually fix and change to penetrate another market and loop the process;
- from the users’ perspective external quality is something they might want to negotiate in a market exploration perspective or to gain some ‘early adoption’ advantage;
- new features, especially in innovative or immature markets, have often a disruptive effect no matter as unfixed they are: they quickly generate a chain reaction of new ideas and than new features. Again a way to quickly explore. Timeliness in this sense is driving more than external quality;
- the definition of DONE is not only related to the ‘acceptance’ of features, is when all users can use it (deploy), can communicate back (logging / error reporting) …
What’s your impression?