SlideShare a Scribd company logo
1 of 139
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
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)
3
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 :
4
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
5
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
6
Ö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
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
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.
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
ix
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
1
1
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
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 - CostParameters.........................................103
Table C6. Model 4 and Model 5 – Activity durations (weeks).......................................104
xii
13
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
14
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
15
Figure 4-4 EAC range updated with penalty cost ............................................................83
Figure 4-5 EAC range updated with indirect cost............................................................86
16
LIST ofACRONYMS
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
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
xvii
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
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. Soscheduling
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.
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.
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
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.
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
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.
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.
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.
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.
11
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
6 Weeks
3 Weeks 6 Weeks
Complete
Testing
Complete
Final Report
Test Final Report
Preparation
AOA Representation AON Representation
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
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
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
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
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.2ProjectPerformance Measurementand 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].
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
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.
Cost
Now Months
Figure 2-2 Key values ofEV 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
EAC
AC
BAC
PV
EV
19
(the sum of all individual EV budgets divided by the sum of all individual ACs) is
20
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.
> 1.0 € Good
+
1 Plan = 1.0
- < 1.0 € Poor
Figure 2-3 Quantification ofSPI 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]).
21
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,
22
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.
23
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.
24
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
25
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.
26
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.
27
$
High End
Earned Value Statistical
Cost Estimate Range
Low End
Project Budget
15% Complete
Time
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.
28
2.2.2 Studies on the Utilizationof 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
29
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.
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;
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.
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.
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 = ti
*ri
i
Where ti denotes the length of time that team i works for the project, while ri
denotes the direct labor rate of team i.
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.
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
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
min M
k
Subject to
1)C jkt 1 j
k,t
36
This constraint will ensure that each activity will be completed by only one team at a
time t.
2)Cjk t *Cjkt
t 1...T
j,k
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)C jk
 Czk  ( pjk *Cjkt ) j, z P( j)
k z ,k k,t
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) X jkt
 C jku
ut ,t pjk1
j,k,t
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)X jkt 
j
X jet 1
j,eH (k )
k,t
This constraint avoids overlapping teams from working at the same time.
37
6) X jkt 1
j1...n
k,t
38
6th
constraint ensures that a team k will be working on one activity at a specific time t.
7) sk * X jkt I *Cmk K M
j ,k ,t k
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) (Cmk )  L  y* B
k
39
9) (1 y)* B  K  P*(Cmk )  L* P* y
k
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 (Cmk ) exceeds the due date L or not.
k
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 K  P *(Cmk )  L* P. Since K is a part of objective M in
k
constraint 7, model will try to minimize K and K will be K  P *((Cmk )  L) .
k
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 B  K  P*(Cmk ) and since the objective is
k
minimizing M, K will get the value 0.
40
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-1below.
41
T
Cost Parameters
Teams (Resources)
Constraints
Optimum Schedule
Figure 3-1 Black box representation ofthe 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.
Activities
MODEL
42
An example is provided below with the aim of giving a better and more concrete
understanding of this situation.
30
25
20
15
10
5
0
20 25 30 35 40 45 50 55 60
T
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
Cost(X1000$)
43
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.
Solution Time
topt
Tinf Topt T
Figure 3-3 Solution time versus T
No Feasible
Solutions
Feasible
Solutions
but not
optimum
44
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.
45
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)
46
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.
47
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
48
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.
Cost at
Completion
Cheur
theuristic Project Completion Time
Figure 3-4 Cost at completion versus project completion time
49
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.
50
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.
TEAMS
2
1 4
3
Applying the method discussed above results in such aschedule:
Team:
Duration:
1
B
15
2
A
12
3
B
16
4
A
7
Project Completion Time: 15 + 12 + 16 + 7 = 50
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.
A B
1 10 15
2 12 9
3 13 16
4 7 4
Figure 3-5 Use ofthe method on a small sample project
ACTIVITIES
51
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
Same Problem
22 Weeks 824 $
Model 2 64 weeks 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
52
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.
53
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.
54
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
23 25 28 29 35 55 60
Sln.Time(Sec)
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
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
Activities
Heuristic
T (week)
Solution
Time(sec.)
Objective
($)
Max.
T (week)
Solution
Time(sec.)
Objective
($)
1
1
3 15
25 37,71 817 64 787,65 817
2 26 73,27 823 64 1.051,32 823
3 30 242,92 755 72 1.961,28 755
2
4
4 15
26 13,83 795 71 198,23 795
5 28 11,03 797 71 165,77 797
6 30 28,23 771 77 738,75 771
3
7
3 20
38 359,01 1.257 90 12.123,59 1.257
8 39 4.698,25 1.276 90 24.305,43 1.276
9 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
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 absoluteoptimum.
3.4Computer 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
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.
58
C O M P U T E R P R O G R AM
Teams
(Resources)
Constraints
HEURISTIC
ALGORITHM
Upper Bound IP Model
Cost
Parameters
Activities
MATHEMATICAL
FORMULATION
Heuristic Schedule
Figure 3-7 Black box representation ofthe 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
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)
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
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
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/
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.
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.
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
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an
Lap lich du an

