software project scheduling, a thesis submitted …etd.lib.metu.edu.tr/upload/12606362/index.pdfthis...

137
SOFTWARE PROJECT SCHEDULING, SOFTWARE PROJECT PERFORMANCE MEASUREMENT and CONTROL A THESIS SUBMITTED TO THE GRADUATE SCHOOL OF INFORMATICS OF THE MIDDLE EAST TECHNICAL UNIVERSITY BY YUSUF KANIK IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE IN THE DEPARTMENT OF INFORMATION SYSTEMS JULY 2005

Upload: others

Post on 06-Jun-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

SOFTWARE PROJECT SCHEDULING,

SOFTWARE PROJECT PERFORMANCE MEASUREMENT and CONTROL

A THESIS SUBMITTED TO

THE GRADUATE SCHOOL OF INFORMATICS

OF

THE MIDDLE EAST TECHNICAL UNIVERSITY

BY

YUSUF KANIK

IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF

MASTER OF SCIENCE

IN

THE DEPARTMENT OF INFORMATION SYSTEMS

JULY 2005

Page 2: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

Approval of the Graduate School of Informatics

___________________________________ Assoc. Prof. Dr. Nazife BAYKAL Director I certify that this thesis satisfies all the requirements as a thesis for the degree of Master of Science.

___________________________________ Assoc. Prof. Dr. Onur DEMİRÖRS Head of Department This is to certify that we have read this thesis and that in our opinion it is fully adequate, in scope and quality, as a thesis for the degree of Master of Science.

___________________________________ Dr. Altan KOÇYİĞİT Supervisor Examining Committee Members Prof Dr. Semih BİLGEN (METU, EEE)_______________________

Dr. Altan KOÇYİĞİT (METU, IS) _______________________

Dr. Ali ARİFOĞLU (METU, IS)_______________________

Assoc. Prof. Dr. Onur DEMİRÖRS (METU, IS) _______________________

Assoc. Prof. Dr. Canan SEPİL (METU, IE) ______________________

Page 3: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

iii

I hereby declare that all information in this document has been obtained and

presented in accordance with academic rules and ethical conduct. I also declare

that, as required by these rules and conduct, I have fully cited and referenced all

material and results that are not original to this wok.

Name, Last name: Yusuf KANIK

Signature :

Page 4: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

iv

ABSTRACT

SOFTWARE PROJECT SCHEDULING,

SOFTWARE PROJECT PERFORMANCE MEASUREMENT and CONTROL

Kanık, Yusuf

M.S. in Information Systems

Supervisor: Dr. Altan Koçyiğit

July 2005, 120 pages

This thesis is about software project scheduling and use of earned value method on

software projects.

As a result of the study, a solution for software project scheduling problems is proposed.

A mathematical formulation, developed using integer programming method, is at the

heart of the solution. Objective of the formulation is to minimize the development costs

consisting of direct labor cost, indirect costs and probable penalty costs. The formulation

takes the capability and compatibility variances among resources into account whereas

contemporary approaches mostly focus on resource availability. Formulation is of type

discrete time and takes the time span to be searched as input. Therefore a heuristic

Page 5: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

v

approach has been developed for providing time span input to the models developed

using the formulation. The heuristic approach has been proven to be calculating a time

span that does not hinder achieving the absolute optimum schedule and shortens the

solution time of the integer programs. The heuristic approach and problem formulation

have been incorporated into a computer program that generates integer programs and

heuristic solutions.

This thesis also describes a method for preparing an earned value plan, based on the

scheduling solution defined. The method aims to help project managers in determining

the status of their projects and deciding whether any corrective action is required or not.

Besides the method, approaches for incorporating indirect costs and penalty costs, which

are not explicitly discussed in literature, into final cost estimation have been described.

Keywords: Software Project Scheduling, Resource Capability, Development Costs,

Earned Value Method

Page 6: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

vi

ÖZET

YAZILIM PROJESİ ÇİZELGELEME,

YAZILIM PROJELERİNDE PERFORMANS ÖLÇÜMÜ ve KONTROL

Kanık, Yusuf

Bilişim Sistemleri, Yüksek Lisans

Tez Yöneticisi: Dr. Altan Koçyiğit

Temmuz 2005, 120 sayfa

Bu tez yazılım projeleri çizelgeleme ve kazanılmış değer metodunun yazılım projelerine

uygulanması üzerine bir çalışmadır.

Çalışmanın sonucunda yazılım projesi çizelgeleme problemleri için bir çözüm

önerilmiştir. Çözümün özünü tam sayı programlama metodu ile geliştirilmiş bir

matematiksel formülasyon oluşturmaktadır. Formülasyon direkt işçilik maliyeti, endirekt

maliyetler ve gecikme cezalarından oluşan geliştirme maliyetlerini minimize etmeyi

amaçlamaktadır. Diğer yaklaşımlar çoğunlukla sadece bir kaynağın mevcut olup

olmadığına odaklanırken geliştirilen formülasyon kaynaklar arasındaki kabiliyet ve

uygunluk farlılıklarını da dikkate almaktadır. Formülasyon zamanı kesikli kabul etmekte

Page 7: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

vii

olup kapsanacak zaman aralığını girdi olarak almaktadır. Bu nedenle bu formülasyonu

kullanarak geliştirilecek modellere, kapsanacak zaman aralığı girdisini sağlamak

amacıyla sezgisel bir yaklaşım geliştirilmiştir. Geliştirilen sezgisel metodun mutlak

optimum çizelgeye ulaşılmasını engellemediği gibi tam sayı programların çözüm

sürelerini kısalttığı ispatlanmıştır. Geliştirilen matematiksel formülasyonu ve sezgisel

metodu kullanarak farklı problemler için tam sayı programlar ve sezgisel çözümler

üretebilen bir bilgisayar programı geliştirilmiştir.

Ayrıca bu tez çalışması kapsamında, oluşturulan çizelgelerin maliyet ve zaman

performansını takip ve kontrol etmek amacıyla yukarıda bahsedilen çizelgeleme

çözümünü temel alan bir kazanılmış değer planı oluşturma metodu tarif edilmektedir.

Metot proje yöneticilerine projelerinin durumlarını belirleyebilmeleri ve düzeltici bir

tedbir gerekip gerekmediği kararını verebilmeleri konularında yardımcı olmayı

hedeflemektedir. Önerilen metodun yanı sıra literatürde açık bir şekilde ele alınmayan

endirekt maliyetleri ve gecikme cezasından doğabilecek maliyetleri proje toplam

maliyeti tahminine dahil etmek için yaklaşımlar tarif edilmektedir.

Anahtar sözcükler: Yazılım Projesi Çizelgeleme, Kaynak Kabiliyeti, Geliştirme

Maliyetleri, Kazanılmış Değer Metodu

Page 8: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

viii

ACKNOWLEDGEMENTS

I would like to express my sincere gratitude to Dr. Altan Koçyiğit for his supervision,

help and encouragement in this thesis. His vision, guidance and friendly approach was

one of the most important driving forces behind this work.

I wish to express my sincere thanks to my manager Fatih Bilgi and all other colleagues

in Information Management and Financial Analysis Department of Communications

Division of ASELSAN Electronic Industries Inc. for their patience, understanding and

support.

Special thanks go to my friends Bora Kat, Mustafa Cumhur Öztürk, Halil Özbey,

Zümbül Bulut and Engin Volkan for their appreciable suggestions, comments and help

throughout the study.

I am indebted to ASELSAN Electronic Industries Inc. for the facilities provided.

Finally I wish to express my gratitude to my family for their support.

Page 9: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

ix

TABLE of CONTENTS

PLAGIARISM…………………………………………………………………………..iii

ABSTRACT......................................................................................................................iv

ÖZET ................................................................................................................................vi

ACKNOWLEDGEMENTS........................................................................................... viii

TABLE of CONTENTS....................................................................................................ix

LIST of TABLES.............................................................................................................xii

LIST of FIGURES ..........................................................................................................xiv

LIST of ACRONYMS ....................................................................................................xvi

CHAPTER 1 INTRODUCTON............................................................................................................1

2 LITERATURE REVIEW ...............................................................................................6

2.1 Project Scheduling Problem................................................................................8

2.1.1 General Literature on Project Scheduling ..................................................8

2.1.1.1 Activities ........................................................................................9

2.1.1.2 Constraints .....................................................................................9

2.1.1.3 Resources .....................................................................................10

2.1.1.4 Objectives.....................................................................................10

2.1.1.5 Representation Issues ...................................................................11

Page 10: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

x

2.1.2 Software Domain Specific Studies...........................................................14

2.2 Project Performance Measurement and Control Using Earned Value Management ......................................................................................................16

2.2.1 General Literature on Earned Value Management...................................16

2.2.2 Studies on the Utilization of EVM for Control and Performance Measurement of Software Projects ..........................................................27

3 PROBLEM DEFINITION and SOLUTION METHODOLOGY ................................29

3.1 The Scheduling Problem...................................................................................29

3.1.1 Activities ..................................................................................................31

3.1.2 Teams………... ........................................................................................31

3.1.3 Objective ..................................................................................................32

3.2 Solution Approach ............................................................................................34

3.2.1 Problem Formulation ...............................................................................34

3.2.2 Heuristic Approach ..................................................................................43

3.2.2.1 Heuristic Algorithm ..................................................................44

3.2.2.2 Justification of the Heuristic Algorithm....................................46

3.3 Examples ...........................................................................................................48

3.3.1 Effect of T on Results ..............................................................................48

3.3.2 Effect of T on Solution Time ...................................................................51

3.3.3 Utilizing the Heuristic Algorithm with the IP Model ..............................54

3.4 Computer Program for Generating IP Models and Heuristic Solutions ...........56 4 EARNED VALUE MANAGEMENT..........................................................................63

4.1 Proposed Method for Preparing an EV Plan .....................................................63

4.2 Discussion on Final Cost Estimation ................................................................77

Page 11: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

xi

4.2.1 Incorporating Penalty Cost into Final Cost Estimation............................80

4.2.2 Incorporating Indirect Costs into Final Cost Estimation..........................83

5 CONCLUSION.............................................................................................................87

5.1 Future Work............................................................................................................91 REFERENCES.................................................................................................................92

APPENDICES

A - Problem Parameters and Solution for Section 3.3.1 ..................................................96

B - Solutions for Section 3.3.2.......................................................................................100

C - Problem Parameters and Solution for Section 3.3.3 ................................................101

D - Solutions for Section 3.3.3.......................................................................................111

Page 12: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

xii

LIST of TABLES

Table 3-1 Sample Case I ..................................................................................................50

Table 3-2 Effect of T on solution time.............................................................................52

Table 3-3 Comparison of solution times..........................................................................55

Table 4-1 Task list............................................................................................................67

Table 4-2 EV Tracking Table ..........................................................................................68

Table A1. Activity durations (weeks) ..............................................................................96

Table A2. Precedence relations........................................................................................97

Table A3. Cost Parameters...............................................................................................97

Table A4. Solution of model 1.........................................................................................98

Table A5. Solution of model 2.........................................................................................99

Table B1. Solutions for T=23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 40, 45, 50, 55, 60, 64

................................................................................................................................100

Table C1. Model 1 and Model 2 – Activity durations (weeks)......................................101

Table C2. Model 1 and Model 3 - Precedence relations ................................................102

Table C3. Model 2 - Precedence relations .....................................................................102

Table C4. Model 3 Activity durations (weeks)..............................................................103

Table C5. Model 1, Model 2 and Model 3 - Cost Parameters .......................................103

Table C6. Model 4 and Model 5 – Activity durations (weeks)......................................104

Page 13: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

xiii

Table C7. Model 4 and Model 6 - Precedence relations ................................................105

Table C8. Model 5 - Precedence relations .....................................................................105

Table C9. Model 6 Activity durations (weeks)..............................................................106

Table C10. Model 4, Model 5 and Model 6 - Cost Parameters .....................................106

Table C11. Model 7 and Model 8 – Activity durations (weeks)....................................107

Table C12. Model 7 and Model 9 - Precedence relations ..............................................108

Table C13. Model 8 - Precedence relations ...................................................................109

Table C14. Model 9 Activity durations (weeks)............................................................110

Table C15. Model 7, Model 8 and Model 9 - Cost Parameters .....................................110

Table D1. Solution of the models generated for project 1 .............................................111

Table D2. Solution of the models generated for project 2 .............................................112

Table D3. Solution of the models generated for project 3 .............................................113

Table D4. Solution of the models generated for project 4 .............................................114

Table D5. Solution of the models generated for project 5 .............................................115

Table D6. Solution of the models generated for project 6 .............................................116

Table D7. Solution of the models generated for project 7 .............................................117

Table D8. Solution of the models generated for project 8 .............................................118

Table D9. Solution of the models generated for project 9 .............................................119

Page 14: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

xiv

LIST of FIGURES

Figure 2-1 Network representation examples ..................................................................11

Figure 2-2 Key values of EV method ..............................................................................18

Figure 2-3 Quantification of SPI and CPI........................................................................19

Figure 2-4 EAC range ......................................................................................................26

Figure 3-1 Black box representation of the model...........................................................40

Figure 3-2 Cost at completion versus T ...........................................................................41

Figure 3-3 Solution time versus T....................................................................................42

Figure 3-4 Cost at completion versus project completion time .......................................47

Figure 3-5 Use of the method on a small sample project.................................................49

Figure 3-6 T versus Solution Time ..................................................................................53

Figure 3-7 Black box representation of the scheduling system .......................................58

Figure 3-8 User interface snapshot I ................................................................................59

Figure 3-9 User interface snapshot II...............................................................................60

Figure 3-10 User interface snapshot III ...........................................................................61

Figure 3-11 User interface snapshot IV ...........................................................................61

Figure 4-1 PV, EV, AC comparison ................................................................................71

Figure 4-2 EAC range ......................................................................................................78

Figure 4-3 Sample EAC range .........................................................................................82

Page 15: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

xv

Figure 4-4 EAC range updated with penalty cost ............................................................83

Figure 4-5 EAC range updated with indirect cost............................................................86

Page 16: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

xvi

LIST of ACRONYMS

AC : Actual Cost

ACWP : Actual Cost of Work Performed

AFIT : United States Air Force Institute of Technology

AOA : Activity on Arc

AON : Activity on Node

BAC : Budget at Completion

BCWP : Budgeted Cost of Work Performed

BCWS : Budgeted Cost of Work Scheduled

C/SCSC : Cost/Schedule Control Systems Criteria

CCS/BM : Critical chain scheduling/Buffer management

CPI : Cost Performance Index

CPM : Critical Path Method

CV : Cost Variance

DOD : Department of Defense

EAC : Estimate at Completion

EV : Earned Value

EVM : Earned Value Method

Page 17: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

xvii

GERT : Graphical Evaluation and Review Technique

IP : Integer Programming

PERT : Program Evaluation and Review Technique

PMBOK : Project Management Body of Knowledge

PMI : Project Management Institute

PV : Planned Value

RCPSP : Resource Constrained Project Scheduling Problem

SPC : Statistical Process Control

SPI : Schedule Performance Index

SV : Schedule Variance

WBS : Work Breakdown Structure

Page 18: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

1

CHAPTER 1

INTRODUCTON

The past three decades have been marked by rapid growth of the software industry.

However a high ratio of project failure has been recorded and overruns of one or two

hundred percent became common during this growth period. Some software projects

could not even deliver anything. When the reasons underlying unsuccessful projects

were investigated, it was seen that the reasons were mostly related with management.

Brooks mentioned this issue in “Report of the Defense Science Task Force on Military

Software- Sept. 1987” as "...The Defense Science Task Force is convinced that today's

major problems with military software development are not technical problems, but

management problems" (as cited in Brown [1]). All these reveal the fact that project

management is the key to software project success or failure. Project management is

defined as the application of knowledge, skills, tools and techniques to project activities

to meet project requirements in Project Management Body of Knowledge (PMBOK) [2]

by Project Management Institute (PMI).

Project management is used as a means to provide planning, organization, direction and

control of resources in order to meet an organization’s objectives by a specific date and

Page 19: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

2

within a pre-defined budget. Project management involves the application of limited

resources to the completion of tasks in the most effective and efficient manner. A pivotal

problem of project management is to find the best trade-offs among resources. Support

for the coordination of people, tasks, equipment, products, time and money is provided

by project management scheduling. Planning and scheduling are often inseparably

connected. The plan defines what must be done and restrictions on how to do it while the

schedule specifies both how and when it will be done.

Actually planning and scheduling are common for many engineering domains and

numerous studies have been carried out about project scheduling since at least the 1950s.

