Maximising the Alternative Resources for Solving the Rescheduling Problems in Software Project Development

Ho-Leung TSOI and Terry Rout

GriffithUniversity

Nathan, Queensland

AUSTRALIA

Abstract: - Software project development includes a number of activities that result in a delivered product.Unfortunately, late delivery of a software project is very common in the Information System (IS) community.This paper presents a practical approach to compress the schedule with minimum extra cost but preserves the initial activities sequence.

Key-Words: - Information System, Project Management, Schedule

Page-1

1.Introduction

A stable schedule is desirable because any dramatic re-arrangement of the original activities will cause high costs and waste time (Ritchie, 1985; Tsoi and Rout, 2000). Because "people" who work for the software project will generally represent the most variable and largest percentage of the total project costs, the effective use of the surplus resource (people) is essential (Tsoi, 2001). This paper presents a practical approach to compress the schedule with minimum extra cost but preserves the initial activities sequence.Finally, the method is illustrated by the use of an example.

1.1 Schedule Compression Requirements

The systematic method should satisfy FOUR basic requirements which are shown below:

(a)Maximise the resource usage level and minimise additional cost

Surplus or unused resources can be considered as wastage. If the unused resource could be effectively utilised, the project duration could be shortened without additional cost or with minimum additional cost.

(b)Handle discrete duration-resource trade-off function

Project schedule compression is commonly regarded as a time-cost trade-off problem. It implies that a continuous linear relationship exists between resource and duration (Kelley, 1959). Activity time-cost trade-off assumes that reducing activity duration can be achieved by increasing resources. For software management, adding an extra team member may not result in a proportion of reducing the project completion time(Brooks, 1975). Very often, effort and activity duration coming in a discrete combination may be more suitable to represent the reality.

(c)Alternative Resources

As people are one of the most important resources in software development and are intellectual beings, they can be substituted by others if necessary (Li, 1991).

(d)Minimising changes to previously planned schedule

For a good schedule compression method, it is very important to minimise the changes to previously planned schedule because the changes to previously planned schedules might destroy the project managers’ previous efforts.

2Software Project Re-Scheduling (SPR) Method

The main procedures of the proposed project schedule compression method can be identified as follows:

Step 1.Let the initial project completion time be T1 and the target completion time is T2. The total compression time is T2 - T1

Step 2.If the schedule completion time is shorter than the target completion time ( 0 T2 - T1), then the schedule is done or accepted to be extended. Otherwise select schedule activities which are considered with a low resource utilisation.

Step 3.For each of the activities obtained from step 2; if its current duration is still within its feasible range of duration, then reduce its current duration by one and rearrange its information in the network according to the given time resource trade-off alternatives. Repeat this step until all surplus resources are exhausted or reach the target time.

Step 4.If, after utilising most surplus resources, the project completion time is still longer than the target time, different types of resource can act as substitution or extra resources can be added. Anyway, the lower cost rates should be selected.

Step 4.1 Define all related parameters, such as replacement relationships, discrete duration-resource trade-off function, a set of special cost rate for different kinds of extra resources, etc.

Step 4.2 Define all sets of concurrent activity throughout the project schedule.

In order to shorten the duration but keep the sequence of the activities, the concurrence concept is applied. This paper presents a procedure in which concurrent activity sets can be defined.

i.To create the concurrent activities set, we start at time zero (T0) and select the earliest starting activity as the first activity in the working queue. If there are more than one activity with the same starting date, the activity with the longest period (e.g. S0) should be preferentially selected. After selection, change the time T1 = T0 + S0

ii.If the finish time of the current activity (Ci,) is not equal to the starting time of the next activity of Ci+1, then a dummy activity will be added as a bridge between these two activities.

iii.Repeat the above process until T is the completion time of the project or all remaining activities are chained. T will be set to zero and repeat the processes (from i to iii).

iv.For the last activity of the chain, if the finish time is not equal to the starting time of the activity (as close as possible) in previous chain, then a dummy activity will be added to extend the finish time in order to keep the consistence of these two activities..