More Related Content

Viewers also liked

Hakekat matematika
Hakekat matematika Hakekat matematika
Hakekat matematika Abdul Rais P
 
INGENIERIA ECONOMICA ISABEL CRISTINA
INGENIERIA ECONOMICA ISABEL CRISTINAINGENIERIA ECONOMICA ISABEL CRISTINA
INGENIERIA ECONOMICA ISABEL CRISTINAisacrisdani
 
Sejarah Muhammadiyah
Sejarah MuhammadiyahSejarah Muhammadiyah
Sejarah MuhammadiyahAbdul Rais P
 
statement and recommendation
statement and recommendationstatement and recommendation
statement and recommendationDinesh Budhathoki
 
自動デプロイ
自動デプロイ自動デプロイ
自動デプロイIku Yamamoto
 
KARYA MONUMENTAL UMAT ISLAM DALAM IPTEKS
KARYA MONUMENTAL UMAT ISLAM DALAM IPTEKSKARYA MONUMENTAL UMAT ISLAM DALAM IPTEKS
KARYA MONUMENTAL UMAT ISLAM DALAM IPTEKSAbdul Rais P
 
MATERI ALJABAR KELAS VII
MATERI ALJABAR KELAS VIIMATERI ALJABAR KELAS VII
MATERI ALJABAR KELAS VIIAbdul Rais P
 
Konsep Bilangan Bulat
Konsep Bilangan BulatKonsep Bilangan Bulat
Konsep Bilangan BulatAbdul Rais P
 
STRUKTUR PEMERINTAHAN INDONESIA MENURUT UUD 1945 (AMANDEMEN)
STRUKTUR PEMERINTAHAN INDONESIA MENURUT UUD 1945 (AMANDEMEN)STRUKTUR PEMERINTAHAN INDONESIA MENURUT UUD 1945 (AMANDEMEN)
STRUKTUR PEMERINTAHAN INDONESIA MENURUT UUD 1945 (AMANDEMEN)Abdul Rais P
 
Laporan Kegiatan Magang 1
Laporan Kegiatan Magang 1Laporan Kegiatan Magang 1
Laporan Kegiatan Magang 1Abdul Rais P
 
Teori Belajar Robert M. GAgne
Teori Belajar Robert M. GAgneTeori Belajar Robert M. GAgne
Teori Belajar Robert M. GAgneAbdul Rais P
 

Viewers also liked (18)

Hakekat matematika
Hakekat matematika Hakekat matematika
Hakekat matematika
 
Accionsolidaria grupo173
Accionsolidaria grupo173Accionsolidaria grupo173
Accionsolidaria grupo173
 
Teo
TeoTeo
Teo
 
INGENIERIA ECONOMICA ISABEL CRISTINA
INGENIERIA ECONOMICA ISABEL CRISTINAINGENIERIA ECONOMICA ISABEL CRISTINA
INGENIERIA ECONOMICA ISABEL CRISTINA
 
Makalah jadi
Makalah jadiMakalah jadi
Makalah jadi
 
Science – the human body
Science – the human bodyScience – the human body
Science – the human body
 
Sejarah Muhammadiyah
Sejarah MuhammadiyahSejarah Muhammadiyah
Sejarah Muhammadiyah
 
Science – the human body
Science – the human bodyScience – the human body
Science – the human body
 
Mapa germary
Mapa germaryMapa germary
Mapa germary
 