Project scheduling problems are basically made up of activities, resources, precedence

relations, constraints and objective. Constraints define the feasibility of a schedule

whereas the objective defines the optimality of the schedule. A feasible schedule is a

schedule that satisfies all the constraints. However an optimal schedule not only satisfies

all the constraints but is also the best one among all feasible schedules with respect to an

objective. Constraints must be satisfied while objectives should be satisfied. So

scheduling can be defined as binding resources to activities on a time scale so as to

answer the question of when and by whom each activity of a project will be conducted

and this binding must be done in such a manner that all constraints and precedence

relations must be satisfied with performance measures in mind.

Different methods have been proposed and analyzed over a period of approximately fifty

years. These studies mostly focused on production and construction industries as these

are older disciplines with respect to software engineering.

Page 20: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

3

Then the tools and methods developed by these studies have been tried to be utilized in

software development also. However Plekhanova [3] mentions a fact about this

approach as

Nevertheless, contemporary project management scheduling approaches cannot be sufficiently used for software projects, because they are concerned with resource availability and utilization, and do not provide study, analysis and management of resource capabilities and compatibilities.

This spots light on some underlying differences between software projects and projects

where human resource quality is not a critical component. In particular software tasks

cannot be defined as fixed-duration tasks because they are dependent first of all on

people knowledge/skill capabilities, which are different. So while developing a schedule

for a software project, it must be taken into account that each task will have a different

processing time for each different person or team assigned due to varying

knowledge/skill capabilities of people. This variance in knowledge/skill capabilities

among people brings the varying costs fact with itself. For example it is realistic to

expect an expert analyst to finish an analysis earlier than a novice analyst under the

validity of same quality standards for both analysts. However it is normal that the expert

analyst will cost more than the novice one for each unit of time he/she works for the

project. It is a fact that organizations mostly aim to maximize their profit and a project

manager in any organization is expected to handle and manage the trade offs among

cost, quality and time aspects of a project. Thus it is not possible to develop a realistic

schedule without taking the cost issue into account.

Page 21: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

4

This thesis proposes a heuristic and an integer programming (IP) model for developing

schedules with the objective of cost minimization taking the processing time and cost

variances among people into account. The IP model provides the optimum schedule

while the heuristic method results in a feasible solution instead of the optimum but with

a shorter solution time with respect to the IP model. Although both methods aim to

minimize costs, the time aspect was not ignored and incorporated into the methods by

taking the due date of the project and penalty costs that will be incurred in case the due

date is exceeded into account. Actually the two methods have been designed to be

utilized together; however each can be used independently. When utilized together, the

heuristic method serves the IP model by constraining its search space and thus reducing

the solution time of the IP model. These two methods are discussed into more detail in

Sections 3.2.1 and 3.2.2.

As a part of this thesis study a computer program that implements the heuristic

algorithm and generates the IP model has been developed. The program takes the

problem parameters as input and uses the two methods discussed above together to

generate the related IP model. Besides generating an IP model the system also constructs

a schedule based on the heuristic algorithm and displays the result graphically. More

detail about this program is available in Section 3.4.

Using these methods enables a project manager both to determine the minimum budget

required for the execution of the project and develop the corresponding schedule.

However this is not enough for project success. As projects are dynamic and carried out

in changing environments, monitoring and measuring performance turns out to be an

Page 22: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

5

important issue for success. It is necessary to have a monitoring and performance

measurement system that generates feedback enabling corrective action to respond to

environmental changes. As software is an immaterial product, it is easier to get lost

about the actual progress in software projects. Therefore utilizing a monitoring and

performance measurement system in software projects turns out to be another important

key for success besides the realistic schedule.

Actually there exists an internationally recognized project management tool for

measuring progress on projects, the earned value (EV) method. EV is a method that

integrates scope, cost and schedule measures to help the project management team to

assess project performance. Despite its popularity, earned value method has not been

widely applied on software development projects since models that predict the amount

and timing of software development costs, and metrics for accurately measuring work

accomplishment have been inadequate. However regardless of the metric, the general

approach is to divide the work into portions, establish a schedule and a budget for each

portion, and then use this time-phased budget as baseline against which performance is

measured.

A method for monitoring and measuring actual performance is proposed in this thesis.

The method makes use of the EV and describes how an EV plan can be developed based

on the schedule developed. Once the project has been initiated, the method enables the

project manager to forecast final project costs so that the manager can decide whether

any corrective action is necessary or not.

Page 23: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

6

CHAPTER 2

LITERATURE REVIEW

A project is defined as “temporary endeavor undertaken to create a unique product or

service” by PMI in PMBOK [2] and the application of knowledge, skills, tools and

techniques to project activities to meet project requirements is called as project

management. Then PMOK [2] divides project management into nine knowledge areas as

the following:

1. Project Integration Management

2. Project Scope Management

3. Project Time Management

4. Project Cost Management

5. Project Quality Management

6. Project Human Resource Management

7. Project Communications Management

8. Project Risk Management

Page 24: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

7

9. Project Procurement Management

Schedule development and control are two major processes under Project Time

Management knowledge area. Schedule is defined as the conversion of a project action

plan into an operating timetable by Meredith and Mantel [4]. Then Meredith et al. [4]

mention the importance of a schedule as “it serves as a fundamental basis for monitoring

and controlling project activity and, taken together with the plan and budget, is probably

the major tool of the management of projects”.

Planning and scheduling are common for many engineering domains and numerous

studies have been carried out about project scheduling since at least the 1950s. However

some engineering domains have different characteristics from others, such as software

development. Therefore literature on project planning and scheduling also contains

domain specific studies.

Once a project has been scheduled and initiated, it is desired to determine where the

actual status of the project is with respect to its schedule during execution. It is aimed to

measure performance and determine the variances with the schedule and take corrective

actions if necessary by this way. According to the literature on project control, it is

possible to say that the most commonly used method for project control and

performance measurement is earned value (EV) project management.

This chapter has been organized as two major parts. First part is about project scheduling

and second one is about project performance measurement and control using EV

method.

Page 25: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

8

The first part is further divided into two in itself. In the first one a general review on

project scheduling is presented, while studies specific to software domain are included in

the second.

In the project performance measurement and control part, a general literature review on

EV method is presented and finally shortcomings of the literature that motivated this

study are mentioned.

2.1 Project Scheduling Problem

2.1.1 General Literature on Project Scheduling

A project scheduling problem in its simplest form is made up of activities, resources,

constraints and performance measures. With these elements at hand the project

scheduling problem looks for the best way to assign the resources to activities at specific

periods in time such that all constraints and the objective measures are satisfied. The

resources that can be utilized in a project are usually limited and the limited resources

also have a limited capacity. The problem of assigning such resources to activities with

constraint and objective considerations is called as the Resource Constrained Project

Scheduling Problem (RCPSP).

Each element of the problem with its different characteristics is introduced below. Each

element may take place in different problems with any combination of these

characteristics.

Page 26: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

9

2.1.1.1 Activities

Activities are the elements that constitute a project which are also known with different

names like tasks, operations or jobs. Activities have measurable estimates of

performance criteria such as duration, cost, and resource needs. In order to complete a

project all the activities constituting it must be completed.

Any activity may require a single resource or a set of resources for its completion and

the resource requirement may vary over the duration of the activity. The estimates of

duration or cost for an activity may be dependent upon the resources used by it.

Interruption may be allowed or not for activities. If interruption is not allowed for an

activity, once begun, it can not be stopped until the activity is completed.

2.1.1.2 Constraints

Constraints define the feasibility of a schedule. For a schedule to be accepted as feasible

it must satisfy all the constraints. Although constraints may appear in many different

forms, precedence constraints, which define the order in which activities can be

performed, are the mostly used ones. Often technological reasons imply that some

activities have to be accomplished before others can start. These types of constraints are

usually depicted using directed graphs, where an activity is represented by a node and

the precedence relation between two activities is represented by a directed arc.

Representation issues will be defined more into detail in Section 2.1.1.5.

Constraints about resources are also common to project scheduling studies. Resources

may include temporal constraints that limit the periods of availability. For example, an

employee may not be available on some days of the week.

Page 27: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

10

2.1.1.3 Resources

Resources are usually categorized as renewable and nonrenewable.

Renewable resources are available all the time without being depleted. Machines,

equipment and man power are examples to renewable resources.

Nonrenewable resources are limited over the planning horizon and depleted as they are

used. Examples of nonrenewable resources include capital budget of a project and raw

materials.

Resources may vary in performance measurements. For example a resource may be

more efficient but more expensive than another.

2.1.1.4 Objectives

Goodness of a schedule is defined by the objective measures. In the constraints section it

was mentioned that all constraints must be satisfied for a schedule to be accepted as

feasible. Being different from the constraints; objectives, which define the optimality of

a schedule, should be satisfied. So, objectives define the optimality of a schedule while

constraints define the feasibility. An optimal schedule not only satisfies all the

constraints, but also is at least as good as any other feasible schedule.

Make-span minimization is probably the most researched and applied objective in the

project scheduling domain. Make-span for a project can be defined as the duration

between the start and end of the project.

Objective of minimizing costs is also used frequently due to its practical significance.

Page 28: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

11

Complete Testing

Complete Final Report

6 Weeks

AOA Representation

Test Final Report Preparation

6 Weeks

AON Representation

3 Weeks

Net present value maximization is another objective used when significant cash flows

are present in the project. Cash flows usually exist in two forms; expenses spent for the

execution of activities and progress payments for the completion of project parts.

2.1.1.5 Representation Issues

Due to its ability to show the interdependencies among activities, network

representations are generally used for representation. Most commonly used network

representations are activity on arc (AOA) and activity on node (AON).

In the AOA representation nodes represent events and arcs represent activities Dummy

activities are used to preserve the precedence relations and dummy nodes capture the

start and completion of the project.

In the AON representation activities are represented within the nodes and the precedence

relations are represented by directed arcs. Examples for both representations are given

below.

Figure 2-1 Network representation examples

Page 29: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

12

Many variations of the RCPSP have been proposed and studied and numerous solution

procedures have been developed in the last fifty years. The great variety of the problems

studied and solution procedures proposed, motivated the development of classification

schemes.

Davis [5] classifies the solution procedures according to the type of results they produce

and the characteristics of the problems to which they are suited as:

Heuristic Procedures

o Serial Routines

o Parallel Routines

Optimal Procedures

o Integer Linear Programming

o Enumerative and Other Techniques

Then he makes another classification for both heuristic and optimal procedures in terms

of the number of resource types involved in the underlying model as:

Single Resource Models: Only one resource type common to all jobs in the

project

Job Shop Models: More than one resource type per project, but only one type per

job

Multi Resource Models: More than one resource type per project and job

Page 30: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

13

The survey conducted by İçmeli, Erengüç and Zappe [6] can be accepted as the

continuation of Davis’s [5] study. While Davis’s survey includes the studies till 1973,

İçmeli et al. [6] focuses on the studies after 1973. In this survey it is seen that artificial

intelligence techniques have been started to be applied on RCPSPs

Özdamar and Ulusoy [7] classify the research on the RCPSP based on two

discriminating attributes of a constrained optimization model, which are the objective

and the constraints. They provide a categorization of the models proposed in the area of

resource constrained project scheduling and discuss the recent directions of research

covering the work done since Davis [5]. They mention that numerous researchers have

dealt with the objective of minimizing make span, but fewer researchers have considered

cost based objectives.

Brucker, Drexl, Möhring, Neumann and Pesch [8] introduce a new classification with

the claim that no classification scheme exists which is compatible with what is

commonly accepted in machine scheduling. Besides a classification scheme they also

propose a unifying notation.

In all four surveys [5], [6], [7], [8] the difficulty of solving RCPSP models by

optimization techniques is mentioned. This difficulty is shown as the primary motivation

of researchers to develop effective heuristics to solve problems of practical size.

Bellenguez [9] proposes an extension of the classical RCPSP, where staff members who

have one or more skills are accepted as the resources. Each activity requires a given

number of staff members for each skill. Although Bellenguez’s extension takes skill

Page 31: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

14

types into account, it ignores skill levels. The author also proposes two methods for the

solution which aim to minimize the make span of the project.

Critical chain scheduling/Buffer management (CCS/BM) is another technique that

receives attention in literature. Herroelen, Leus and Demeulemeester [10] focus on the

fundamental elements of CCS/BM and make an analysis based on a critical review of

the relevant sources and experimentation with different CCS/BM software. They

mention that CCS/BM methodology correctly recognizes the impact of the interaction

between the time requirements of the project activities, the precedence relations among

them, the activity resource requirements and the resource availabilities on the duration of

a project. This property of CCS/BM is defined to be in line with insights gained in

RCPSP literature.

2.1.1 Software Domain Specific Studies

Currently almost all project managers use some types of tools and techniques to

facilitate their management activities. There are also scheduling tools and techniques

among these. A study was carried out about the compatibility of the contemporary

project management tools with software projects by Plekhanova [11]. She mentions the

fact that it is necessary to define how a tool’s application is adequate to the project’s

needs, its specific character and objective in order to derive the most benefit from using

a project management tool. Plekhanova mainly focuses on the most popular ones of the

tools, which are Critical Path Method (CPM) and Program Evaluation and Review

Technique (PERT). The author mentions a characteristic of software projects that they

Page 32: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

15

are human resource critical. In other words activity durations in a software project are

dependent upon the knowledge and skill levels of the human resource available. Major

shortcoming of the CPM and PERT methods appear at this point. Both techniques

assume a single type of human resource and ignore the skills and capabilities of the

human resource and look whether a person is available or not. Therefore, Plekhanova

states that CPM and PERT techniques cannot be effectively used for management of

processes where human resource is a critical variable like software development process.

She also discusses some other tools like Graphical Evaluation and Review Technique

(GERT), SAP Human Resources and TasKEY PERSONEL and the same result is valid

for these too.

Dugan, Byrne and Lyons [12] point the difficulty of weighing different task allocation

solutions and arriving at the best one in a large project with many programmers and a

complex architecture. They developed a task allocation optimizer for software

construction using multi objective evolutionary algorithms in order to overcome this

difficulty. The task allocation optimizer takes the details of the package to be developed

and the details of the available software team as inputs and provides the project manager

with a set of solutions so that the manager analyzes the solutions and chooses the best

one.

Padberg [13, 14] presents a probabilistic scheduling model for software projects. Time is

accepted to be discrete and subdivided into periods of equal length called as time slices.

A project proceeds in phases and a phase lasts for some number of time slices. The

project is accepted to pass from one state to another at the end of each phase with a

transition probability. Different actions are taken in each project state and phase

Page 33: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

16

according to a scheduling strategy. Actually the scheduling strategy specifies which

team must work on which component. The model taking a scheduling strategy as input,

outputs a probability distribution for the project completion time or cost.

Polo, Mateos, Piattini and Ruiz [15] presented a model for distributing human resources

among software development projects. The study shows an economical approach to the

portfolio of projects of an organization moving from the point that one of the primary

goals of the software organizations is to obtain economical benefit from the

developments. However the model does not develop a schedule for a project but

distributes the human resource available among the project portfolio of an organization.

The distribution is based on the incomes and costs of the projects.

2.2 Project Performance Measurement and Control Using Earned

Value Management

2.2.1 General Literature on Earned Value Management

Earned value (EV) management is defined as a technique used to integrate the project’s

scope, schedule and resources and to measure and report project performance from

initiation to closeout [2].

Initiation of earned value concept is attributed to industrial engineers, who were using

EV to manage production costs of commercial industrial products, working in American

factories over a century ago [16].

Page 34: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

17

Today Earned Value Method is an internationally recognized method and accepted to be

the most commonly used project management tool for measuring progress on projects.

EV provides warnings for the project managers so that they can take the necessary

corrective action when the project is spending more money than it is physically

accomplishing or lagging behind the schedule.

Earned value involves calculating three key values for each activity:

Planned Value (PV): It is also called as the budgeted cost for work scheduled

(BCWS) and is the portion of the approved cost estimate planned to be spent on

the activity during a period. Total PV of the project is called as the budget at

completion (BAC).

Actual Cost (AC): AC is also called as the actual cost of work performed

(ACWP) and is the total of costs incurred in accomplishing work on the activity

during a given period. This actual cost must correspond to whatever was

budgeted for the planned value and the earned value (example direct hours only,

direct costs only, or all costs including indirect costs).

Earned Value (EV): EV is also called as the budgeted cost of work performed

(BCWP) and is the value of work actually completed.

These three values are used in combination to provide measures of whether or not the

work is being accomplished as planned. The most commonly used measures are the cost

variance (CV) (CV=EV-AC), and the schedule variance (SV) (SV=EV-PV).

