Perfection in software is impossible. Software developement is subject to the Law of Diminishing Returns . So how do you decide when enough is enhough?
In a recent presentation Al Goerner discussed catagorising stories. Two of the more interesting catagories were "New feature" and "Feature enhancement". In an Agile project where new stories are constantly being added to the backlog, these two catagories can help use decide when a product is maturing and the new stories coming into the backlog are simply tweaks to the original requirements. In general "Feature Enhancements" provide a much smaller "bang for your buck" then "New Features". A simple rule of thumb is that when your backlog is mostly "Feature enahncements" then it is time to re-evaluate the ROI for continuing developement and compare it with the opertunitiy cost of a new endeavour.
Catagorising stories can also help us manage Risk and Issues within our backlog.