Tarde de Halloween
Tarde de HalloweenTarde de Halloween
Tarde de Halloween
 
statement and recommendation
statement and recommendationstatement and recommendation
statement and recommendation
 
自動デプロイ
自動デプロイ自動デプロイ
自動デプロイ
 
KARYA MONUMENTAL UMAT ISLAM DALAM IPTEKS
KARYA MONUMENTAL UMAT ISLAM DALAM IPTEKSKARYA MONUMENTAL UMAT ISLAM DALAM IPTEKS
KARYA MONUMENTAL UMAT ISLAM DALAM IPTEKS
 
MATERI ALJABAR KELAS VII
MATERI ALJABAR KELAS VIIMATERI ALJABAR KELAS VII
MATERI ALJABAR KELAS VII
 
Konsep Bilangan Bulat
Konsep Bilangan BulatKonsep Bilangan Bulat
Konsep Bilangan Bulat
 
STRUKTUR PEMERINTAHAN INDONESIA MENURUT UUD 1945 (AMANDEMEN)
STRUKTUR PEMERINTAHAN INDONESIA MENURUT UUD 1945 (AMANDEMEN)STRUKTUR PEMERINTAHAN INDONESIA MENURUT UUD 1945 (AMANDEMEN)
STRUKTUR PEMERINTAHAN INDONESIA MENURUT UUD 1945 (AMANDEMEN)
 
Laporan Kegiatan Magang 1
Laporan Kegiatan Magang 1Laporan Kegiatan Magang 1
Laporan Kegiatan Magang 1
 
Teori Belajar Robert M. GAgne
Teori Belajar Robert M. GAgneTeori Belajar Robert M. GAgne
Teori Belajar Robert M. GAgne
 

Similar to Lap lich du an

Business processeffortestimation
Business processeffortestimationBusiness processeffortestimation
Business processeffortestimationDavut Çulha
 
Agile businessprocessdevelopmentmethodology
Agile businessprocessdevelopmentmethodologyAgile businessprocessdevelopmentmethodology
Agile businessprocessdevelopmentmethodologyDavut Çulha
 
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATIONSOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATIONIJCI JOURNAL
 
COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES
COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES
COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES ijseajournal
 
IRJET- Course outcome Attainment Estimation System
IRJET-  	  Course outcome Attainment Estimation SystemIRJET-  	  Course outcome Attainment Estimation System
IRJET- Course outcome Attainment Estimation SystemIRJET Journal
 
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...ijseajournal
 
GAS MANAGEMENT SYSTEM.pdf
GAS MANAGEMENT SYSTEM.pdfGAS MANAGEMENT SYSTEM.pdf
GAS MANAGEMENT SYSTEM.pdfRmsDagi
 
A guide to deal with uncertainties in software project management
A guide to deal with uncertainties in software project managementA guide to deal with uncertainties in software project management
A guide to deal with uncertainties in software project managementijcsit
 
ALGORITHMIC THINKING-A PARAMETRIC APPROACH TO PROBLEM SOLVING.
ALGORITHMIC THINKING-A PARAMETRIC APPROACH TO PROBLEM SOLVING.ALGORITHMIC THINKING-A PARAMETRIC APPROACH TO PROBLEM SOLVING.
ALGORITHMIC THINKING-A PARAMETRIC APPROACH TO PROBLEM SOLVING.Kate Campbell
 
project management
project managementproject management
project managementTrade Expert
 
Upslis faculty tenure lecture presentation
Upslis faculty tenure lecture presentationUpslis faculty tenure lecture presentation
Upslis faculty tenure lecture presentationSonia Pascua
 
Leave management System
Leave management SystemLeave management System
Leave management Systempratikmahorey
 
Usability Evaluation Techniques for Agile Software Model
Usability Evaluation Techniques for Agile Software Model Usability Evaluation Techniques for Agile Software Model
Usability Evaluation Techniques for Agile Software Model Saad, Ph.D (Health IT)
 

Similar to Lap lich du an (20)

Business processeffortestimation
Business processeffortestimationBusiness processeffortestimation
Business processeffortestimation
 
Agile businessprocessdevelopmentmethodology
Agile businessprocessdevelopmentmethodologyAgile businessprocessdevelopmentmethodology
Agile businessprocessdevelopmentmethodology
 