There is a very basic and important difference between PV and EV that is the time they

are recorded. PV is recorded when work is planned to be completed while EV is

Page 35: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

18

recorded when work is actually completed. If work is completed at a different time from

when it was planned to be completed, then a “schedule variance” is identified. Figure

2-2 given below illustrates an adverse schedule variance because cumulative PV exceeds

cumulative EV. The figure also illustrates a “cost variance” since AC exceeds EV.

Figure 2-2 Key values of EV method

These two variance values, the CV and SV, can be converted to efficiency indicators to

reflect the cost and schedule performance of any project. The cost performance index

(CPI=EV/AC) is the most commonly used cost-efficiency indicator. The cumulative CPI

(the sum of all individual EV budgets divided by the sum of all individual ACs) is

Now

BAC

EAC

AC

PV

EV

Cost

Months

Page 36: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

19

widely used to forecast project costs at completion, estimate at completion (EAC). Also,

the schedule performance index (SPI=EV/PV) is sometimes used in conjunction with the

CPI to forecast the project completion estimates.

Both CPI and SPI are quantified against a 1.0 performance standard as is displayed

below in Figure 2-3.

Figure 2-3 Quantification of SPI and CPI

These two performance indices become available early in a project’s lifecycle, as early

as the 15-20 percent point of completion. Beach [17] mentions that documented

empirical data collected from over 700 Department of Defense (DoD) contracts supports

the hypothesis that as early as 15 percent completion point in a project the indices can be

used to predict the final costs and time requirements within a predictable range of values

(as cited by Fleming and Koppelman [18]).

1

+

-

Plan = 1.0

> 1.0 Good

< 1.0 Poor

Page 37: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

20

Another important advantage of employing an earned value system is its ability to

quantify how much of the originally scheduled work has been physically performed, at

any point in time. The central issue is being able to assess whether a given project is on

schedule, ahead of schedule, or behind the schedule.

Fleming et al. [18] state that the two performance indices provide an accurate

assessment of the true status of a project. As early as at the 20 percent completion point

of a project, the cumulative CPI has been found to be stable, and the measurements

provided can be used not only to assess the true cost performance status but also to

statistically predict the final range of costs for a given project.

Studies carried out in United States Air Force Institute of Technology (AFIT) are

attributed to be instrumental in extending the scientific knowledge that began in the

DOD. Christensen, cited by [18], states that:

Using data from completed Air Force contracts, Christensen/Payne established that the cumulative CPI did not change by more than 10 percent from the value at the 20 percent contract completion point. Based on data from the Defense Acquisition Executive Summary (DAES) database, results indicate that the cumulative CPI is stable from the 20 percent completion point regardless of contract type, program, or service.

Thus, this study scientifically verified the utility of the cumulative CPI, based on its

stability as a performance metric.

Christensen and Ferens [19] mention that DoD has been using EV since 1967 for

monitoring performance on defense contracts. They also discuss the relation between

Cost/Schedule Control Systems Criteria (C/SCSC) and EV. C/SCSC includes 35 generic

standards that establish minimal standards for the contractor’s existing planning,

Page 38: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

21

budgeting, accounting, and analysis systems and EV is usually implemented with

C/SCSC in DoD. However EV does not require C/SCSC.

Fleming et al. [18] tried to identify what must be done to implement earned value

management in order to help practitioners. Their suggestions were all in parallel with

C/SCSC which requires all the work on a contract to be budgeted and scheduled. To

accomplish this after the definition of project scope and construction of WBS, all the

work on contract must be subdivided to the levels where work is to be performed, called

as “work packages”. Once the work packages are determined, the budget for each work

package is then spread through the life of the work package. These time phased budgets

for all work packages become the basis for periodic BCWS, BCWP and performance

measurement baseline. Proper time-phasing of budget is thus critical to the planning of

BCWS and the subsequent measure of BCWP.

There are different methods used for time phasing the budget [18]. Some of these

methods are as the following:

1. Weighted milestones

This method is suitable when work packages exceed a time span of three or more

months. Milestones are established within the duration of the work package to reflect

the work and each milestone is assigned a weighted value. Then the total work

package budget is divided up among the milestones based on the weighted values

assigned. The apportioned budget value of each milestone is earned on completion of

the event. This method is accepted to be the most difficult method to plan and

administer.

Page 39: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

22

2. Fixed formula by task:0/100; 25/75; 50/50

This method requires very detailed and short-span work packages to successfully

make it work. There are some variations of the method like 0/100, 25/75 or 50/50.

The 0/100 method is most suitable for work packages that are scheduled to start and

be completed in one accounting month. In this method nothing is earned when the

activity starts, but 100 percent of the budget is earned when completed.

Similarly fifty percent of the planned value is earned when the activity is started and

the balance is earned when the effort is completed in the 50/50 method.

3. Percent Complete Estimates

This method is defined to be the easiest to administer among all the methods.

However it is also the one most subject to management pressure and individual bias.

Because this method allows the person in charge of the work package to make

monthly estimations for the percentage of work completed instead of pre-defined

objective values.

Besides these there exist some other methods such as equivalent completed units, earned

standards and level of effort.

Subsequent to establishing a performance measurement baseline using the methods

defined above, the process of monitoring performance and forecasting final results starts.

The most compelling reason to employ EV management is its ability to provide

management with realistic final cost estimates for the project during this process.

Page 40: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

23

There exist different methods developed for statistically forecasting the final estimated

costs at completion (EAC) on a project using earned value data. However as also

mentioned by Fleming et al. [18], most typically center upon three performance

variables as of any point in time in the project’s duration:

1. The value of the project work remaining: This value denotes the uncompleted

tasks ahead and typically measured as the total project budget, the budget at

completion BAC, less the earned value accomplished;

2. The work remaining: This value is calculated by dividing the value of the project

work remaining (1) by a performance efficiency factor. The cumulative CPI, or

the CPI times SPI, or some combination of the two indices is usually used as the

divisor performance index;

3. Total of actual costs incurred to date

The most common and respected of all statistical methods for forecasting the final cost

is the “Cumulative CPI” estimate at completion (EAC). The formula for this method is

as the following [18]:

EAC = (Total Budget-Earned Value) / Cumulative CPI + Actual Costs

As seen from the formula this method incorporates the three variables discussed above.

“This statistical formula is the one that has the most scientific data accumulated to

support its reliability among the forecasting tools.” This method emphasizes the use of

Page 41: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

24

cumulative CPI, not the periodic or incremental data is suggested due to the fact that

periodic performance data are too subject to anomalies. However cumulative

performance data trends to smooth out these variations but preserve its value as a long-

term forecasting tool [18].

Fleming et al. [18] point a discussion on the use of this formula. The discussion is on the

issue that whether cumulative CPI/EAC formula represents the very “minimum” or the

“most likely” final estimate of project costs. In spite of the discussion on the final cost

estimate it represents, the cumulative CPI has been proven to be most accurate in

providing a quick statistical forecast of the final project costs.

To sum up, CPI is a useful index to quickly forecast an estimate of final costs at

completion. The underlying assumption is that after the time where CPI stabilizes, the

project will complete all the remaining work at about the same efficiency factor and

validity of this assumption has been proven by studies of hundreds of projects.

Fleming et al. [16] mention the confidence the Department of Defense has in the

reliability of the cumulative CPI as a predictive tool. As a result of this confidence they

have included a requirement in their acquisition policy document that states that service

project managers must justify any final cost forecast lower than that produced with this

CPI formula since 1991.

Another statistical formula for predicting final project costs is “Cumulative CPI times

SPI” estimate at completion. This formula also has wide acceptance and the only

difference from the previous one is that; it combines both the cost (CPI) and schedule

(SPI) efficiency factors.

Page 42: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

25

The formula suggested by this method is as the following [18]:

EAC = (Total Budget – Earned Value) (Cumulative CPI x SPI) + Actual Costs

In spite of its wide acceptance there is a similar discussion about this formula with the

former one. Again some people consider this formula to be a “worst case” formula,

while others consider it to be the “most likely” model.

The rationale behind using this method is that projects do not like to be in a position of

establishing a performance plan and then falling behind their authorized plan. When a

project is behind its schedule there is a natural human tendency to want to get back on

schedule, even if it means spending more to accomplish the same amount of planned

work [18].

Consequently although it is possible to use a single point estimate, it is also possible to

create a range for the final cost estimate using the two formulas discussed above when a

project is behind its schedule. This concept is displayed in Figure 2-4, reflecting a range

of “low-end” and “high-end” final cost forecasts.

Page 43: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

26

Low End

High End

Earned Value Statistical Cost Estimate Range

Project Budget

Time

$

15% Complete

Figure 2-4 EAC range

EAC calculated with the “Cumulative CPI” estimate at completion (EAC) formula

constitutes the low end for the final cost range while the EAC calculated using the

“Cumulative CPI times SPI” estimate at completion constitutes the high end.

To sum up with the use of two earned value indices, CPI and SPI, it is possible to

estimate the final cost requirements for a project enabling the management to make the

decision of whether it is necessary or not to take any steps to mitigate the final results.

Page 44: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

27

2.2.2 Studies on the Utilization of EVM for Control and Performance

Measurement of Software Projects

Christensen et al. [19] indicate the fact that despite the established utility of the earned

value method, its use on software development projects has not been widespread. They

propose the use of earned value on software development projects and focus on metrics

to be used to plan BCWS and measure BCWP and ACWP in their paper. They propose

some metrics and discuss the relevance of each to the earned value approach.

Solomon [20] offers some suggestions about using earned value to manage software

development projects. He identifies the objectives to be met in a software project as

technical, schedule and cost objectives. Planning phases are divided into four as

requirements, design, coding (including unit testing) and integration testing. He tries to

define the best metrics and earned value techniques to measure progress in each phase.

Finally he concludes that “earned value should be based on requirements and

achievement of functionality throughout the software development life cycle, rather than

on discrete metrics for each phase which may not accurately reflect the overall progress

of the project”.

Fleming and Koppelman [21] also point earned value as a powerful tool for managing

software projects and list the 10 musts to be followed for capturing the critical essence

of the earned value concept and enhancing the management of projects.

Lipke and Vaughn [22] have conducted a study for employing earned value for

controlling software projects. They showed statistical control (SPC) charts to have a

Page 45: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

28

practical application to the EV indicators, cost and schedule performance indices and

merged SPC with EV indices.

The review of literature shows that project scheduling has received considerable

attention and numerous studies have been carried out on this topic. These studies were

mostly on manufacturing and construction industries. However software development

differs from these industries in that software projects are human resource critical.

Resource capability and compatibility issues must be taken into account in scheduling a

software project. The ignorance of this issue by contemporary project management tools

turns out to be a shortcoming for them. Besides this, studies about project scheduling

generally focus on time span of the project. However organizations mostly aim to

maximize profit. Therefore cost of a schedule is as important as the project completion

time. Realizing all these facts motivated us for developing a scheduling system that

takes resource capability and compatibility issues into account and aims to minimize

development costs.

The review of literature also showed that utilizing a good scheduling tool could enable

the project manager to develop a good plan but this might not guarantee success. It is

also necessary to monitor and measure progress in order to detect deviations from the

plan and decide whether any corrective action is necessary or not. There already exists

an internationally recognized method for this purpose, that is EV method, but this

method has not been widely applied on software development projects. Seeing this fact

directed us towards studying on how to use the EV method with the scheduling system

we developed.

Page 46: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

29

CHAPTER 3

PROBLEM DEFINITION and SOLUTION METHODOLOGY

In this chapter, firstly the problem subject to this thesis study is presented with its

general form and also approached from different perspectives so as to clarify the main

characteristics and the assumptions of the problem.

Consequent to defining the problem, solution approach developed is introduced and

results of studies performed on sample projects are presented.

Finally the software developed for automating and implementing the solution approach

is presented.

3.1 The Scheduling Problem

The problem subject to this thesis study is a RCPSP and can be defined as follows with

its most general form:

Given

A project that consists of a set of activities;

A set of teams to execute the activities;

Page 47: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

30

A set of constraints to be satisfied and

An objective to judge a schedule’s performance

What is the best assignment of teams to activities that will produce the best objective

while satisfying all the constraints?

Main characteristics and assumptions of the problem are as the following:

Project is accepted as complete when all the activities constituting the project are

completed.

Network diagram of the project is not cyclic

Teams may overlap, in other words two different teams may contain one or more

individuals in common.

Overlapping teams cannot be working at the same time.

Execution time of each activity varies depending on the team assigned to it.

Estimations on how long the execution of each activity would take with each

team are made prior to the scheduling phase.

Complexity of the activities, skill and expertise levels of teams are taken into

account while making the activity duration estimations.

A task can not be started unless all of its predecessors are completed,

Activities can not be interrupted,

Only one team can be working on an activity, and a team can be working only on

one activity at a time.

Page 48: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

31

In sections 3.1.1, 3.1.2 and 3.1.3 below the problem is viewed separately from activities,

teams, constraints and objective perspectives in order to better clarify the problem.

3.1.1 Activities

Activities have estimates of duration and the estimates depend on the knowledge and

skill levels of the team executing the activities.

Cost of an activity is dependent upon the team assigned to it since each team completes

the activity in different durations and has a different direct labor rate.

An activity once begun may not be stopped nor may the team assigned be changed until

the task is completed.

Activities have precedence constraints and an activity can not be started unless all of its

predecessors have been completed.

3.1.2 Teams

Teams may be defined as the resources used and required for the execution of activities.

Resources may be renewable or nonrenewable and the teams are of type renewable

resources since they are available each period without being depleted.

A team may be consisting of a single or many individuals, therefore teams vary in

capability and cost due to the variances among individuals. The duration estimations for

each job are made by taking the skill variances of individuals in different teams into

consideration.

Page 49: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

32

Teams are available in all periods and are allowed to be working on only one activity at

a time.

As mentioned earlier teams consist of one or more individuals and therefore teams may

be overlapping, meaning two or more teams may be including one or more individuals in

common. Such teams can not be working at the same time.

3.1.3 Objective

Performance of a schedule is judged based on the “cost at completion” of the project.

Cost at completion is the total costs incurred when the project is completed; and the

project is accepted as complete when all the activities constituting the project are

complete.

Three main drivers of the cost for the project are:

i) Direct Labor Cost: Each individual has a direct labor rate and is paid according

to this rate for each unit of time he/she works for the project. Teams consist of

individuals and direct labor rate of a team is the sum of the direct labor rates of

the individuals constituting the team. Thus the direct labor cost to be incurred for

the project turns out to be:

(Direct Labor Cost) project = ∑i

ii rt *

Where ti denotes the length of time that team i works for the project, while ri

denotes the direct labor rate of team i.

Page 50: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

33

ii) Indirect Costs: For each unit of time the project continues to be conducted,

indirect costs are incurred with a rate called “indirect cost rate”. This rate is

constant throughout the project and is independent of the tasks being executed at

a specific point in time or the teams working on these activities at this time. It

contains the costs like rent of the project office, secretariat costs and other

support personnel’s costs. Thus it is possible to say that the longer the project

lasts, the higher are the indirect costs to be incurred. So the indirect costs to be

incurred for the project turns out to be:

(Indirect Cost) project = (Project Duration) * (Indirect Cost Rate)

iii) Penalty Cost: Project has a due date which has been agreed upon and tied with

the contract. In case the project is completed beyond the due date, the contractor

has to pay a penalty for each unit of time the project is late. The amount of

penalty cost to be incurred for each unit of time the project is late is called as"

penalty cost”.

Consequently, objective is to find the schedule that minimizes the total cost at

completion for the project while satisfying all the constraints.

Page 51: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

34

3.2 Solution Approach

3.2.1 Problem Formulation

Integer Programming (IP) has been utilized for the formulation of the problem. IP is

among the widely used exact solution methods of RCPSPs and the major problem with

the use of IP is the long solution times. Being aware of this fact a heuristic method has

also been developed which helps in shortening the solution times of the IP models.

Objective and the constraints have been defined with IP methods. Constraints define the

feasibility of a schedule whereas the objective defines the optimality of the schedule. A

feasible schedule is a schedule that satisfies all the constraints. However an optimal

schedule not only satisfies all the constraints but is also the best one among all feasible

schedules. Goodness is defined by the cost at completion produced by the schedule; the

lower is the cost the better is the schedule. So, optimum schedule turns out to be the

feasible schedule which has the least cost at completion.

The IP developed is as the following:

j = Activities, 1...m

k = Resources, 1...n

T = Total number of periods, i.e. the upper bound for the project completion time

t = A specific point in time in period [1, T]

sk = Direct labor rate of team k

I = Indirect cost rate for the project