Repeat the above process until all activities are selected. In summary,

The earliest start time activities will be selected

The longest period activities will be selected

The dummy activities will be added to extend the time to fill up the gap under the following situations.

  • There exists a time difference between the current and the previous chain.
  • The starting time of the first activity in the current chain is not equal to the starting point of the previous chain.
  • The finish time of the current chain is not equal to the ending point of the activity in the previous chain.

Slide the vertical axis from the beginning time of thecritical path to the completion time to determine the concurrent set. Once the vertical axis meets the end of an activity, a concurrent set is identified.

Step 5Shortening the concurrent activities

For each concurrent set determined from step 4, reduce its duration by one unit of time and rearrange its information in the network according to the given time-resource trade-off alternatives. Repeat this step until

For all activities, the surplus resources are insufficient to satisfy the requirement of further compression;

meets the maximum amount of reduction.

3An Example

An example will be presented in this section.Based on the work-breakdown structure, the project network (see Figure 1 and Table 1) schedule would be 30 weeks.The project has beenhandled by a group of people (1 project leader, 2 analysts, and 7 programmers) who were able to perform all kinds of tasks in the system life cycle.At the end of the system analysis stage, suppose it is FOUR weeks behind the schedule. To apply the SPR method, the following parameters was defined.

  • programmer M could be fully replaced by either analyst B or project leader X but not vice versa (one-way).
  • project leader X could be fully replaced by analysts (B or C). On the other hand, analyst (B or C) can be fully replaced by project leader X (two-way).
  • the discrete duration-resource trade-off functions (see Table 2)

The extra cost is a combination of many different sub-costs. In this example, the cost of using one excess unit for resource 1, 2, and 3 was US$6000, US$5000, and US$3600 per weeks, respectively. The concurrent activity sets are established (see Figure 3). Please note that each bar shows a sequence of activities which are connected by logical or resource considerations.

The concurrent sets will be shown as below:

Set 1:(1-2) Set 2:(2-3)

Set 3:(3-6), (3-5), (3-4) Set 4:(3-6), (3-5)

Set 5:(3-6), (5-8) Set 6:(6-7)

Set 7:(7-8) Set 8:(8-9)

Because the compression occurred after System Analysis, set 2 – set 8 needs to be considered.

Initial compression -- All paths will be compressed one unit per time until there are no surplus resources. It has been noted that the compression will be complicated if more than one path shares the same activities. For example, set 3 and set 4 share the activity (3-5). As a consequence, changes to the resource requirement of this activity will affect the duration of these two paths. To select the activity to be compressed, the preference will be given to:

  • No extra resource required for the compression.
  • The activity with the earliest starting date will be selected first. For this example, among activities (2-3), (6-7), (7-8), and (8-9), activity (2-3) will be selected first in order to allow for unexpected overrun in the later stage.
  • Shortening one time unit of the activity will affect the remaining activities in the same path. To minimise the impact of re-scheduling, the activity which has the minimum number of existence will be preferentially selected. For this example, activity (3-6) exists in path 3, 4 and 5 but (3-5) just exists in path 3 and path 4. Considering these two activities, activity (3-5) will be selected.

Repeat the above process until all possible activities are compressed or T is the completion time of the project or all remaining activities are chained. In summary, all activities with surplus resources, which are greater than the resource requirement of compression, are compressed until they reach the target duration.

Set 6, activities (6-7), will be selected in the initial compression because of the existence of surplus resources. Set 8, activity (8-9), is the next one to be further compressed. After the initial compression, although resource 3 (eight programmers are required) is insufficient for activity (8-9), surplus resource 1 exists. From the substitution table, programmers can be fully replaced by project leader. In other words, all resource 1 will be act as resource 3. Therefore, the total number of resource 3 will be changed from seven to eight units (two units of resource 2 + eight units of resource 3). As a result, the compression requirement is satisfied and the activity can be further compressed.

