Features could come in from many sources, but ideally they should be controlled by the development team or—if they are lucky enough to have one—their development manager. Features may be suggested by users, requested by customers, or created by the developers themselves. Ultimately three decisions need to be made about each proposed feature: if, when, and who. None of these really need much explanation beyond what we have already covered in Chapter 1. However, if is worth touching on again. Not every feature should make the cut when deciding what is going to be included in our project. There are no absolute rules for this, but if we generally ask the question whether or not a feature should be included in our application, then the answer should be no. Of course this does not stop people from requesting features!
By now we should think of tickets and milestones within Trac, but we do not need a ticket for every feature. Instead, features should start out in the wiki. We need...