Page 52: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

35

L = Time limit, exceeding which will cause penalty cost to be incurred for each

exceeding week, for the project

y = Binary variable, y=1 if project is completed earlier than L, y=0 otherwise

P = Penalty cost rate that will be incurred for each unit of time exceeded L

B = A very big integer

K = Total penalty cost to be incurred if the time limit L is exceeded

Cjk = Completion time of activity j by team k

Cjkt is 1 if activity j is completed by team k on time t; 0 otherwise

Xjkt is 1 if team k is working on activity j on time t, 0 otherwise

pjk = Processing time of activity j by resource k

P(j) = Predecessor set of activity j

H (k) = Set of teams that can not work simultaneously with team k

M = Objective function

∑k

Mmin

Subject to

1)∑ =tk

jktC,

1 j∀

Page 53: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

36

This constraint will ensure that each activity will be completed by only one team at a

time t.

2) ∑=

=Tt

jktjk CtC...1

* kj,∀

This constraint is for the calculation of completion times of the activities. As only one

Cjkt in the summation will take the value 1, its multiplication with t will give the

completion time of activity j by team k that is Cjk.

3)∑ ∑∑ +≥k tk

jktjkkz

zkjk CpCC,,

)*( )(, jPzj ∈∀

Third constraint defines the precedence relations among the activities. As Cjk denotes

the completion time of activity j on team k and will be nonzero only for the team k that

completes it, summing Cjk’s over teams will give the completion time for activity j. This

completion time must be greater than or equal to the sum of processing time of activity j

and completion time of any activity in its predecessor set.

4) ∑−+=

=1, pjkttujkujkt CX tkj ,,∀

This constraint ensures that a team k can be working on an activity j at time t if and only

if activity j is completed by team k in period [t, t + pjk - 1].

5) ∑∑∈

≤+)(,

1kHej

jetj

jkt XX tk,∀

This constraint avoids overlapping teams from working at the same time.

6) 1...1

≤∑= nj

jktX tk,∀

Page 54: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

37

6th constraint ensures that a team k will be working on one activity at a specific time t.

7) MKCIXsk

mktkj

jktk =++∑∑ **,,

Constraint 7 is the constraint where the objective function M is determined. M consists

of 3 cost elements:

Direct costs

Indirect costs

Penalty cost if exists.

The first summation term in the constraint calculates the direct costs by multiplying all

the Xjkt variables in the model with direct cost rate (sk) of the corresponding team k.

Thus if a team k works on an activity j at time t, related cost is included in M.

Second summation term in the constraint calculates the indirect cost for the project. “I”

denotes the indirect cost rate for the whole project. Cmk denotes the completion time of

the last activity of the project or completion time of the whole project in other words.

Since it will be determined which team will complete this activity by the model, Cmk

term was summed over teams k. Cmk will take a value only for the team k that executes

activity m and will be 0 for all other teams.

The last term of the summation is K which represents the penalty cost and calculated via

constraints 8 and 9.

8) ByLCk

mk *)( ≤−∑

Page 55: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

38

9) yPLCPKByk

mk **)(**)1( −≥+− ∑

Constraints 8 and 9 together calculate the penalty cost to be incurred in case the

predefined due date L is exceeded. By constraint 8 it is determined whether the

completion time of the project ∑k

mkC )( exceeds the due date L or not.

There are two probable cases for the completion time:

Case I) Completion Time Exceeds L (Penalty Cost Exists)

In this case since the left part of the equation in 8 will be positive, y will have to

take the value of 1 for the inequality to be satisfied. Then, equation 9 will take

the form of PLCPKk

mk *)(* −≥ ∑ . Since K is a part of objective M in

constraint 7, model will try to minimize K and K will be ∑ −=k

mk LCPK ))((* .

Thus the penalty will be calculated.

Case II) Completion Time is earlier than L (No Penalty Cost)

In this case since the left part of the equation 8 will be negative; the inequality

will be satisfied for both values of y, 0 or 1. However since the model will try to

minimize K, y will be 0 because of constraint 9. Because if y gets the value 0

constraint 9 will take the form of ∑≥+k

mkCPKB )(* and since the objective is

minimizing M, K will get the value 0.

Page 56: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

39

The number of variables and constraints to be generated for a problem with the above

formulation is as the following:

Number of Variables: (m * n) * (2 * T +1) + 3

Number of Constraints: m * n* (1+T) + T * (n+ TC) + PC + m+3

Where:

m: Number of activities

n: Number of teams

T: Length of discrete time to be covered by the model

PC: Number of precedence constraints

TC: Number of team pairs that can not work at the same time

Problem formulation presented above is a discrete time IP model. Time is divided into

time units of equal length and t denotes a specific point of time in period [1, T]. The

optimum schedule can be presented with a matrix of time, team and activity, which

denotes which team will be working on which activity for all t from 1 to T. The model is

presented with black box representation in Figure 3-1 below.

Page 57: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

40

MODEL

Teams (Resources)

Constraints

Activities

Cost ParametersT

Optimum Schedule

Figure 3-1 Black box representation of the model

As seen from the figure the model takes teams, activities, constraints, cost parameters

and upper bound for the completion time (T) as input and produces the optimum

schedule if exists for the inputs taken. It is important to figure out the difference between

T and due date of the project. The due date is just a problem parameter; however T

denotes the length of the time horizon the model will search for solutions. An optimum

schedule is the one by which the project is completed with the minimum cost. Any

schedule that allows the project to be completed within T units of time while meeting all

the constraints is a feasible schedule, and the one with the minimum cost is the optimum

schedule. In other words the model looks for the optimum schedule among the schedules

with a completion time less than or equal to T. Although the solution found is optimum

for that value of T, it may just be a local optimum, not the absolute optimum for the

problem. Since T constitutes the search space for the model; the solution will be the

optimum among the solutions that produce a completion time less than or equal to T.

Thus value of T turns out to be an important decision to be made before constructing a

model.

Page 58: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

41

0

5

10

15

20

25

30

20 25 30 35 40 45 50 55 60

T

Cos

t ( X

100

0$)

An example is provided below with the aim of giving a better and more concrete

understanding of this situation.

Figure 3-2 Cost at completion versus T

Cost at completion of a sample project is graphed in Figure 3-2 with time at horizontal

axis. There are feasible solutions at T = 30, 35, 42, 45 and 55. If a model was

constructed with an input T = 40, the optimum schedule would be the one at T = 30

which has a cost at completion of 10.000 $. As could be seen from the graph there are

two feasible schedules at T = 30 and T = 35 with a completion time less than T = 40.

Since the solution at T = 30 has the minimum cost at completion value among these

solutions, it turns out to be optimum for an upper bound of T = 40. In spite of the

existence of a solution at T = 45 with a cost less than the one at T = 30, it could not be

Page 59: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

42

Tinf

Solution Time

Topt

topt

T

Feasible Solutions but not

optimum

No Feasible Solutions

Optimum Solution is Achieved

achieved since this solution occurs beyond the upper limit of T = 40. A numeric example

about this issue has also been provided in Section 3.3.

In fact all instances of the problem defined in its general form in Section 3.1 have an

absolute optimum schedule which gives an absolute minimum cost at completion

(CAEabsmin) at a completion time of T'. It is certain that the optimum solution is achieved

when the model is constructed with an upper limit large enough to include T'. It is

possible to ensure that the absolute optimum solution will be achieved by giving a very

large upper bound value of T'' >> T'. A trade off is faced at this point:

Giving a very large upper bound input to the model ensures achieving the

optimum schedule, however lengthens the solution time considerably,

Giving a small upper bound shortens the solution time while increasing the risk

of leaving the optimum schedule’s completion time beyond the upper bound.

Figure 3-3 Solution time versus T

Page 60: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

43

Figure 3-3 given above illustrates the variation of solution time of models generated

with varying upper bounds denoted with T. There exists no feasible solution for upper

bound values less than Tinf. Completion time of the optimum solution is Topt and there

exist other feasible solutions for upper bound values between Tinf and Topt. Solutions

achieved for an upper bound value within the range [Tinf, Topt) are all just feasible

solutions but not the optimum, therefore they are out of consideration. Thus, an upper

bound value less than Topt hinders achieving the optimum solution.

It is seen from the graph that to be able to achieve the optimum solution the IP model

must be constructed at least with an upper bound value of Topt, which is equal to the

length of the optimum schedule. Such a model is solved in topt units of time and the

solution time has a trend of increase as upper bound value goes further from Topt.

Numeric examples about this issue have also been provided in Section 3.3.

To sum up T is a very crucial input for the model that can affect the result as well as the

solution time. Seeing this criticality of T, a method/heuristic has been developed for

calculating a value of T that guarantees achieving the absolute optimum within an

acceptable solution time.

3.2.2 Heuristic Approach

As it was stated in previous section, while constructing the model with an upper bound

value smaller than Topt hinders achieving the optimum solution, constructing with an

upper bound value much larger than Topt results in long solution times.

Page 61: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

44

In this section, a heuristic method is presented for calculating an upper bound that will

ensure achieving the absolute optimum within an acceptable solution time. A study has

been carried out on sample projects to see to what extent an improvement does the

heuristic provide in solution times. Results of this study are available in Section 3.3.

3.2.2.1 Heuristic Algorithm

How to apply the heuristic defined in the former section is described in steps in this part.

Step 1 - Number each activity from the first to the last activity of the project. Start

numbering from the first activity, then pass to its immediate successors and

number all the activities in the network by this way. For an activity to be

numbered all of its predecessors must have already been numbered. The aim of

this step is to define a priority rule for the activities. It is also possible to use

other priority rules.

Step 2 - For each activity determine the cost of execution by each team. The costs to be

taken into account while determining total cost of a job are:

Direct Cost

Indirect Cost

Penalty Cost

Then the cost of execution of activity J by team T turns out to be:

Cost = P * (WDLR + WICR + WPC)

Page 62: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

45

Where WDLR = Weekly direct labor rate of team T

WICR = Weekly indirect cost rate for the project

WPC = Weekly penalty cost for the project

P = Processing time of activity J by team T

Step 3 - For each activity, determine the team executing that activity with the least cost.

Step 4 - Starting from the first activity, assign each activity to the team that executes it

with the minimum cost and locate on a time scale in the order determined in

Step 1. While making the assignments, all the activities are assumed to be

executed in sequential order without any parallelism.

Step 5 - Taking the real precedence relations of the project network and the resource

capacities shift the activities on the time scale. Start shifting from the first

activity of the sequential schedule, continue according to the order of activities

in the schedule constructed in Step 4 and assign each activity’s start time to the

earliest possible time. Parallel the ones that can be done in parallel in order to

shorten the time span of the project without changing any assignment.

Step 6 - Control the finish time of the project. If it is later than the time limit determined

for the end of the project, stop. If it is earlier than the time limit, return to step

2, and repeat the steps 2-6, however omit the penalty cost this time.

Page 63: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

46

3.2.2.2 Justification of the Heuristic Algorithm

Assume after the execution of the above algorithm that, the project is completed in T

units of time with a total cost of C. After any change in the assignment matrix the

completion time becomes T' and cost becomes C'.

After such a change it is certain that if T' is larger than T; then C' will be larger than C.

There can be two cases that can extend the completion time of the project from T to T':

i) The assignments are not altered, but the finish time is extended by postponing some

activities by inserting breaks where no work is performed.

In such a case, it is straightforward that the cost at completion will increase due to the

increase in indirect costs and/or the penalty cost.

ii) Project completion time is extended by altering the assignments.

A project network may have many paths (at least 1) from the source to the sink and the

longest path, which is called as the critical path, determines the completion time of the

project. As critical path determines the completion time of the project, assignments must

be changed in such a way that the length of critical path must be extended. This can

occur in two ways:

i) Length of readily available critical path is extended

ii) Any other path’s length is extended to the manner that it exceeds the length of critical

path, and it becomes the critical one.

Assume after applying the steps defined in Section 3.2.2.1 activity i is completed in ti

units of time with a cost of Ci. Such an assignment change in i is made that the

Page 64: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

47

completion time of the project is extended due to one of the two reasons defined above

and completion time of i becomes ti' while the cost becomes Ci'. For this change to

decrease the total cost at completion, following conditions must be satisfied:

ti' > ti and Ci' < Ci

However as the heuristic assigned activity i to the team that executes it with the

minimum cost such a change will always result in a Ci' that is larger than Ci.

To sum up, a schedule is generated by applying the heuristic which completes the

project at time theuristic with a total cost at completion of Cheur. As seen from Figure 3-4

below any schedule that completes the project later than theuristic results in a cost at

completion greater than Cheur. Since optimum schedule will produce a cost at completion

less than or equal to Cheur, optimum completion time will be earlier than theuristic and will

stay in the search space of the model generated with an upper bound of theuristic.

Figure 3-4 Cost at completion versus project completion time

theuristic Project Completion Time

Cheur

Cost at Completion

Page 65: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

48

3.3 Examples

In this part, discussions in the former part are reconsidered and numeric examples for

each of them are presented.

3.3.1 Effect of T on Results

First discussion of the former part was about the importance of upper bound for the

completion time of the project (T) which was utilized in IP model development. It was

stated that the magnitude of T could even affect the result to be achieved since feasible

schedules whose time spans are larger than T would not be taken into account while

searching for the optimum. In other words choosing a small T may result in achieving a

local optimum solution instead of the absolute optimum.

A study has been carried out on a sample project consisting of 15 activities and 3 teams.

Activity durations, precedence relations and cost parameters of the project subject to this

study are available in Tables 1 to 3 in Appendix A. It was aimed to show the effect of T

on the result by this study. Therefore two separate IP models have been generated for the

same project with different T values. First model was generated with a T value which is

certain to be larger than the time span of the optimum schedule. Such a T value was

determined with the following method:

It was assumed that all activities are executed consecutively, and each activity is

assigned to the team that completes it in the longest duration. Under these

circumstances completion time of the last activity gives the T value that is certain to be

greater than or equal to the time span of the optimum schedule since each activity was

assigned to the team that executes it in the longest duration.

Page 66: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

49

An example for the application of this method is provided below in Figure 3-5.

Actually the schedule developed by this method is a feasible schedule and it is possible

to construct feasible schedules with longer time spans than this one only by inserting

time lags between the consecutive activities. However these time lags will not have any

effect except increasing the total cost due to project indirect costs and penalty cost.

The network diagram denotes the activities and precedence relations

among the activities while the table shows the execution times of

activities separately by teams A and B.

Applying the method discussed above results in such a schedule:

Team: B A B A

Duration: 15 12 16 7

Project Completion Time: 15 + 12 + 16 + 7 = 50

Figure 3-5 Use of the method on a small sample project

TEAMS A B 1 10 15 2 12 9 3 13 16

AC

TIV

ITIE

S

4 7 4

1

2

3

4

1 2 3 4

Page 67: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

50

So it is sure that any feasible schedule that has a time span longer than the one

developed with the above method will result in a greater cost at completion. Since the

optimum schedule will have a cost at completion less than or equal to this schedule, the

optimum schedule will not have a time span longer than it.

The T value determined for the 15 activity sample project by this method was 64 weeks.

The other T value was chosen to be 22 weeks. So two separate IP models have been

generated for these two values of T and the results achieved by solving the two models

are as the following:

Table 3-1 Sample Case I

INPUTS OPTIMUM SOLUTION

T Problem Parameters Time Span Objective Model 1 22 weeks 22 Weeks 824 $ Model 2 64 weeks

Same Problem 23 Weeks 817$

Details of these solutions are available in Tables 4 and 5 in Appendix A.

As displayed in Table 3-1 above, the first model generated with an upper bound value of

22 weeks resulted in a schedule which has a time span of 22 weeks and cost at

completion of 824$.

However second model generated a schedule which has a cost at completion of 817$ and

a time span of 23 weeks. Although the time span of this schedule is longer than the first

one, it has a less total cost at completion. Therefore the second schedule is better than

Page 68: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

51

the first one. This solution has a time span of 23 weeks, so it was beyond the search

space of the first model since it had an upper bound value of 22 weeks for the project

completion time.

To sum up, the decision on the value of T is crucial as it may hinder achieving better

schedules.

3.3.2 Effect of T on Solution Time

Second discussion of Section 3.2 was about the affect of T on solution time. It was

stated that although using large values of T ensures achieving the absolute optimum, it

would lengthen the solution time considerably.

A new study has been carried out using the sample project in Section 3.3.1 to show the

effect of T on solution time. Activities performed in this study were as the following:

Several IP models have been generated for the same sample project by increasing

the value of T in each model.

Then these models have been solved using the same solver and same computer

Solution times have been recorded