Site inspection
Site inspectionSite inspection
Site inspection
 
Keeping history
Keeping historyKeeping history
Keeping history
 
Culha methodology
Culha methodologyCulha methodology
Culha methodology
 
Agile bpsdm
Agile bpsdmAgile bpsdm
Agile bpsdm
 
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATIONSOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
SOFTWARE COST ESTIMATION USING FUZZY NUMBER AND PARTICLE SWARM OPTIMIZATION
 
COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES
COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES
COMPARATIVE STUDY OF SOFTWARE ESTIMATION TECHNIQUES
 
IRJET- Course outcome Attainment Estimation System
IRJET-  	  Course outcome Attainment Estimation SystemIRJET-  	  Course outcome Attainment Estimation System
IRJET- Course outcome Attainment Estimation System
 
Senior Design Final Report
Senior Design Final ReportSenior Design Final Report
Senior Design Final Report
 
50120130405029
5012013040502950120130405029
50120130405029
 
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
SCHEDULING AND INSPECTION PLANNING IN SOFTWARE DEVELOPMENT PROJECTS USING MUL...
 
GAS MANAGEMENT SYSTEM.pdf
GAS MANAGEMENT SYSTEM.pdfGAS MANAGEMENT SYSTEM.pdf
GAS MANAGEMENT SYSTEM.pdf
 
A guide to deal with uncertainties in software project management
A guide to deal with uncertainties in software project managementA guide to deal with uncertainties in software project management
A guide to deal with uncertainties in software project management
 
ALGORITHMIC THINKING-A PARAMETRIC APPROACH TO PROBLEM SOLVING.
ALGORITHMIC THINKING-A PARAMETRIC APPROACH TO PROBLEM SOLVING.ALGORITHMIC THINKING-A PARAMETRIC APPROACH TO PROBLEM SOLVING.
ALGORITHMIC THINKING-A PARAMETRIC APPROACH TO PROBLEM SOLVING.
 
project management
project managementproject management
project management
 
Upslis faculty tenure lecture presentation
Upslis faculty tenure lecture presentationUpslis faculty tenure lecture presentation
Upslis faculty tenure lecture presentation
 
Leave management System
Leave management SystemLeave management System
Leave management System
 
Usability Evaluation Techniques for Agile Software Model
Usability Evaluation Techniques for Agile Software Model Usability Evaluation Techniques for Agile Software Model
Usability Evaluation Techniques for Agile Software Model
 
Software
SoftwareSoftware
Software
 

Recently uploaded

AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxLigayaBacuel1
 

Recently uploaded (20)

Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptx
 

