Skip to main content

Table 1 Algorithm: requirement prioritization of E-Learning software system

From: Incremental development & revolutions of E-learning software systems in education sector: a case study approach

Step number

Executable steps

1.

Identify influential stakeholders for prioritizing requirements. As a customers or users, a good combination of experienced teachers, research scholars, students, project staff etc. should be identified. Teachers could better identify those requirements that are very important for them and without which their work will suffer.

2.

Compute the relative importance of each stakeholder against “customer satisfaction” aspect using Analytical Hierarchical Process (AHP). AHP is a decision making process that allows stakeholders to fill prioritization matrix using a scale of 1–9. The relative prioritization value is then computed and the results are analyzed for accuracy purpose by calculating a consistency index (CI). A result of execution of this step is computation of the importance of one stakeholder with respect to another. Execution of this step is necessary since experienced teachers should be given higher importance as compared to other stakeholders and voice of students or other project staff with huge development experiences could not be bypassed.

3.

For each requirement against customer satisfaction aspect. Each stakeholder allots value using a scale of 1–9 as proposed in [12].

4.

Compute the priority using equation 1:

Priority = (Wa * Va) + (Wb * Vb) +   + (Wb * Vb) (1)

Wi denotes the relative importance of stakeholder “i” and Vi is the value assigned by stakeholder “i”. Computation of this step is similar to that in [5].

5.

Compute Implementation costs and Regression count for each requirement. This step requires the involvement of software engineers rather than involving customers and users. The implementation of each requirement would be dependent on the implementation of another requirement. Such dependency implies that changes in particular requirement would create ripple effects in other parts of source code i.e. in source code of dependent requirement. This paper terms number of such dependencies between code parts of one requirement and parts of another one as regression count. To compute regression count, developers use AHP technique, where each requirement is pair wise compared with another. If there is very strong dependency between the two requirements say Ri and Rj, prioritization matrix cell (i, j) is given a value of 9 (scale of 1–9) and for no dependency it is given a value of 1. Finally the relative regression count value is computed. Similar scale is used to represent the implementation cost of each requirement.

6.

Select the highest priority requirement. Such requirements are those that have the highest value of Customers Satisfaction. Denote this set by R’. It varies from organization to organization to have threshold value of the selection. An optimal value could be at least 65%. Requirements with highest regression count and lower development costs are highly desirable. Let R be the set of gathered requirements. Let R” = R – R’. Each requirement of R” is represented by three tuples i.e. (P, C, R)

where P represents assigned priority, C is development cost and R is regression count.

•Compute cost associated with the set R’. If it exceeds the allotted budget, perform negotiation by holding talks with stakeholders and re allotment of values and thus repeating step 3 and onwards.

•Sort the requirements in decreasing order of their priorities. Find the set R”’ where, R”’ = R” – R(i). The set R(i) denotes the set of those requirements of set R” which are having the highest value of R and lowest value of P.

•For remaining requirements belonging to set R”’, compute the final value of priority using equation 2:

EP = (p * R)/C (2)

In this equation, value is “C” is not in monetary terms but in terms of scale of 1–9. Thus the highest cost value 9 represents a high cost requirement.

7.

Implement the set R’ and select requirements of set R”’ with the highest value of FP until resources permits.

  1. Input: Set of gathered requirements.
  2. Output: Prioritized set of requirements.