Results of this study are available in Table 3-2 below. The solution times were recorded

on a machine, which has a CPU of Intel Pentium IV 1.6 GHz. and 256 MB of RAM,

running CPLEX 8.1 software over the Windows NT 4.0 operating system.

Page 69: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

52

Table 3-2 Effect of T on solution time

Experiment T (weeks) Sol Time (sec.) Objective ($) 1 23 17.34 817 2 25 37.71 817 3 26 38.75 817 4 27 40.04 817 5 28 33.85 817 6 29 70.78 817 7 30 115.51 817 8 31 72.11 817 9 32 98.13 817

10 35 119.55 817 11 40 152.64 817 12 45 139.26 817 13 50 255.17 817 14 55 242.53 817 15 60 294.57 817 16 64 787.65 817

As it could be seen from the table, 16 separate models, which have T values varying

from 23 to 64, have been generated for the project. The value of 64 has been determined

via the method presented in section 3.3.1. Solving the model, which has a T value of 64,

resulted in a schedule which has a time span of 23 weeks and cost at completion of

817$. So the lower end value has been determined by this way as 23. Other T values

have been spread between the values of 23 and 64. As expected all the models resulted

in the same solution which has a cost at completion of 817$ and details of the solution

are available in Table 1 in Appendix B.

Page 70: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

53

0

25

50

75

100

125

150

175

200

225

250

275

300

23 25 26 27 28 29 30 31 32 35 40 45 50 55 60

T

Sln.

Tim

e (S

ec)

Figure 3-6 below illustrates the results of the study in graphical form. The graph better

illustrates the increase in solution time due to the increase in T.

Figure 3-6 T versus Solution Time

The longest solution duration recorded is 787.65 sec. and it was recorded for the last

model, which has a T value of 64. The shortest solution duration has been for the model

which has a T value of 23. It is seen form the table that the solution time increases with

T.

Although there are cases where a drop in solution time has been experienced between

consecutive points, a trend of increase is identified when the whole picture is taken into

Page 71: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

54

account. The drops are due to the algorithm utilized by CPLEX, which is the IP solver

used to solve the models.

3.3.3 Utilizing the Heuristic Algorithm with the IP Model

Third discussion of Section 3.2 was about the trade off between utilizing a large value or

a small value of T while generating an IP model. Discussions and examples in Sections

3.3.1 and 3.3.2 have also indicated this trade off.

As it was also stated in Section 3.3.1, it is possible to solve the models with short run

times by using a small T; however this brings the risk of achieving a local optimum

solution instead of the absolute optimum.

This risk forces to use large values of T, however Section 3.3.2 shows that big T values

means long solution times.

A heuristic approach has been introduced in Section 3.2 with the purpose of overcoming

this trade off. The heuristic was utilized for determining a T value that will shorten the

solution time while ensuring that the time span of the optimum schedule is included. A

study has been carried out to illustrate the effect of heuristic method on results and

solution times. Results obtained by this study are presented below in Table 3-3.

The study has been conducted on a total of 9 sample projects. These projects are

grouped into three. First three projects constitute the first, second three constitute the

second and the last three constitute the third group. Each project in the same group has

equal number of activities and teams available but has either different precedence

relations or activity durations. By this way it was aimed to eliminate any bias that could

Page 72: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

55

occur due to precedence relations or activity durations. Activity durations, precedence

relations and cost parameters of each sample project are available in Tables 1 to 15 in

Appendix C.

Then two T values have been calculated for each project, one by the heuristic method,

called as “Heuristic T”, and one by the method presented in Section 3.3.1, called as the

“Max. T”. Two separate IP models have been generated for each sample project with

these T values and solved by the same solver on the same computer. Solution of both IP

models, one generated with “Heuristic T” and the other with “Max. T”, were the same

for all projects and details of all the solutions, presented briefly in the below table, are

available in Tables 1-9 in Appendix D.

Table 3-3 Comparison of solution times

Group

# Project

# # of

Teams # of

ActivitiesHeuristicT (week)

Solution Time(sec.)

Objective ($)

Max. T (week)

Solution Time(sec.)

Objective ($)

1 25 37,71 817 64 787,65 817

2 26 73,27 823 64 1.051,32 823 1

3

3 15

30 242,92 755 72 1.961,28 755

4 26 13,83 795 71 198,23 795

5 28 11,03 797 71 165,77 797 2

6

4 15

30 28,23 771 77 738,75 771

7 38 359,01 1.257 90 12.123,59 1.257

8 39 4.698,25 1.276 90 24.305,43 1.276 3

9

3 20

38 291,71 1.259 90 3.030,93 1.259

The shaded three columns in the above table denote the “Heuristic T” value of each

project, solution time of the IP model generated with that T value and the objective

Page 73: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

56

achieved with the solution of the corresponding IP model. Similarly, the next three

columns show the “Max. T” value of each project, solution time of the IP model

generated with that T value and the objective achieved. As could be seen from the table

the same objective has been achieved with both models for all sample projects. This

shows that the T value calculated with the heuristic method was always big enough to

include the time span of the optimum schedule.

As it could also be seen from the table, solution times of the IP models generated with

“Heuristic T” are considerably shorter than the one generated with a T value of “Max.

T”. To be more specific it is 92 % shorter on the average.

To sum up, calculating the T value via the heuristic method presented in Section 3.2

considerably shortens the solution time of the IP model and eliminates the risk of

achieving a local optimum instead of the absolute optimum.

3.4 Computer Program for Generating IP Models and Heuristic

Solutions

In Section 3.2, a mathematical formulation for the problem in the form of discrete time

integer programming is given. As it was stated earlier, an upper bound for the discrete

time is needed for constructing a model based on this formulation. For this purpose a

heuristic algorithm is also proposed in Section 3.2.

In other words, the heuristic algorithm and the IP formulation work together for

constructing a schedule. The heuristic algorithm is applied first and result of the

Page 74: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

57

algorithm constitutes the “upper bound” input needed by the mathematical formulation.

Taking the upper bound input with other activity, resource, constraint and cost inputs an

IP model is constructed based on the formulation introduced. Finally solution of the

model produces the optimal schedule for the given inputs if exists.

As well as providing input for the formulation, the heuristic algorithm also produces a

schedule that results in a completion time equal to the upper bound.

A computer program that implements the heuristic algorithm and generates the IP model

has been developed within the scope of this thesis study. Besides generating an IP model

the program also

Checks whether the project network is cyclic or not,

Draws the network diagram of the project,

Constructs a schedule based on the heuristic algorithm and

Displays the heuristic schedule graphically.

Black box representation of the computer program is given below in

Figure 3-7.

Page 75: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

58

Figure 3-7 Black box representation of the scheduling system

As seen from the figure inputs for the scheduling system are:

Teams (Resources)

Constraints

Cost Parameters

Activities

Once the program takes these inputs, it first applies the heuristic algorithm and produces

two outputs:

Upper Bound for the Project Completion Time (T)

Heuristic Schedule

HEURISTIC

ALGORITHM

Teams (Resources)

Activities

Cost Parameters

Heuristic Schedule

Constraints Upper Bound

MATHEMATICAL FORMULATION

IP Model

C O M P U T E R P R O G R A M

Page 76: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

59

Heuristic schedule is graphically presented to the user on the user interface; and the

upper bound value is reprocessed with all the other inputs in order to produce an IP

model. Consequently second output of the system is the IP model solving which

produces the optimum schedule.

The program takes the inputs in two steps. Firstly general information about the project

to be scheduled is provided via the user interface given in Figure 3-8.

Figure 3-8 User interface snapshot I

The information consists of:

Number of activities and teams

Weekly indirect labor cost

Penalty cost

Maximum number of predecessors an activity can have

Time limit exceeding which results in penalty (due date of the project)

Page 77: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

60

Upon providing these inputs a structure for entering more detail about activities and

resources is constructed. Related interface is available below in Figure 3-9.

Figure 3-9 User interface snapshot II

Inputs provided via this interface are:

Direct labor rate for each team

Processing time of each activity by each team

Precedence relations

Page 78: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

61

Constraints about teams that are not allowed to work at the same time

Upper bound for the project completion time, that is an input for the IP formulation, is

calculated and a heuristic schedule is constructed by applying the heuristic algorithm

subsequent to getting the inputs. Figures given below illustrate the heuristic solution and

the network diagram for a sample project.

Figure 3-10 User interface snapshot III

Figure 3-11 User interface snapshot IV

Page 79: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

62

After the execution of the heuristic an upper bound value for the optimum schedule and

a heuristic schedule is obtained. In case the heuristic solution is not satisfactory, it might

be desired to seek for the optimal solution; therefore the scheduling system produces the

IP model for the given inputs. The optimum schedule is achieved by solving this model

using an IP solver. The solver utilized within this thesis study is CPLEX1.

1 http://www.ilog.com/products/cplex/

Page 80: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

63

CHAPTER 4

EARNED VALUE MANAGEMENT

This chapter is organized in two parts. In the first part, a method for planning and

measuring earned value is presented. The method takes the scheduling system presented

in Chapter 3 as basis.

EV method’s ability to provide management with realistic final cost estimates is may be

the most important and compelling reason for using it. Therefore some discussion on the

cost estimation methods and some extensions to these methods in order to capture the

needs of the problem studied in this thesis are presented in the second part of the

chapter.

4.1 Proposed Method for Preparing an EV Plan

Fleming et al. [18] identify 5 basic steps required to implement earned value

management:

1. Define the project scope, preferably with use of a Work Breakdown Structure (WBS)

2. Plan and schedule the project scope.

3. Form Cost Account Plans and budget them to specific functions.

Page 81: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

64

4. Establish and maintain a performance measurement baseline.

5. Monitor project performance and forecast the final results.

Steps defined above are all in parallel with C/SCSC which requires all the work on a

contract to be budgeted and scheduled. To accomplish this, after the definition of project

scope and construction of WBS, all the work on contract must be subdivided to the

hierarchy of activities, the leaf activities of which are called as “work packages”. A

work package must have three characteristics:

Technical content/scope of work

Schedule

Budget

The last two characteristics above are closely related with a scheduling system. After

subdividing the work in a contract into work packages, a scheduling system must be in

place in order to determine the schedule and budget for each work package. The relation

between the schedule of a work package and the scheduling system is straightforward.

However for determining the budget of a work package, a scheduling system is still

important as the budget will be dependent on the team assigned to the work package.

Thus it is possible to say that the earned value concept relies upon a project scheduling

system to provide the platform for project monitoring. When metrics to plan and

consume resources are added to the scheduling system, the EV plan will be in place. The

scheduling system presented in Chapter 3 will constitute the basis for the earned value

plan preparation method presented in this chapter.

Page 82: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

65

Once a schedule is constructed, it will be possible to determine the budget for each work

package. The schedule will provide information about when and by which team will

each work package be executed. Budget for each work package is accepted to be

consisting of the direct labor cost of the team that will work on it. Actually there may be

other costs like travel costs or procurements, but only direct labor costs are subject to

this study. After the determination of the budget, the basis for periodic BCWS, BCWP

and performance measurement baseline will be constructed by time phasing the

predetermined budget of each work package. Methods for time phasing the budget were

introduced in Section 2.2.1 and fixed formula by task (0/100) method is used in this

thesis study. As mentioned earlier this method is best applied to small/short span work

packages and the work packages subject to this study are assumed to be shorter than one

accounting month.

The proposed method can be defined in steps as the following:

Step 1 - Schedule the Project

After a contract has been divided into work packages these work packages are scheduled

using the method and model presented in Chapter 3. Once the scheduling has been done,

each work package will have a start and finish time and a team assigned as responsible

for the execution of the work.

Execution of this step will provide the information for:

Calculating PV of each work package

Expected time to earn the PV of work packages

Page 83: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

66

Step 2- Calculate the PV of Each Work Package

This step is the one where PVs of work packages are calculated. Metric designated to

measure the value of a work package is its budget.

Money paid to the team, which was assigned to a work package, constitutes the budget

for the corresponding work package. So PV of each work package will be calculated as

the following:

Planned Value = (Duration of the Work Package) x (Direct Labor Rate of the Team

Assigned)

When the budget for each work package is calculated, work packages will possess the

three characteristics, which were mentioned above, defined by C/SCSC.

Step 3- Prepare a Task List

A task list is a tabular representation where the information generated in the former two

steps are incorporated and actual costs and times are recorded on task basis. Preparation

of the task list is strictly dependent on the solution obtained from the LP model as the

times when a task will be initiated and completed are determined with the solution.

A sample task list is available in Table 4-1 below.

Page 84: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

67

Table 4-1 Task list

E S T I M A T E D A C T U A L

Task Desc. PV $

Start Week

Finish Week

AC $

Start Week

Finish Week

t1 2.880 1 3 3.600 1 3

t2 2.160 4 5 2.340 4 5

As it could be seen from the table; columns of the table are grouped into two as

“estimated” and “actual”.

Source of the data in estimated columns is the schedule which has already been

developed. First column, “PV $”, indicates the apportioned PV of each job. Second

column shows the planned start time of a job. The last column of the expected columns

is the “Finish Week”, which indicates the expected finish time of a task, or in other

words the expected time to earn the PV in the corresponding row.

The actual columns hold information on the actual money spent on the task as well as

the actual start and finish times of each task.

A task list holds planned and actual values and times for activities and enables task

based analysis as well as constituting the basis for the preparation of an “EV Tracking

Table”.

Step 4-Prepare the EV Tracking Table

Fourth major step in preparing an earned value plan is constructing an “EV Tracking

Table” which will constitute the basis for monitoring and recording the PV, EV and AC

Page 85: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

68

on time basis. This table is prepared by taking a task list as basis and must span the

whole time period of the project.

This is the step where the budget for each work package is spread through the life of the

work package. These time phased budgets for all work packages become the basis for

periodic PV, EV and performance measurement baseline. Proper time-phasing of budget

is thus critical to the planning of PV and the subsequent measure of EV.

Besides time phasing the budget another essential point is that the same method be used

for both BCWS and BCWP for correct measurement of performance without any

distortion.

A sample “EV Tracking Table”, which corresponds to the task list in Table 4-1, is

available in Table 4-2 below.

Table 4-2 EV Tracking Table

E X P E C T E D ACTUAL

Week of Cum. PV ($)

Cum. EV ($)

Cum. AC ($)

1 0 0 0

2 0 0 0

3 2.880 2.880 3.600

4 2.880 2.880 3.600

5 5.040 5.040 5.940

As seen the columns of the table are grouped into two as expected and actual in the same

manner with the task list. However the first column denotes the weeks instead of the

Page 86: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

69

tasks now. Expected column holds the cumulative PV data which was time phased with

the 0/100 method. Analyzing the task list, it is seen that there are two tasks expected to

be completed in the 3rd and 5th weeks with PVs of 2.880 and 2.160 correspondingly. As

there are no tasks to be completed in the first two weeks the cumulative PV in these

weeks are 0. However as the first task is scheduled to be completed in the 3rd week, the

whole PV of this task is recorded in this week’s cumulative PV as 2.880. As there are no

tasks scheduled to be completed in the 4th week, the cumulative PV stays constant in this

week. In the 5th week the value increases to 5.040 that is the sum of PVs of the two tasks

since the second task was scheduled to be completed in this week.

There are two columns grouped as actual columns. The first of these columns is the

“Cumulative EV” column denoting the cumulative EV in each week. When a task is

completed, the whole PV assigned to the task is added to the cumulative EV in the week

it was completed. From the figure it is seen that both tasks were completed as planned,

therefore the cumulative EV is the same with the cumulative PV. Second column is the

“Cumulative AC” column. The records in this column are generated from the actual

costs incurred for the project up to and including that week.

Another requirement related to earned value method involves proper matching of AC

with EV. To facilitate the timely analysis of cost variances, AC should be recorded in

the same period that EV is recorded.

Whenever a task is completed, the actual costs incurred for the task is added to the

cumulative actual cost in the week it was completed. From the figure it is seen that both

tasks were completed by spending more than planned although they were completed

Page 87: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

70

timely. The first task was completed with a cost of 3.600 in week 3. Therefore a

cumulative actual cost of 3.600 has been recorded in this week. The second task was

completed in week 5 with a cost of 2.340. Therefore a record of 5.940 was created in

week 5 which is the sum of actual costs of tasks 1 and 2.

Step 5 - Monitor project performance and forecast the final results

A platform for monitoring and recording earned value has been established with the

execution of the previous four steps.

This step is the one where actual column of the tables constructed in the previous steps

are populated with data collected during project execution. Activities within the scope of

this step are initiated concurrently with the initiation of the project. As the project