Lap lich du an

  • 1. 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
  • 2. 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)
  • 3. 3 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 :
  • 4. 4 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
  • 5. 5 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
  • 6. 6 Ö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
  • 7. 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
  • 8. 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.
  • 9. 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
  • 10. ix 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
  • 11. 1 1 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
  • 12. 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 - CostParameters.........................................103 Table C6. Model 4 and Model 5 – Activity durations (weeks).......................................104 xii
  • 13. 13 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
  • 14. 14 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
  • 15. 15 Figure 4-4 EAC range updated with penalty cost ............................................................83 Figure 4-5 EAC range updated with indirect cost............................................................86
  • 16. 16 LIST ofACRONYMS 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
  • 17. 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 xvii
  • 18. 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
  • 19. 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. Soscheduling 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.
  • 20. 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.
  • 21. 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
  • 22. 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.
  • 23. 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
  • 24. 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.
  • 25. 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.
  • 26. 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.
  • 27. 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.
  • 28. 11 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 6 Weeks 3 Weeks 6 Weeks Complete Testing Complete Final Report Test Final Report Preparation AOA Representation AON Representation
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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.2ProjectPerformance Measurementand 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].
  • 34. 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
  • 35. 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. Cost Now Months Figure 2-2 Key values ofEV 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 EAC AC BAC PV EV
  • 36. 19 (the sum of all individual EV budgets divided by the sum of all individual ACs) is
  • 37. 20 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. > 1.0 € Good + 1 Plan = 1.0 - < 1.0 € Poor Figure 2-3 Quantification ofSPI 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]).
  • 38. 21 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,
  • 39. 22 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.
  • 40. 23 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.
  • 41. 24 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
  • 42. 25 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.
  • 43. 26 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.
  • 44. 27 $ High End Earned Value Statistical Cost Estimate Range Low End Project Budget 15% Complete Time 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.
  • 45. 28 2.2.2 Studies on the Utilizationof 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
  • 46. 29 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.
  • 47. 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;
  • 48. 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.
  • 49. 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.
  • 50. 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 = ti *ri i Where ti denotes the length of time that team i works for the project, while ri denotes the direct labor rate of team i.
  • 51. 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.
  • 52. 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
  • 53. 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 min M k Subject to 1)C jkt 1 j k,t
  • 54. 36 This constraint will ensure that each activity will be completed by only one team at a time t. 2)Cjk t *Cjkt t 1...T j,k 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)C jk  Czk  ( pjk *Cjkt ) j, z P( j) k z ,k k,t 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) X jkt  C jku ut ,t pjk1 j,k,t 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)X jkt  j X jet 1 j,eH (k ) k,t This constraint avoids overlapping teams from working at the same time.
  • 55. 37 6) X jkt 1 j1...n k,t
  • 56. 38 6th constraint ensures that a team k will be working on one activity at a specific time t. 7) sk * X jkt I *Cmk K M j ,k ,t k 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) (Cmk )  L  y* B k
  • 57. 39 9) (1 y)* B  K  P*(Cmk )  L* P* y k 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 (Cmk ) exceeds the due date L or not. k 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 K  P *(Cmk )  L* P. Since K is a part of objective M in k constraint 7, model will try to minimize K and K will be K  P *((Cmk )  L) . k 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 B  K  P*(Cmk ) and since the objective is k minimizing M, K will get the value 0.
  • 58. 40 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-1below.
  • 59. 41 T Cost Parameters Teams (Resources) Constraints Optimum Schedule Figure 3-1 Black box representation ofthe 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. Activities MODEL
  • 60. 42 An example is provided below with the aim of giving a better and more concrete understanding of this situation. 30 25 20 15 10 5 0 20 25 30 35 40 45 50 55 60 T 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 Cost(X1000$)
  • 61. 43 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. Solution Time topt Tinf Topt T Figure 3-3 Solution time versus T No Feasible Solutions Feasible Solutions but not optimum
  • 62. 44 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.
  • 63. 45 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)
  • 64. 46 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.
  • 65. 47 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
  • 66. 48 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. Cost at Completion Cheur theuristic Project Completion Time Figure 3-4 Cost at completion versus project completion time
  • 67. 49 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.
  • 68. 50 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. TEAMS 2 1 4 3 Applying the method discussed above results in such aschedule: Team: Duration: 1 B 15 2 A 12 3 B 16 4 A 7 Project Completion Time: 15 + 12 + 16 + 7 = 50 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. A B 1 10 15 2 12 9 3 13 16 4 7 4 Figure 3-5 Use ofthe method on a small sample project ACTIVITIES
  • 69. 51 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 Same Problem 22 Weeks 824 $ Model 2 64 weeks 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
  • 70. 52 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.
  • 71. 53 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.
  • 72. 54 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 23 25 28 29 35 55 60 Sln.Time(Sec)
  • 73. 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
  • 74. 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 Activities Heuristic T (week) Solution Time(sec.) Objective ($) Max. T (week) Solution Time(sec.) Objective ($) 1 1 3 15 25 37,71 817 64 787,65 817 2 26 73,27 823 64 1.051,32 823 3 30 242,92 755 72 1.961,28 755 2 4 4 15 26 13,83 795 71 198,23 795 5 28 11,03 797 71 165,77 797 6 30 28,23 771 77 738,75 771 3 7 3 20 38 359,01 1.257 90 12.123,59 1.257 8 39 4.698,25 1.276 90 24.305,43 1.276 9 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
  • 75. 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 absoluteoptimum. 3.4Computer 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
  • 76. 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.
  • 77. 58 C O M P U T E R P R O G R AM Teams (Resources) Constraints HEURISTIC ALGORITHM Upper Bound IP Model Cost Parameters Activities MATHEMATICAL FORMULATION Heuristic Schedule Figure 3-7 Black box representation ofthe 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
  • 78. 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)
  • 79. 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
  • 80. 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
  • 81. 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/
  • 82. 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.
  • 83. 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.
  • 84. 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