At the end of the initial compression, threeweeks is to be shortened. The new scheduling estimates that the new project duration will be 31 weeks, which is still one week beyond the desired plan. The project manager needs to add some extra resources to further shorten the schedule. The new discrete duration-resource trade-off function will be shown in Table 3.

From the duration-resource trade-off table, activities (5-8), (7-8), and (8-9) can not be further compressed. As a result, set 5, set 7, and set 8 do not need to be considered. Because activities (3-6) and (3-5) exist in more than one path, set 3 and set 4 do not need to be considered at this moment. As a result, just set 2 and set 6 will be considered. This arrangement guarantees that the sequence of activities will be kept with minimum change. From the duration-resource trade-off table, set 2, activity (2-3), needs two extra units of resource 2 but set 6, activity (6-7), just needs two extra units of resource 3. Based on the minimum cost concept, activity (6-7) will be selected and will reach the desired duration. For this example, the target duration (four weeks shorter than the initial schedule) is reached, the rescheduling process is successfully implemented as required with US$7,200 (US$ 3600 x 2 = 7200) extra cost. The new discrete duration-resource trade-off function will be shown in Table 4:

For this example, the total extra cost is US$7,200 and the schedule is back to 30 weeks. The overrun problem can be solved before causing a serious deviation. Moreover, if the project duration is still longer than the requirement, the above process will be repeated until the new target is reached.The final Gantt chart of the example is shown in figure 4.

4 conclusion

SPR is not a completely new re-scheduling method but an enhancement of current methods by incorporating concurrence and replacement concepts to minimise the cost. Without applying sophisticated mathematical modelling techniques, SPR is easily understood and handled. Moreover, it has certain advantages over all other existing methods. Some of them are listed as follows:

(a) It is simple and easily to be programmed

Through the concurrence concept, all activities can be shortened simultaneously.

(b)Close to software project development environment

The new method allows the software project manager to express the resource/duration discrete function rather than continuous linear relationship between resource and duration.

(c)Retains the planned schedule

Applying the concurrence concept, the new method produces a new schedule without changing the activities’ sequence of the original planned schedule.

(d)Minimise the additional costs

The new method considers total resource usage at all periods throughout the project and minimise the extra costs for project compression.

References:

  1. Kelley J.E. Jr. and Walker, M.R. (1959), "Critical Path planning and scheduling”, Proceedings of the Eastern Joint Comp. Conference, pp. 160-173
  2. F. P. Brooks Jr. (1975), "The Mythical Man-month”,Addison-Wesley Pub. Co.Inc.,Reading, Massachusetts
  3. A.M. Jenkins, J.D. Naumann, and J.C., Wetherbe (1984),”Empirical investigation of systems development practices and results,” Inform. Manage.
  4. E. Ritchie (1985), "Network based planning techniques: a critical review of published developments”, Further Development in Operational Research, Pergamon Press, Oxford
  5. D. Phan, D. Vogel, and J. Nunamaker (1988),”The search for perfect project management,” Computerworld, Stept.
  6. R. Li and R.J. Willis (1991), "Alternative Resources in Project Scheduling”, Computers Ops Res., Vol. 18, pp. 663-668
  7. R. Li and R.J. Willis (1993), "Resource Constrained Scheduling Within Fixed Project Durations”, J. Opt. Res. Society, Vol. 44, pp. 71-80
  8. D.A. Noyce and A.S. Hanna (1998), “Planned and unplanned schedule compression: the impact on labour”, Construction Management and Economics, 16, pp. 79-90
  9. H.L. Tsoi and T. Rout (2000), “Applying The Concurrence Concept for Solving Re-scheduling Problems in Software Project Development”, In Proceedings of the 2000 Information Resources Management Association International Conference, USA.
  10. H.L. Tsoi (2001), “Using Analytic Hierarchy Process (AHP) method to prioritise human resources in substitution problem”, Int. J. of Comp. Internet and Management, 9(2).

Page-1

Figure 1: the work-flow of SPR method