continues actual data is collected and recorded in this step. These data constitute the

basis for the determination of the project status in budget and schedule perspectives and

estimation of the final cost.

As mentioned earlier earned value involves calculating three key values for each

activity, those are EV, PV and AC. Comparing the magnitudes of these three key values

gives idea about the status of the project. Relation between these three values can be

defined with the following equation:

EV=SPI x PV = CPI x AC

Page 88: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

71

Examining the equation; it is possible to say that when SPI=CPI=1, both schedule and

cost performance will exactly be equal to the planned values. However a CPI or SPI of

less than 1 will indicate a poor cost or schedule performance correspondingly and the

smaller is an index from 1, the poorer is the related performance. Besides comparing

each index with 1 separately, comparing the indexes with each other will also give an

idea about the relative goodness of cost and schedule performances. Figure 4-1 given

below demonstrates the possible positions of CPI and SPI with respect to each other.

Figure 4-1 PV, EV, AC comparison

Considering the comparison of EV, PV and AC and analyzing the chart it is seen that

there are 6 probable cases. Interpretation of each case is given in brief in the section

Page 89: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

72

below. As well as the interpretation, an example scenario which would cause each case

to come into existence has also been provided.

Probable cases and the sample scenarios are given below:

1. EV>PV>AC

This case can be interpreted as both the schedule and the cost performance are better

than planned. Such a case can occur when team/teams complete the tasks assigned to

them earlier than expected.

When the schedule and cost performances are compared; cost performance is better

with respect to the schedule performance.

Sample Scenario:

Plan: Task1 in 6 weeks by Team1 with a rate of 100 $/week,

Task2 in 6 weeks by Team2 with a rate of 10$/ week,

Task1 is the predecessor of Task2

Actual: Task1 in 5 weeks, Task2 in 1 week

At 6th week: EV=6*100+6*10=660 > PV=6*100=600 >

AC=5*100+1*10=510

All sample scenarios are in the same format with the one above and a scenario can

be interpreted as the following. A scenario consists of three parts: Plan, Actual and

analysis results at a week.

Page 90: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

73

The plan part shows that there are two tasks, Task1 and Task2, and there are two

teams, Team1 and Team2. Task1 was assigned to Team1 and Task2 was assigned to

Team2. Expected completion duration of Task1 by Team1 is 6 weeks, while the

expected completion duration of Task2 by Team2 is 6 weeks. Rates of the teams are

100 $/week and 10 $/week correspondingly. There exists a precedence relation that

shows that Task2 will be processed after Task1.

The actual part shows that Task1 has been completed in 5 weeks and Task2 has been

completed in 1 week.

Last part of the scenario shows the result of the analysis performed at the 6th week.

Since only Task1 was scheduled to be completed at 6th week, only Task1 is included

in PV calculation and it turns out to be 600. Both tasks are included in the EV

calculation as both were completed at 6th week. AC shows the actual money spent

for the execution of the tasks. Therefore the actual completion durations of the tasks

are included in AC calculation.

2. EV>AC>PV

This case is very similar with the first case; however the schedule performance is

better now with respect to the cost performance.

Sample Scenario:

Plan: Task1 in 6 weeks by Team1 with a rate of 10 $/week,

Task2 in 6 weeks by Team2 with a rate of 100$/week

Page 91: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

74

Task1 is the predecessor of Task2

Actual: Task1 in 5 weeks, Task2 in 1 week

At 6th week: EV=6*10+6*100=660 > AC=5*10+1*100=150 > PV=6*10=60

It must also be noted that the two cases discussed above can also be an indicator of a

poorly prepared plan. Especially if there is much discrepancy between EV and AC or

PV, the plan should be reevaluated.

3. PV>EV>AC

This case indicates poor schedule performance and good cost performance. Such a

case occurs when some tasks are completed later than planned but with a total cost

less than expected for all tasks.

Sample Scenario:

Plan: Task1 in 4 weeks by team1 with a rate of 100 $/week

Task2 in 4 weeks by team2 with a rate of 10$/week

Task3 in 4 weeks by team 2 with a rate of 10$/week

Task1 precedes Task2 and Task2 precedes Task3

Actual: Task1 in 3 weeks, Task2 in 9 weeks

At 12th week: PV=4*100+4*10+4*10 = 480 > EV = 4*100+4*10 = 440 > AC =

3*100+9*10 = 390

Page 92: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

75

As seen from the sample above, some tasks are completed later than planned while

some are earlier. However as earlier ones more than compensate the cost overrun

caused by late jobs; actual costs are less than planned.

4. PV>AC>EV

This case indicates both poor schedule and cost performance. In this case some tasks

are late or not completed at all, and the completed ones were completed with a cost

higher than expected.

Sample Scenario:

Plan: Task1 in 2 weeks by team1 with a rate of 10 $/week,

Task2 in 2 weeks by team2 with a rate of 15$/week,

Task1 is the predecessor of Task2

Actual: Task1 in 4 weeks,

At 4th week: PV=2*10+2*15=50 > AC=4*10=40 > EV=2*10 = 20

5. AC>EV>PV

This case indicates good schedule but poor cost performance. Such a case may occur

when some tasks are late and some are early. The early tasks dominate the schedule

performance and more than compensate the lateness caused by late tasks. However

the vice versa is valid for cost performance.

Page 93: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

76

Sample Scenario:

Plan: Task1 in 6 weeks by team1 with a rate of 10 $/week,

Task2 in 6 weeks by team2 with a rate of 100$/week

Task1 is the predecessor of Task2

Actual: Task1 in 1 week, Task2 in 7 weeks

At 6th week: AC=1*10+7*100=710 > EV=6*10+6*100=660 > PV=6*10=60

6. AC>PV>EV

This case can be interpreted as actual performance of schedule is lagging behind the

plan and actual expenditures are higher than planned. In other words both poor

schedule and cost performance is being recorded.

Sample Scenario:

Plan: Task1 in 4 weeks by team1 with a rate of 100 $/week

Task2 in 4 weeks by team2 with a rate of 10$/week

Task3 in 4weeks by team 2 with a rate of 10$/week

Task1 precedes Task2 and Task2 precedes Task3

Actual: Task1 in 6 weeks, Task2 in 6 weeks

At 12th week: AC = 6*100+6*10 = 660 > EV = 4*100+4*10 = 440 > PV =

4*100+4*10+4*10 = 480

Page 94: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

77

Considering the possibility of an equality to occur to be very low, cases of equalities

were ignored in the analysis. As PV, EV and AC are monetary terms there will almost

always be a difference between these values, even the difference is in cents.

4.2 Discussion on Final Cost Estimation

One of the most compelling reasons to employ EV management is its ability to provide

management with realistic final cost estimates for the project. Thus management can

better understand the status of the project at any time and decide whether it is necessary

to take any corrective action or not. The two earned value performance indices CPI and

SPI constitute the basis for such a decision. These indices can be used both

independently and collectively to forecast a range of statistical final cost estimates. By

this way an “early warning” signal is provided for project managers to take corrective

action and avoid adverse results.

As well as it is possible to make a single point estimate; it is also possible to construct a

range for the estimated costs at completion (EAC) on a project using earned value data.

This concept is displayed in Figure 4-2, reflecting a range of “low-end” and “high-end”

final cost forecasts.

Page 95: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

78

Low End

High End

Earned Value Statistical Cost Estimate Range

Project Budget

Time

$

15% Complete

Figure 4-2 EAC range

As described by Fleming et al. [18] the following formulas are used to calculate the low

end (LE) and the high end (HE) of the range correspondingly.

(1) LE: EAC = (Total Budget – Earned Value) / Cumulative CPI + Actual Costs

(2) HE: EAC = (Total Budget – Earned Value) / (Cumulative CPI x SPI) + Actual Costs

First formula is named as “Cumulative CPI EAC” and some people claim that it

represents the very minimum while some other claim that it represents the most likely

Page 96: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

79

estimate. The second formula is named as “Cumulative CPI times SPI EAC” and used to

incorporate the effect of a poor schedule performance into final cost estimation.

Therefore there are also different ideas about whether it represents the most likely or the

worst case EAC. To sum up, it is possible to construct a range for EAC in case of a poor

schedule performance by making two estimates, a low end by ignoring schedule

performance and a high end by considering the SPI also.

Consequently with the use of two earned value indices, CPI and SPI, it is possible to

estimate the final cost requirements for a project, which may either be a single point

estimate or a range, enabling the management to make the decision of whether it is

necessary or not to take any steps to mitigate the final results. Discussions in the rest of

this chapter will be on EAC ranges. Because point estimates will have also been

considered by this way as ranges are constructed using two single point estimates.

The proposed method just included the direct labor costs in calculating PV and AC.

Therefore the EAC estimation formulas discussed above includes only the direct labor

costs. However there exist two other costs that have to be taken into account in EAC

calculations. These costs are the penalty cost and the indirect costs which were

discussed in detail in Chapter 3. As these costs were included in BAC calculations they

must also be included in EAC calculations so that the two values will become

comparable. Discussion on incorporating these costs into EAC estimations is presented

in the following sections.

Page 97: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

80

4.2.1 Incorporating Penalty Cost into Final Cost Estimation

Penalty cost is directly related with schedule performance. Poor project performance

will cause late deliveries which will result in penalty costs. However since the

Cumulative CPI method does not take schedule performance into account, probable

penalty costs is omitted and the low end of the range is underestimated.

Cumulative CPI method assumes that the rest of the schedule will be executed with the

same cost performance and a good or bad schedule performance will not influence the

total costs at all. However in the problem subject to this study, late deliveries result in

penalty cost. Therefore omitting the probable penalty cost causes EAC to be

underestimated.

The same underestimation is not valid for the high end, which was calculated with the

CPIxSPI method. Because this method incorporates both cost and schedule dimensions.

The rationale behind using this method is that projects do not like to be in a position of

establishing a performance plan and then falling behind their authorized plan. There is a

natural human tendency to want to get back on schedule, even if it means spending more

to accomplish the same amount of planned work [18]. So this method implicitly assumes

that project will be completed on time even if it means spending more to catch up with

the schedule. Therefore it won’t be necessary to add extra penalty cost to the high end.

To sum up, schedule performance factor must be taken into account while estimating the

final cost with the cumulative CPI method as a penalty cost will be incurred for late

deliveries. This requires the prediction of project completion time in order to determine

whether penalty costs will be incurred or not.

Page 98: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

81

Actually completion time of a project is equal to the length of its critical path, which

represents the longest sequential path of activities. So the shortest time frame for the

completion of any project is determined by the length of its critical path. Fleming et al.

[18] mention the importance of managing the critical path and the near-critical paths for

the success of any project and its completion in the shortest possible duration. It is also a

known fact that critical path data and earned value schedule performance data work well

in predicting the final completion date for any project.

The formula to be utilized for predicting the final completion date is as the following:

(3) Total Completion Time = (Planned Length of Critical Path – Duration of Activities

Completed on Critical Path) / SPI + Actual Time Spent

This formula shows great parallelism with Cumulative CPI method, but the calculations

are done with time units instead of monetary units.

Value calculated with the above formula will give the expected project completion time

taking the SPI recorded till the calculation time as basis. By this way the project

manager will better see whether the project will be subject to penalty cost or not.

Assume that the EAC range estimated for a project, which was as the one depicted in

Figure 4-3.

Page 99: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

82

Low End

High End

Project Budget

$

15%

LE

HE

Figure 4-3 Sample EAC range

Calculations on project completion time denoted that project would be delivered late

resulting in a penalty cost of PC. Thus EAC estimation must be updated taking the

penalty cost into consideration. So new EAC estimation will be as the following:

Time

Page 100: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

83

Low End'

High End

Project Budget

Time

$

15% Complete

LE

HE

LE + PC PC

Figure 4-4 EAC range updated with penalty cost

4.2.2 Incorporating Indirect Costs into Final Cost Estimation

As described earlier in Chapter 3 indirect costs are those costs that are incurred for each

unit of time the project continues to be conducted. It contains the costs like rent of the

project office, secretariat costs and other support personnel’s costs. Indirect costs were

assumed to be incurred with a rate of “indirect cost rate” which is constant throughout

the project and is independent of the tasks being executed at a specific point in time or

the teams working on these activities at this time.

The proposed earned value plan preparation method included just the direct costs in PV,

EV and AC calculations. Therefore indirect costs are being omitted in the EAC

Page 101: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

84

calculations made using these parameters. In the scheduling phase, the total project cost

has been calculated by taking the indirect costs into account. So an EAC estimation

omitting the indirect costs will misguide the project manager. Therefore, it is also

necessary to update the estimations made in Section 4.2 with indirect costs as well as the

penalty cost.

It will be enough to multiply the estimated completion duration with indirect cost rate of

the project for estimating the total indirect cost. Total completion time has already been

estimated in the previous part for determining whether the project will be subject to

penalty cost or not. So total indirect cost to be incurred in a project can be estimated

with the following formula:

(4) Total Indirect Cost = Estimated Total Completion Time x Indirect Cost Rate

However while updating EAC, the low and the high ends of the EAC range must be

handled separately. Because each end of the range was calculated with different

formulas and approaches.

The low end was calculated with Cumulative CPI EAC method, which does not take

schedule performance into account. The underlying assumption was that the rest of the

project will be executed with the same schedule and cost performance. Therefore

indirect cost calculated with the above formula is valid for the low end. Let us name it as

LEindirectcost.

The situation turns out to be some more complex while updating the high end of the

Page 102: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

85

EAC range. The high end was estimated with Cumulative CPI times SPI EAC method.

The assumption underlying this method was that in case a project is behind its schedule,

some action is taken at the expense of extra costs for catching up the schedule. So, when

a project is behind its schedule, it is paced up by spending more and is completed on

time. Therefore the effect of poor schedule performance should not be reflected to the

indirect cost estimation in the same way with penalty cost estimation. Because the effect

of poor schedule performance has already been included in the estimation of total direct

costs.

Consequently, indirect cost to be added to the high end must be recalculated with the

following formula:

(5) Total Indirect Cost = Scheduled Completion Duration x Indirect Cost Rate

Let us name it as HEindirectcost.

EAC range updated with LEindirectcost and HEindirectcost will be as the following:

Page 103: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

86

Low End

High End

Project Budget

Time

$

15% Complete

LE

HE

LE + PC PC

HEindirectcost

LEindirectcost LE + PC+ LEindirectcost

HE + HEindirectcost

Figure 4-5 EAC range updated with indirect cost

To sum up, a range has already been constructed using formulas (1) and (2). This range

was not taking the penalty and the indirect cost into account, but taking the direct costs

only. Therefore the range has been updated with penalty and indirect cost estimations.

The figure above denotes the final EAC range including all three types of the costs,

which were taken as basis in the scheduling phase.

After the completion point of 15%, a project manager can now make the decision of

whether any corrective action must be taken or not by appraising the EAC range.

Page 104: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

87

CHAPTER 5

CONCLUSION

In this chapter a brief summary of the work accomplished in this thesis study is

provided. Besides providing a summary, limitations of the study and extensions for

future research are discussed.

Experiencing high ratios of project failure and overruns of one or two hundred percent in

software projects during the last three decades directed people to investigate the

underlying reasons. The investigations showed that the reasons were mostly related with

management. Therefore, project management started to be seen as a key for project

success or failure. Project management involves many activities and project scheduling

is one of the most important of these activities as it provides the coordination of people,

tasks, equipment, products, time and money.

However, preparing a good plan and schedule is not enough for project success. As

projects are dynamic and carried out in changing environments, monitoring and

measuring performance during execution turns out to be another key factor for success.

It is necessary to have a monitoring and performance measurement system that generates

feedback enabling corrective action to respond to environmental changes.

Page 105: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

88

Actually there exists an internationally recognized method for project performance

measurement and control, i.e. earned value (EV) method. However, despite its

popularity EV has not been widely applied on software projects.

Effort spent on this study was towards achieving two main goals,

Developing a scheduling system that captures the essence of software projects,

Proposing a method for applying EV method on software projects,

In this thesis, a scheduling system consisting of three components has been developed.

These three components are:

i) Problem Formulation

ii) Heuristic Approach

iii) Computer Program that incorporates the above two

Integer programming (IP) method has been utilized for problem formulation. The

formulation developed is of type discrete time IP and consists of defining the project

constraints and objective by IP methods. A project is comprised of different activities

and accepted to be complete when all activities constituting it are completed. Given

A project that consists of a set of activities;

A set of teams to execute the activities;

A set of constraints to be satisfied

The formulation aims to find the schedule that enables the completion of the project with

minimum cost at completion. Cost at completion for a project is determined by three

Page 106: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

89

