Defining the priority function is of high importance. This priority function is domain-specific as well as institution-specific, representing trade-offs between quantity and quality, between functionality and resource constraints, and between expectations and the reality of delivery. The priority function orders the different metrics and their values. However, all priority functions should have the product delivery as a high priority goal. See Appendix D for a discussion on decision making.
The priority function serves two goals. One goal is to establish priority. Important tasks need to be accomplished first over lower priority tasks. This is the traditional role of a priority function.
The second goal of the priority function is to manage conflicting and non-monotonic tasks. The priority function needs to divide the tasks into consistent collections. The priority function needs to guide the selection of the consistent collection and then followed by the selection of the tasks within that consistent selection.
As more and more of the system is established, the priority function is weighted to choose tasks that are consistent with the already established system. A non-monotonic task is inconsistent with the established base requiring that some of the already accomplished system to be thrown out. The non-monotonic task should not be taken, unless the addition of the non-monotonic task is absolutely necessary to the success of the entire system. The priority function guides this decision.
The priority function manages non-monotonic conflicts in the small while, as will be established soon, change order control manages non-monotonic conflicts in the large.