/ Figure 2: An activity-on-arc project network of the example.

Figure 3: The activity chains of the project

Figure 4 The Gantt Chart after the re-scheduling process

Table 1: Project Schedule (with resource level)

Project Activity / Schedule
(weeks) / Precedents / Resource
I II III / Scheduled Start (week)
System Analysis (SA) / 3 / -- / 1 1 / 0 / 0
System Design (SD) / 8 / System Analysis / 1 2 / 0 / 3
Programming G/L System / 6 / System Design / 0 1 / 5 / 11
Programming Payroll System / 9 / System Design / 0 1 / 6 / 11
System Integration and Testing / 4 / Prog. G/L & Payroll / 0 1 / 4 / 20
Documentation / 7 / System Design / 0 0 / 3 / 11
System Acceptance / 2 / Integration & Doc. / 0 1 / 2 / 24
Training / 2 / Documentation / 0 1 / 4 / 18
Parallel Operation / 4 / Training, & System Accept. / 0 1 / 2 / 26

Note:resource 1 = project leader, resource 2 = analyst, and resource 3 = programmer

Table 2: Duration-resource trade-off table

Project Activity Activity No. / Alternative Duration/Resource
(months)[resources I, resource II, resource III]
System Analysis (1-2) / 3[1,1,0], 2[1,3,0]
System Design(2-3) / 8[1,2,0],7[1,4,0]
Programming G/L System(3-4) / 6[0,1,5], 5[1,2,5],4[1,2,7]
Programming Payroll System(3-6) / 9[0,1,6], 8[1,2,8], 7[1,2,11]
System Integration and Testing(6-7) / 4[0,1,4], 3[1,2,6], 2[1,2,9]
Documentation(3-5) / 7[0,0,3], 6[0,2,8],5[1,2,9]
System Acceptance(7-8) / 2[0,1,2]
Training(5-8) / 2[0,1,4]
Parallel Operation(8-9) / 4[0,1,2], 3[0,2,5],2[0,2,8]

Note: 3[1,2,4] means working duration = 3 weeks, requirement for

resource 1 = 1 unit, resource 2 = 2 units and resource 3 = 4 units.

Table 3: Project Schedule (with substitution for reduction)

Project Activity Activity No. / Duration/Resource / Comments
System Analysis (1-2) / 3[1,1,0] / ---
System Design(2-3) / 8[1,2,0] / ---
Programming G/L System(3-4) / 6[0,1,5] / ---
Programming Payroll System(3-6) / 9[0,1,6] / ---
System Integration and Testing(6-7) / 4[0,1,4], 3[1,2,6]* / Reduction one week (no extra cost)
Documentation(3-5) / 7[0,0,3] / ---
System Acceptance(7-8) / 2[0,1,2] / ---
Training(5-8) / 2[0,1,4] / ---
Parallel Operation(8-9) / 4[0,1,2], 3[0,2,5], 2[0,2,8]* / Reduction two week (no extra cost)

Note: 4[0,1,4] means the duration has been already compressed * is the new schedule

Table 4: Project Schedule (with extra costs for reduction)

Project Activity Activity No. / New Schedule / Comments
System Analysis (1-2) / 3[1,1,0] / ---
System Design(2-3) / 8[1,2,0] / ---
Programming G/L System(3-4) / 6[0,1,5] / ---
Programming Payroll System(3-6) / 9[0,1,6] / ---
System Integration and Testing(6-7) / 4[0,1,4], 3[1,2,6], 2[1,2,9]* / The 1st week (no extra cost). $7200 extra cost for the second week
Documentation(3-5) / 7[0,0,3] / ---
System Acceptance(7-8) / 2[0,1,2] / ---
Training(5-8) / 2[0,1,4] / ---
Parallel Operation(8-9) / 4[0,1,2], 3[0,2,5], 2[0,2,8]* / Reduction 2 weeks without extra cost.

Note: 4[0,1,4] means this duration has been already compressed, * means the new schedule

Page-1