cost drivers: direct labor cost, indirect cost and penalty cost to be incurred in case of late

deliveries.

Literature review showed that a shortcoming of contemporary project scheduling tools

that hinder effective use of them for software projects was that they do not take the

knowledge/skill capability variances among project workers into account. Considering

that the productivity ratio between two software developers may be as high as 100, this

shortcoming turns out to be an important one. This shortcoming has been overcome in

formulation by taking into consideration that each team or person may execute the same

activity in different durations based on their expertise level. Another point where

variance in expertise levels was incorporated into the formulation was direct labor rates.

It is possible to differentiate between a novice analyst and an expert one by assigning

direct labor rates varying with their expertise level.

As mentioned earlier, the formulation is a discrete time formulation and needs an upper

bound for project completion time. Studies showed that this upper bound value is

crucially important since it could both affect the results and the solution time. There was

a trade off at this point. Utilizing small values as upper bound was shortening solution

times but it could cause local optimum solutions to be achieved instead of the absolute

optimum. On the contrary utilizing big values was guaranteeing to achieve the absolute

optimum while lengthening the solution time. A heuristic approach has been developed

to cope with this trade off. Applying the heuristic algorithm provides the project

manager with an upper bound value that both guarantees achieving the absolute

optimum and considerably shortens the solution time.

Page 107: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

90

Third and the last part of the scheduling system is a computer program that incorporates

the IP formulation and the heuristic approach. The program takes information about the

project to be scheduled as input firstly, then applies the heuristic algorithm and develops

a heuristic schedule and displays it graphically. Time span of the heuristic schedule

constitutes the upper bound for project completion time, which is an input, required by

the IP formulation. Consequent to developing a heuristic schedule, the program

generates the IP model of the project, solving which gives the optimum schedule.

The scheduling system described above, provided the platform for studies on

performance measurement and control using EV method in this thesis study. Basically

metrics to plan and consume resources have been added to the scheduling system in

order to establish a method for EV plan preparation. The metric proposed for measuring

PV, EV and AC is the direct labor cost apportioned and spent for each activity.

Then the method has been defined in steps and structures for recording the planned and

earned values and actual costs have been provided. The method proposes the use of

0/100 method for time phasing the activity budgets with the assumption that activities

are shorter than one accounting period in duration. Structures proposed form the basis

for comparison and analysis of planned, earned and actual standards. Six probable cases

have been determined according to the status of EV, PV and AC with respect to each

other. These cases have been analyzed in order to reveal the underlying reasons so that a

project manager could better interpret the project status. As well as determining the

current status, being able to estimate cost at completion is also very important for

decision of whether any corrective action is required or not. Formulas that have wide

Page 108: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

91

acceptance in calculating estimate at completion have been introduced and methods have

been proposed to incorporate the indirect costs and the penalty cost to these formulas.

To sum up it was aimed to develop a system that will enable a project manager to

Develop the cost optimum schedule for his project

Track the true status of the project

Decide whether any corrective action is required or not

This target has been realized but with some simplifying assumptions.

5.1 Future Work

In this thesis it was assumed that activity durations have been estimated for each team

based on their skill levels prior to the scheduling process. However it is aimed to

incorporate a method for making activity duration estimations based on historical data,

team members’ qualifications and number of people in the team into the solution

proposed in this thesis by a future study.

Besides this, the distinct need for working with more realistic data sets is admitted. Such

a study would enable us to see whether the assumptions made during formulation hinder

capturing the needs of real projects or not. Working with realistic data and expanding the

formulation by releasing the unrealistic assumptions can be subject to future studies.

Searching for the means of integrating the methods proposed in this study with existing

project management tools is also among the works planned to be realized in future.

Page 109: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

92

REFERENCES [1] Brown, N., (1996). Industrial-Strength Management Strategies. CROSSTALK - The

Journal of Defense Software Engineering [Online], Report of the Defense Science Task Force on Military Software Available: http://www.stsc.hill.af.mil/crosstalk/1996/08/

[2] A Guide to the Project Management Body of Knowledge (PMBOK Guide) (2000

ed.). Newton Square, PA: Project Management Institute, Inc. [3] Plekhanova, V. (1998). On Project Management Scheduling where Human Resource

is a Critical Variable. Proceedings of the 6th European Workshop on Software Process Technology (EWSPT-6)

[4] Meredith, J. R., Mantel, S. J. (1995). Project management: a managerial approach 4th

ed. New York: Wiley. [5] Davis, E.W. (1973). Project Scheduling Under Resource Constraints Historical

Review and Categorization of Procedures, AIIE Transactions, 5, 297-313. [6] İçmeli, O., Erengüç, S.S., Zappe, J.C. (1993). Project Scheduling Problems: A

Survey, International J. of Operations and Production Management, 13, 249-265. [7] Özdamar, L., Ulusoy, G. (1993). A Survey on the Resource Constrained Project

Scheduling problem, International J. of Operations and Production Management, 13, 80-91.

[8] Brucker, P., Drexl, A., Möhring, R., Neumann, K., Pesch, E. (1999). Resource-

Constrained Project Scheduling: Notation, classification models, and methods, EJOR, 112, 3-41.

Page 110: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

93

[9] Bellenguez, O. (2004). A Multi-Skill Project Scheduling Problem, Available: http://www.univ-tours.fr/ed/edsst/comm2004/bellenguez.pdf

[10] Herroelen, W., Leus, R., Demeulemeester, E. (2002).Critical Chain Project

Scheduling: Do Not Oversimplify, Project Management Journal, 33, 48-60. [11] Plekhanova, V. (2000). On the Compatibility of Contemporary Project Management

Tools with Software Project Management. Proceedings of the 4th World Multiconference on Systemics, Cybernetics and Informatics (SCI'2000) and the 6th International Conference on Information Systems Analysis and Synthesis (ISAS'2000), [SCI’2000 / ISAS’2000]

[12] Duggan, J., Byrne, J., Lyons, G.J. (2004) A task allocation optimizer for software

construction. Software, IEEE, 21, 76-82. [13] Padberg, F. (2001). Scheduling Software Projects to Minimize the Development

Time and Cost with a Given Staff. Proceedings of the Asia Pacific Software Engineering Conference APSEC 8 2001. 187-194.

[14] Padberg, F. (2003) A Software Process Scheduling Simulator. Proceedings of the

25th International Conference on Software Engineering (ICSE ‘03). 816-817. [15] Polo, M., Mateos, M. D., Piattini, M. and Ruiz, F. (2001). Distributing Human

Resources among Software Development Projects. Proceedings of the ESCOM 2001, April 2001, London, pp. 175-182.

[16] Fleming, Q. W., Koppelman, J. M. (1999). The Earned Value Body of Knowledge.

Proceedings of the 30th Annual Project Management Institute 1999 Seminars & Symposium Philadelphia, Pennsylvania, USA

[17] Fleming, Q. W., Koppelman, J. M. (1996). Earned Value Project Management. A-

12 Administrative Inquiry, 23-24. [18] Fleming, Q. W., Koppelman, J. M. (1996). Earned Value Project Management,

USA: Project Management Institute

Page 111: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

94

[19] Christensen, D. S., D. V. Ferens. (1995). Using Earned Value for Performance

Measurement on Software Projects, Acquisition Review Quarterly, Spring 1995, 155 – 171.

[20] Solomon, P. J. (1997). Managing Software Projects with Earned Value. In Control

Journal, 10 [21] Fleming, Q. W., Koppelman, J. M. (1998). Earned Value Project Management: A

Powerful Tool for Software Projects. CROSSTALK - The Journal of Defense Software Engineering [Online], 11. Available: http://www.stsc.hill.af.mil/crosstalk/1998/07/

[22] Lipke, W., Vaughn, J. (2000). Statistical Process Control Meets Earned Value.

CROSSTALK - The Journal of Defense Software Engineering [Online], 13. Available: http://www.stsc.hill.af.mil/crosstalk/2000/06/

FURTHER READING [23] Thayer, R. H., Yourdon, E. (1997). Software Engineering Project Management, Los

Alamitos, Calif: IEEE Computer Society [24] Phillips, D. (1998). The Software Project Manager's Handbook, Los Alamitos,

Calif: IEEE Computer Society [25] Kerzner, H. (1995). Project Management - A Systems Approach to Planning

Scheduling and Controlling, New York: Van Nostrand Reinhold [26] Kezsbom, D. S., Edward, K. A. (2000). The New Dynamic Project Management-

Winning Through the Competitive Advantage, New York: Wiley [27] Morton, T. E., Pentico, D. W. (1993). Heuristic Scheduling Systems with

Applications to Production Systems and Project Planning, New York: Wiley [28] Hughes, B. (2000). Practical Software Measurement, Berkshire: Mc Graw Hill

Page 112: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

95

[29] Humphrey, W. S. (2000). Introduction to the Team Software Process, Reading, Mass.: Addison Wesley

[30] Oakland, J. S., Followell, R. F. (1990). Statistical Process Control, Oxford:

Butterwort Heinemann [31] Crossley M. L. (2000). Statistical Quality Methods, Milwaukee: American Society

for Quality [32] Solomon M. (2001). Practical Software Measurement, Performance-Based Earned

Value. CROSSTALK - The Journal of Defense Software Engineering [Online], 14. Available: http://www.stsc.hill.af.mil/crosstalk/2001/09/

[33] Lipke, W., Jennings, M. (2000). Software Project Planning, Statistics, and Earned

Value. CROSSTALK - The Journal of Defense Software Engineering [Online], 13. Available: http://www.stsc.hill.af.mil/crosstalk/2000/12/

[34] Lanigan, M. J. (1994). Task estimating: completion time versus team size.

Engineering Management Journal, 4, 212-218. [35] Sukhodolsky J. (2001). Optimizing Software Process Control. ACM SIGSOFT

Software Engineering Notes, 26, 59-63 [36] Fleming, Q. W., Koppelman, J. M. (1996). Earned Value Project Management. A-

Cost Performance Index Stability, 25.

Page 113: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

96

APPENDICES

A - Problem Parameters and Solution for Section 3.3.1 Table A1. Activity durations (weeks)

TEAMS A B C

1 3 2 4 2 2 1 3 3 3 2 3 4 2 2 3 5 5 4 7 6 4 4 5 7 2 2 4 8 4 3 5 9 5 4 6 10 3 3 4 11 5 4 6 12 4 3 5 13 2 2 3 14 1 1 2

AC

TIV

ITIE

S

15 3 2 4

Page 114: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

97

Table A2. Precedence relations

Activity Predecessor Activities

2 13 14 25 26 37 5 68 69 4 710 7 811 912 1013 1114 1115 12 13 14

Table A3. Cost Parameters

Team A Team B Team C Weekly Direct Labor Rate $ 11 13 7 Weekly Indirect Cost Rate $ 15 Weekly Penalty Cost $ 20 Project Due Date (Weeks) 23

Page 115: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

98

Table A4. Solution of model 1

Variable Name Solution Value Variable Name Solution Value M 824 X12C19 1X1B1 1 X12C20 1X1B2 1 X13A19 1X2A3 1 X13A20 1X2A4 1 X14B19 1X3B3 1 X15B21 1X3B4 1 X15B22 1X4C6 1 C15B 22X4C7 1 C1B 2X4C8 1 C1B2 1X5B5 1 C2A 4X5B6 1 C2A4 1X5B7 1 C3B 4X5B8 1 C3B4 1X6A5 1 C4C 8X6A6 1 C4C8 1X6A7 1 C5B 8X6A8 1 C5B8 1X7B9 1 C6A 8X7B10 1 C6A8 1X8A9 1 C7B 10X8A10 1 C7B10 1X8A11 1 C8A 12X8A12 1 C8A12 1X9B11 1 C9B 14X9B12 1 C9B14 1X9B13 1 C10A 15X9B14 1 C10A15 1X10A13 1 C11B 18X10A14 1 C11B18 1X10A15 1 C12C 20X11B15 1 C12C20 1X11B16 1 C13A 20X11B17 1 C13A20 1X11B18 1 C14B 19X12C16 1 C14B19 1X12C17 1 C15B22 1X12C18 1

Page 116: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

99

Table A5. Solution of model 2

Variable Name Solution Value Variable Name Solution ValueM 817 X12C20 1X1B1 1 X12C21 1X1B2 1 X13A20 1X2B5 1 X13A21 1X3B3 1 X14B20 1X3B4 1 X15B22 1X4C6 1 X15B23 1X4C7 1 C15B 23X4C8 1 C1B 2X5B6 1 C1B2 1X5B7 1 C2B 5X5B8 1 C2B5 1X5B9 1 C3B 4X6A5 1 C3B4 1X6A6 1 C4C 8X6A7 1 C4C8 1X6A8 1 C5B 9X7A10 1 C5B9 1X7A11 1 C6A 8X8C9 1 C6A8 1X8C10 1 C7A 11X8C11 1 C7A11 1X8C12 1 C8C 13X8C13 1 C8C13 1X9B12 1 C9B 15X9B13 1 C9B15 1X9B14 1 C10A 16X9B15 1 C10A16 1X10A14 1 C11B 19X10A15 1 C11B19 1X10A16 1 C12C 21X11B16 1 C12C21 1X11B17 1 C13A 21X11B18 1 C13A21 1X11B19 1 C14B 20X12C17 1 C14B20 1X12C18 1 C15B23 1X12C19 1

Page 117: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

100

B - Solutions for Section 3.3.2 Table B1. Solutions for T=23, 25, 26, 27, 28, 29, 30, 31, 32, 35, 40, 45, 50, 55, 60, 64

Variable Name Solution Value Variable Name Solution ValueC10A 16 X12C17 1C10A16 1 X12C18 1C11B 19 X12C19 1C11B19 1 X12C20 1C12C 21 X12C21 1C12C21 1 X13A20 1C13A 21 X13A21 1C13A21 1 X14B21 1C14B 21 X15B22 1C14B21 1 X15B23 1C15B 23 X1B1 1C15B23 1 X1B2 1C1B 2 X2B5 1C1B2 1 X3B3 1C2B 5 X3B4 1C2B5 1 X4C6 1C3B 4 X4C7 1C3B4 1 X4C8 1C4C 8 X5B6 1C4C8 1 X5B7 1C5B 9 X5B8 1C5B9 1 X5B9 1C6A 8 X6A5 1C6A8 1 X6A6 1C7A 11 X6A7 1C7A11 1 X6A8 1C8C 13 X7A10 1C8C13 1 X7A11 1C9B 15 X8C10 1C9B15 1 X8C11 1M 817 X8C12 1X10A14 1 X8C13 1X10A15 1 X8C9 1X10A16 1 X9B12 1X11B16 1 X9B13 1X11B17 1 X9B14 1X11B18 1 X9B15 1X11B19 1

Page 118: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

101

C - Problem Parameters and Solution for Section 3.3.3 Table C1. Model 1 and Model 2 – Activity durations (weeks)

TEAMS A B C

1 3 2 4 2 2 1 3 3 3 2 3 4 2 2 3 5 5 4 7 6 4 4 5 7 2 2 4 8 4 3 5 9 5 4 6 10 3 3 4 11 5 4 6 12 4 3 5 13 2 2 3 14 1 1 2

AC

TIV

ITIE

S

15 3 2 4

Page 119: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

102

Table C2. Model 1 and Model 3 - Precedence relations

Activity No Predecessor Activities

2 1 3 1 4 2 5 2 6 3 7 5 6 8 6 9 4 7 10 7 8 11 9 12 10 13 11 14 11 15 12 13 14

Table C3. Model 2 - Precedence relations

Activity No Predecessor Activities

2 1 3 1 4 1 5 2 6 3 4 7 5 6 8 6 9 7 10 7 8 11 9 12 10 13 11 14 12 15 12 13 14

Page 120: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

103

Table C4. Model 3 Activity durations (weeks)

TEAMS A B C

1 5 4 7 2 4 3 6 3 5 5 5 4 3 1 2 5 4 2 7 6 2 1 4 7 3 3 3 8 5 4 3 9 2 2 4 10 3 5 4 11 2 1 4 12 6 3 5 13 4 2 3 14 5 3 4

AC

TIV

ITIE

S

15 2 2 4 Table C5. Model 1, Model 2 and Model 3 - Cost Parameters

Team A Team B Team C Weekly Direct Labor Rate $ 11 13 7 Weekly Indirect Cost Rate $ 15 Weekly Penalty Cost $ 20 Project Due Date (Weeks) 23

Page 121: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

104

Table C6. Model 4 and Model 5 – Activity durations (weeks)

TEAMS A B C D

