Prioritize the Requirements
Prioritization of requirements is imperative to the success of a project as it ensures that analysis, development, testing and implementation resources are focused on the most critical aspects of the system. Prioritization is a decision process that allocates a priority to the each requirement, the most common criteria for the categorization is business value. Business value is typically determined by the cost-benefit analysis of the value the implemented requirement will produce for the organisation or its customers. Some other factors include: policy or regulatory compliance, urgency, business or technical risk and likelihood of success.
Changing the Priority Collaboratively
The process of selecting criteria and assigning priority is typically collaborative, and is often done in a workshop with stakeholders or their representatives debating the categorization. In previous eras this was a laborious and difficult process, but Enterprise Architect has some powerful features for working with requirement properties, including priority. There are a number of windows that support working with the requirements in a list and editing the priority in-line, automatically filtering or sorting the list of requirements based on the newly assigned priority, including the Package List and the Diagram List. The Specification Manager is a useful tool for this purpose and provides a text based interface where the requirements and their notes can be viewed and priorities can be selected from a drop down list. The interface also displays a number of other useful properties that are typically useful for prioritization, such as Status and Complexity.
Requirement Priority Property
There are a wide range of criteria that can be used for prioritization and each organisation and project will typically use some type of weighted average to determine the priority. Enterprise Architect has flexible and complete support for requirement prioritization as each element has a built in Priority property that can be set to indicate its priority, allowing the user to select the allocated priority from a drop down list
The list of priorities is conveniently pre-loaded when you install Enterprise Architect but these can be edited or completely revised to suit an organization or project. They can even be imported as reference data from a previous project or if the current project was created based on a template the organization's priorities could be pre-loaded from the base model.
Enterprise Architect has a series of dashboard diagrams that can be used to create a compelling view of the Priority of requirements in a Package with the option to include sub-Packages. There are a number of pre-configured charts that can be used to display the ratio of Priority values for Requirements in a part of the model. Filters add another level of user configuration allowing a modeler to, for example, exclude requirements of a particular Status or ensure only requirements for the current phase are displayed.
Extension for Setting Priority
When there a large number of requirements and the basis for the prioritization has been well defined a script or add-in could be developed that could assign the Priority automatically based on a specified algorithm. Additional properties such as business value could be assigned using Tagged Values and any requirements that did not have the requisite properties set could be written to a log or presented as a search result list. The script or add-in could be used on multiple projects giving a consistent and unbiased result.