1 3 2 4 5 2 2 1 3 2 3 3 2 3 4 4 2 2 3 2 5 5 4 7 6 6 4 4 5 4 7 2 2 4 3 8 4 3 5 6 9 5 4 6 5 10 3 3 4 6 11 5 4 6 4 12 5 3 4 4 13 2 4 3 3 14 1 1 2 3

AC

TIV

ITIE

S

15 3 4 3 3

Page 122: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

105

Table C7. Model 4 and Model 6 - Precedence relations

Activity No Predecessor Activities

2 1 3 1 4 2 5 2 6 3 7 5 6 8 6 9 4 7 10 7 8 11 9 12 10 13 11 14 11 15 12 13 14

Table C8. Model 5 - Precedence relations

Activity No Predecessor Activities

2 1 3 1 4 1 5 2 3 6 3 4 7 5 6 8 7 9 7 10 7 11 9 10 12 8 10 13 11 14 11 15 12 13 14

Page 123: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

106

Table C9. Model 6 Activity durations (weeks)

TEAMS A B C D

1 5 4 2 3 2 2 1 2 3 3 4 2 3 5 4 2 4 3 2 5 6 4 5 4 6 4 4 5 4 7 3 1 5 3 8 3 2 4 5 9 6 5 7 6 10 3 5 4 6 11 5 4 7 4 12 5 3 4 4 13 2 4 3 3 14 2 4 2 3

AC

TIV

ITIE

S

15 3 4 3 6 Table C10. Model 4, Model 5 and Model 6 - Cost Parameters

Team A Team B Team C Team DWeekly Direct Labor Rate $ 11 13 7 10 Weekly Indirect Cost Rate $ 15 Weekly Penalty Cost $ 20 Project Due Date (Weeks) 23

Page 124: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

107

Table C11. Model 7 and Model 8 – Activity durations (weeks)

TEAMS A B C

1 2 1 3 2 3 2 4 3 3 2 3 4 2 2 3 5 5 3 4 6 3 4 5 7 4 2 3 8 4 3 5 9 5 4 6 10 3 4 3 11 5 4 6 12 4 3 5 13 2 2 3 14 5 7 6

AC

TIV

ITIE

S

15 3 4 4 16 4 3 5 17 3 2 4 18 3 5 4 19 2 3 4 20 4 2 5

Page 125: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

108

Table C12. Model 7 and Model 9 - Precedence relations

Activity No Predecessor Activities

2 1 3 1 4 2 5 2 6 3 7 5 6 8 6 9 4 7 10 7 8 11 9 12 10 13 11 14 11 15 13 14 16 12 17 15 18 16 19 16 20 17 18 19

Page 126: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

109

Table C13. Model 8 - Precedence relations

Activity No Predecessor Activities

2 1 3 1 4 1 5 2 4 6 2 3 7 5 6 8 6 9 7 10 7 8 11 9 12 10 13 11 14 11 12 15 13 14 16 14 17 15 18 14 19 16 20 17 18 19

Page 127: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

110

Table C14. Model 9 Activity durations (weeks)

TEAMS A B C

1 4 2 5 2 2 4 3 3 5 4 6 4 1 1 3 5 4 2 3 6 5 6 7 7 4 2 3 8 4 3 5 9 4 2 3 10 1 1 2 11 5 4 6 12 4 3 5 13 3 1 2 14 3 4 3

AC

TIV

ITIE

S

15 4 3 2 16 4 3 5 17 4 5 4 18 3 5 4 19 4 3 3 20 4 5 3

Table C15. Model 7, Model 8 and Model 9 - Cost Parameters

Team A Team B Team C Weekly Direct Labor Rate $ 11 13 10 Weekly Indirect Cost Rate $ 20 Weekly Penalty Cost $ 20 Project Due Date (Weeks) 25

Page 128: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

111

D- Solutions for Section 3.3.3

Table D1. Solution of the models generated for project 1

Variable Name Solution Value Variable Name Solution ValueC10A 16 X12C17 1C10A16 1 X12C18 1C11B 19 X12C19 1C11B19 1 X12C20 1C12C 21 X12C21 1C12C21 1 X13A20 1C13A 21 X13A21 1C13A21 1 X14B20 1C14B 20 X15B22 1C14B20 1 X15B23 1C15B 23 X1B1 1C15B23 1 X1B2 1C1B 2 X2B5 1C1B2 1 X3B3 1C2B 5 X3B4 1C2B5 1 X4C6 1C3B 4 X4C7 1C3B4 1 X4C8 1C4C 8 X5B6 1C4C8 1 X5B7 1C5B 9 X5B8 1C5B9 1 X5B9 1C6A 8 X6A5 1C6A8 1 X6A6 1C7A 11 X6A7 1C7A11 1 X6A8 1C8C 13 X7A10 1C8C13 1 X7A11 1C9B 15 X8C10 1C9B15 1 X8C11 1M 817 X8C12 1X10A14 1 X8C13 1X10A15 1 X8C9 1X10A16 1 X9B12 1X11B16 1 X9B13 1X11B17 1 X9B14 1X11B18 1 X9B15 1X11B19 1

Page 129: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

112

Table D2. Solution of the models generated for project 2

Variable Name Solution Value Variable Name Solution ValueC10C 16 X11B20 1C10C16 1 X12C17 1C11B 20 X12C18 1C11B20 1 X12C19 1C12C 21 X12C20 1C12C21 1 X12C21 1C13A 22 X13A21 1C13A22 1 X13A22 1C14B 22 X14B22 1C14B22 1 X15B23 1C15B 24 X15B24 1C15B24 1 X1B1 1C1B 2 X1B2 1C1B2 1 X2B5 1C2B 5 X3B3 1C2B5 1 X3B4 1C3B 4 X4A3 1C3B4 1 X4A4 1C4A 4 X5B6 1C4A4 1 X5B7 1C5B 9 X5B8 1C5B9 1 X5B9 1C6C 9 X6C5 1C6C9 1 X6C6 1C7A 11 X6C7 1C7A11 1 X6C8 1C8B 12 X6C9 1C8B12 1 X7A10 1C9B 16 X7A11 1C9B16 1 X8B10 1M 823 X8B11 1X10C13 1 X8B12 1X10C14 1 X9B13 1X10C15 1 X9B14 1X10C16 1 X9B15 1X11B17 1 X9B16 1X11B18 1 y 1X11B19 1

Page 130: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

113

Table D3. Solution of the models generated for project 3

Variable Name Solution Value Variable Name Solution ValueC10C 17 X12B19 1C10C17 1 X12B20 1C11B 16 X12B21 1C11B16 1 X13B17 1C12B 21 X13B18 1C12B21 1 X14C18 1C13B 18 X14C19 1C13B18 1 X14C20 1C14C 21 X14C21 1C14C21 1 X15A22 1C15A 23 X15A23 1C15A23 1 X1B1 1C1B 4 X1B2 1C1B4 1 X1B3 1C2B 7 X1B4 1C2B7 1 X2B5 1C3C 9 X2B6 1C3C9 1 X2B7 1C4B 13 X3C5 1C4B13 1 X3C6 1C5B 9 X3C7 1C5B9 1 X3C8 1C6B 10 X3C9 1C6B10 1 X4B13 1C7A 13 X5B8 1C7A13 1 X5B9 1C8C 13 X6B10 1C8C13 1 X7A11 1C9A 15 X7A12 1C9A15 1 X7A13 1M 755 X8C11 1X10C14 1 X8C12 1X10C15 1 X8C13 1X10C16 1 X9A14 1X10C17 1 X9A15 1X11B16 1

Page 131: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

114

Table D4. Solution of the models generated for project 4

Variable Name Solution Value Variable Name Solution ValueC10A 16 X12C18 1C10A16 1 X12C19 1C11D 18 X12C20 1C11D18 1 X13A19 1C12C 20 X13A20 1C12C20 1 X14B19 1C13A 20 X15C21 1C13A20 1 X15C22 1C14B 19 X15C23 1C14B19 1 X1B1 1C15C 23 X1B2 1C15C23 1 X2D3 1C1B 2 X2D4 1C1B2 1 X3B3 1C2D 4 X3B4 1C2D4 1 X4D10 1C3B 4 X4D9 1C3B4 1 X5B5 1C4D 10 X5B6 1C4D10 1 X5B7 1C5B 8 X5B8 1C5B8 1 X6D5 1C6D 8 X6D6 1C6D8 1 X6D7 1C7A 10 X6D8 1C7A10 1 X7A10 1C8C 13 X7A9 1C8C13 1 X8C10 1C9B 14 X8C11 1C9B14 1 X8C12 1M 795 X8C13 1X10A14 1 X8C9 1X10A15 1 X9B11 1X10A16 1 X9B12 1X11D15 1 X9B13 1X11D16 1 X9B14 1X11D17 1 y 1X11D18 1 X12C17 1

Page 132: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

115

Table D5. Solution of the models generated for project 5

Variable Name Solution Value Variable Name Solution ValueC10A 13 X12C18 1C10A13 1 X12C19 1C11D 18 X12C20 1C11D18 1 X13A19 1C12C 20 X13A20 1C12C20 1 X14B20 1C13A 20 X15C21 1C13A20 1 X15C22 1C14B 20 X15C23 1C14B20 1 X1B1 1C15C 23 X1B2 1C15C23 1 X2A3 1C1B 2 X2A4 1C1B2 1 X3B3 1C2A 4 X3B4 1C2A4 1 X4D3 1C3B 4 X4D4 1C3B4 1 X5B5 1C4D 4 X5B6 1C4D4 1 X5B7 1C5B 8 X5B8 1C5B8 1 X6D5 1C6D 8 X6D6 1C6D8 1 X6D7 1C7A 10 X6D8 1C7A10 1 X7A10 1C8C 15 X7A9 1C8C15 1 X8C11 1C9B 14 X8C12 1C9B14 1 X8C13 1M 797 X8C14 1X10A11 1 X8C15 1X10A12 1 X9B11 1X10A13 1 X9B12 1X11D15 1 X9B13 1X11D16 1 X9B14 1X11D17 1 y 1X11D18 1 X12C17 1

Page 133: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

116

Table D6. Solution of the models generated for project 6

Variable Name Solution Value Variable Name Solution ValueC10C 15 X12C16 1C10C15 1 X12C17 1C11D 19 X12C18 1C11D19 1 X12C19 1C12C 19 X13A20 1C12C19 1 X13A21 1C13A 21 X14C20 1C13A21 1 X14C21 1C14C 21 X15C22 1C14C21 1 X15C23 1C15C 24 X15C24 1C15C24 1 X1C1 1C1C 2 X1C2 1C1C2 1 X2C3 1C2C 4 X2C4 1C2C4 1 X3B3 1C3B 4 X3B4 1C3B4 1 X4C5 1C4C 7 X4C6 1C4C7 1 X4C7 1C5D 8 X5D5 1C5D8 1 X5D6 1C6A 8 X5D7 1C6A8 1 X5D8 1C7B 9 X6A5 1C7B9 1 X6A6 1C8B 11 X6A7 1C8B11 1 X6A8 1C9D 15 X7B9 1C9D15 1 X8B10 1M 771 X8B11 1X10C12 1 X9D10 1X10C13 1 X9D11 1X10C14 1 X9D12 1X10C15 1 X9D13 1X11D16 1 X9D14 1X11D17 1 X9D15 1X11D18 1 y 1X11D19 1

Page 134: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

117

Table D7. Solution of the models generated for project 7

Variable Name Solution Value Variable Name Solution ValueC10C 17 X12B20 1C10C17 1 X13C20 1C11B 17 X13C21 1C11B17 1 X13C22 1C12B 20 X14A18 1C12B20 1 X14A19 1C13C 22 X14A20 1C13C22 1 X14A21 1C14A 22 X14A22 1C14A22 1 X15A23 1C15A 25 X15A24 1C15A25 1 X15A25 1C16B 23 X16B21 1C16B23 1 X16B22 1C17B 27 X16B23 1C17B27 1 X17B26 1C18C 27 X17B27 1C18C27 1 X18C24 1C19A 27 X18C25 1C19A27 1 X18C26 1C1B 1 X18C27 1C1B1 1 X19A26 1C20B 29 X19A27 1C20B29 1 X1B1 1C2B 4 X20B28 1C2B4 1 X20B29 1C3C 4 X2B3 1C3C4 1 X2B4 1C4A 9 X3C2 1C4A9 1 X3C3 1C5B 7 X3C4 1C5B7 1 X4A8 1C6A 7 X4A9 1C6A7 1 X5B5 1C7B 9 X5B6 1C7B9 1 X5B7 1C8A 13 X6A5 1C8A13 1 X6A6 1C9B 13 X6A7 1C9B13 1 X7B8 1M 1257 X7B9 1X10C15 1 X8A10 1X10C16 1 X8A11 1X10C17 1 X8A12 1X11B14 1 X8A13 1X11B15 1 X9B10 1

Page 135: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

118

Table D7 (Cont.)

Variable Name Solution Value Variable Name Solution ValueX11B16 1 X9B11 1X11B17 1 X9B12 1X12B18 1 X9B13 1X12B19 1 y 1

Table D8. Solution of the models generated for project 8

Variable Name Solution Value Variable Name Solution ValueC10C 15 X12B17 1C10C15 1 X12B18 1C11A 18 X13B22 1C11A18 1 X13B23 1C12B 18 X14A19 1C12B18 1 X14A20 1C13B 23 X14A21 1C13B23 1 X14A22 1C14A 23 X14A23 1C14A23 1 X15A24 1C15A 26 X15A25 1C15A26 1 X15A26 1C16B 26 X16B24 1C16B26 1 X16B25 1C17B 28 X16B26 1C17B28 1 X17B27 1C18C 28 X17B28 1C18C28 1 X18C25 1C19A 28 X18C26 1C19A28 1 X18C27 1C1B 1 X18C28 1C1B1 1 X19A27 1C20B 30 X19A28 1C20B30 1 X1B1 1C2B 3 X20B29 1C2B3 1 X20B30 1C3C 4 X2B2 1C3C4 1 X2B3 1C4A 3 X3C2 1C4A3 1 X3C3 1C5B 7 X3C4 1C5B7 1 X4A2 1C6A 7 X4A3 1C6A7 1 X5B5 1

Page 136: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

119

Table D8 (Cont.)

Variable Name Solution Value Variable Name Solution ValueC7B 9 X5B6 1C7B9 1 X5B7 1C8A 12 X6A5 1C8A12 1 X6A6 1C9B 13 X6A7 1C9B13 1 X7B8 1M 1276 X7B9 1X10C13 1 X8A10 1X10C14 1 X8A11 1X10C15 1 X8A12 1X11A14 1 X8A9 1X11A15 1 X9B10 1X11A16 1 X9B11 1X11A17 1 X9B12 1X11A18 1 X9B13 1X12B16 1 y 1

Table D9. Solution of the models generated for project 9

Variable Name Solution Value Variable Name Solution ValueC10A 16 X12A21 1C10A16 1 X13B21 1C11B 19 X14C20 1C11B19 1 X14C21 1C12A 21 X14C22 1C12A21 1 X15C23 1C13B 21 X15C24 1C13B21 1 X16B23 1C14C 22 X16B24 1C14C22 1 X16B25 1C15C 24 X17C25 1C15C24 1 X17C26 1C16B 25 X17C27 1C16B25 1 X17C28 1C17C 28 X18A26 1C17C28 1 X18A27 1C18A 28 X18A28 1C18A28 1 X19B26 1C19B 28 X19B27 1C19B28 1 X19B28 1C1B 2 X1B1 1C1B2 1 X1B2 1C20C 31 X20C29 1

Page 137: SOFTWARE PROJECT SCHEDULING, A THESIS SUBMITTED …etd.lib.metu.edu.tr/upload/12606362/index.pdfThis thesis also describes a method for preparing an earned value plan, based on the

120

Table D9 (Cont.)

Variable Name Solution Value Variable Name Solution ValueC20C31 1 X20C30 1C2A 5 X20C31 1C2A5 1 X2A4 1C3B 6 X2A5 1C3B6 1 X3B3 1C4A 6 X3B4 1C4A6 1 X3B5 1C5B 8 X3B6 1C5B8 1 X4A6 1C6A 11 X5B7 1C6A11 1 X5B8 1C7B 13 X6A10 1C7B13 1 X6A11 1C8A 15 X6A7 1C8A15 1 X6A8 1C9B 15 X6A9 1C9B15 1 X7B12 1M 1259 X7B13 1X10A16 1 X8A12 1X11B16 1 X8A13 1X11B17 1 X8A14 1X11B18 1 X8A15 1X11B19 1 X9B14 1X12A18 1 X9B15 1X12A19 1 y 1X12A20 1