COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP...
Transcript of COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP...
![Page 1: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/1.jpg)
Department for Computer Science
and Software Engineering
COMP 354:
INTRODUCTION TO SOFTWARE ENGINEERING
Daniel Sinnig, PhD
07-May-14
Software Project Management
![Page 2: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/2.jpg)
2
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
What is a project?
Some dictionary definitions:
“A specific plan or design”
“A planned undertaking”
“A large undertaking e.g. a public works scheme”
The Guide to the Project Management Body of Knowledge
(PMBOK), defines project as:
“a temporary endeavor undertaken to achieve a specific and unique product
or service.”
© C. Constantinidies
![Page 3: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/3.jpg)
3
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
What is a project?
• ‘Jobs’ – repetition of very well-defined and well understood tasks with
very little uncertainty
• ‘Exploration / Research’ – e.g. finding a cure for cancer: the outcome is very uncertain
• Projects – in the middle!
©Hughes and Cotterell. “Software Project Management” (5th edition)
![Page 4: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/4.jpg)
4
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Characteristics of projects
A task is more ‘project-like’ if it is:
• Non-routine
• Planned
• Aiming at a specific target
• Carried out for a customer
• Carried out by a temporary work group
• Involving several specialisms
• Made up of several different phases
• Constrained by time and resources
• Large and/or complex
©Hughes and Cotterell. “Software Project Management” (5th edition)
![Page 5: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/5.jpg)
5
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
In-class Exercise
Which of the following may be classified as projects?
• Producing an edition of a newspaper
• Writing a paper
• Preparing a COMP 354 lecture
• Getting married
• Amending a financial computer system to deal with the EURO currency
• A COMP 354 midterm
• Writing an automated trading system
• Installing a new version of MS Office
![Page 6: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/6.jpg)
6
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
What are software projects?
Are software projects really different from other projects?
Not really …but the following characteristics of software make software more problematic to build than other engineered artefacts.
• Invisibility
• Complexity
• Conformity
• Flexibility
© C. Constantinidies
![Page 7: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/7.jpg)
7
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Types of Software Projects
Software Projects can be:
• In-house: clients and developers are employed by the same organization
• Out-sourced: clients and developers employed by different organizations
• ‘Project manager’ could be:
– a ‘contract manager’ in the client organization
– a technical project manager in the supplier/services organization
©Hughes and Cotterell. “Software Project Management” (5th edition)
![Page 8: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/8.jpg)
8
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Activities covered by project management
• Feasibility study: Is project technically feasible and worthwhile from a business point of view?
• Planning: Only done if project is feasible
• Execution: Implement plan, but plan may be changed as we go along
©Hughes and Cotterell. “Software Project Management” (5th edition)
![Page 9: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/9.jpg)
9
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
What is management?
This involves the following activities:
• Planning – deciding what is to be done
• Organizing – making arrangements
• Staffing – selecting the right people for the job
• Directing – giving instructions
• Monitoring – checking on progress
• Controlling – taking action to remedy hold-ups
• Innovating – coming up with solutions when problems emerge
• Representing – liaising with clients, users, developers and other stakeholders
©Hughes and Cotterell. “Software Project Management” (5th edition)
![Page 10: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/10.jpg)
10
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Why projects fail
• Ignorance of management over engineering (IT) issues.
• Deadline pressure.
• Poor role definition: Who does what. Who has access to what (technical)
resources.
• Requirements can be incomplete, ambiguous, inconsistent, or not measurable.
Success criteria can be incorrect or undefined.
• Lack of (developer) knowledge of application area.
• Poor estimation and planning. Casual estimates of milestones.
• Ineffective environment. Unavailability of the right tools.
• Lack of reliable documentation (especially for maintenance tasks).
©Hughes and Cotterell. “Software Project Management” (5th edition)
![Page 11: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/11.jpg)
11
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Activity Planning (Scheduling) • Break down (or compartmentalize) the overall project into manageable
components, called activities (or tasks).
• Deciding in advance, what to do, why do it, how to do it, when to do it and who
is to do it.
Result: A detailed project plan including:
• Projected start and completion days of the project
• Break-down of project into list of activities (tasks) including
• For each activity:
– Duration (incl. start and completion dates)
– Effort required
– Required resources
– Inter-dependencies to other activities
– Etc.
![Page 12: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/12.jpg)
12
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Fundamentals of activity planning
• A project is:
– Composed of a number of activities
– May start when at least one of its activities is ready to start
– Completed when all its activities are completed
• An activity has/is:
– Clearly defined start and end point
– Clearly defined outcome (normally a work-product (or artifact).
• Work products are combined into deliverables.
• For example, the artifacts produced by the activities of a an iteration are
combined into the deliverable for that particular iteration.
– Assigned to a specific team member
– Precedence requirements
![Page 13: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/13.jpg)
13
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• There is a common myth that if we fall behind schedule, we can always
add more developers and catch up later in the project.
• Unfortunately this is not so simple and this policy most likely would
create more problems than the ones it aims at solving.
• Adding people late in a project often has a disruptive effect on the
project (causing schedules to slip even further) as new people must learn
the system, and people who teach them are the same people who do the
work.
• During teaching, no work is done. Furthermore, more people increase
the complexity of communication throughout the project.
• Brook’s law: “Adding manpower to a late project makes it later”
The relationship between people and effort
![Page 14: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/14.jpg)
14
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• Mathematical graphs that help managers to:
– Visualize the plan of a project
– Assess the feasibility of the completion date
– Identify how resources would need to map to activities and how they will
need to be deployed to them, and to calculate when costs will be incurred.
• Activity networks provide a tool for the coordination (and
the motivation – why?) of the project team
Activity networks
![Page 15: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/15.jpg)
15
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• An activity-on-node network is a directed mathematical
graph where
– Nodes represent activities
– Edges represent transitions from one activity to another, explicitly
illustrating their sequence.
• Each node includes the following information:
Activity-on-node networks
Legend:
• ES = Earliest start
• LS = Latest start
• EF = Earliest finish
• LF = Latest finish
![Page 16: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/16.jpg)
16
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• Exactly one starting and end node
• A node (representing activity) has a duration, an edge does not
• A network may not contain loops (why)
• A network should not contain dangles
Activity-on-node networks: Constraints
![Page 17: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/17.jpg)
17
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• The requirements specification of an IT application is estimated to take two weeks to
complete (a week is seven days).
• When this activity has been completed, work can start on three software modules, A, B
and C.
• The design/implementation of A, B and C will need five, ten and ten days respectively.
• Modules A and B can only be unit-tested together as their functionality is closely
associated. This joint testing should take two weeks.
• Module C will require eight days of unit testing.
• Once all unit-testing has been completed, the planning of integrated system testing must
take place and it would require a ten days. The activity itself would take three weeks.
• The project manager has decided not to allow any holiday for the duration of this
project.
Example: Activity-on-node network
![Page 18: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/18.jpg)
18
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Translating the problem statement into tabular form
![Page 19: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/19.jpg)
19
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Translating the table into a graph
![Page 20: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/20.jpg)
20
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• For each activity we must determine the following
parameters:
– Earliest start time (ES): the earliest time at which the activity can
start given that its precedent activities must be completed first.
– Earliest finish time (EF): equals to the earliest start time for the
activity plus the time required to complete the activity.
– Latest finish time (LF): the latest time at which the activity can be
completed without delaying the project.
– Latest start time (LS): equals to the latest finish time minus the
time required to complete the activity.
Time parameters
![Page 21: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/21.jpg)
21
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• The earliest start and finish times of each activity are
determined by working forward through the network and
determining the earliest time at which an activity can start
and finish considering its predecessor activities.
• For each activity, we calculate the earliest times by applying
the forward pass rule.
• The forward pass rule: The earliest start date for the
current activity is the earliest finish date for the previous.
When there is more than one previous activity, we take the
latest between all previous activities.
– The earliest start date for the start node is 0 (“end of day 0)
Determining earliest times: Forward pass
![Page 22: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/22.jpg)
22
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• Activity S can start immediately (we follow the convention to
write “the end of day 0”).
• It will take 14 days, which is the earliest it can finish. Thus,
– ES(S) = 0
– EF(S) = 14
Performing a forward pass
![Page 23: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/23.jpg)
23
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• Activities DCA, DCB and DCC can start as soon as S
completes. Activity DCA will take 5 days, so the earliest it
can finish is (at the end of) day 19.
• Similarly, the earliest finish for activities DCB and DCC
(both of which will take 10 weeks) is (at the end of) day 24.
– ES(DCA) = ES(DCB) = ES(DCC) = 14
– EF(DCA) = 19
– EF(DCB) = EF(DCC) = 24
Performing a forward pass (cont.)
![Page 24: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/24.jpg)
24
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• Activity UTAB cannot start until both its preceding activities
can finish.
• The earliest start for UTAB is the latest between the earliest
finish of its preceding activities, i.e. the latest between
EF(DCA), and EF(DCB) which is (at the end of) day 24.
• Activity UTAB will take 14 days to complete, and so the
earliest it can finish is (at the end of) day 38.
– ES(UTAB) = 24
– EF(UTAB) = 38
Performing a forward pass (cont.)
![Page 25: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/25.jpg)
25
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• Activity UTC cannot start until activity DCC finishes, i.e.
ES(UTC) = EF(DCC) = 24.
• Activity UTC will take 8 days to complete, so the earliest it
can finish is (at the end of) day 32.
– ES(UTC) = 24
– EF(UTC) = 32
Performing a forward pass (cont.)
![Page 26: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/26.jpg)
26
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• Activity P cannot start until both its preceding activities
finish.
• The earliest that activity P can start is the latest between the
earliest finish of its preceding activities UTAB and UTC, i.e.
the latest of EF(UTAB), and EF(UTC), which is 38.
• Activity P will take 10 days to complete, so the earliest it can
finish is (at the end of) day 48.
– ES(P) = 38
– EF(P) = 48
Performing a forward pass (cont.)
![Page 27: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/27.jpg)
27
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• Activity IST cannot start until activity P finishes.
• The earliest start of IST is the earliest finish of P.
• Activity IST will take 21 days to complete, so the earliest is
can finish is (at the end of) day 69.
– ES(IST) = 48
– EF(IST) = 69
• The project will be complete when activity IST is complete.
• The earliest the project can complete is (at the end of) day
69.
Performing a forward pass (cont.)
![Page 28: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/28.jpg)
28
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Forward pass: Conclusion
![Page 29: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/29.jpg)
29
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• The latest start and finish times are the latest times that an
activity can start and finish without delaying the project and
they are found by working backward through the network.
• We assume that the latest finish date for the project is the
same as the earliest finish date, i.e. we wish to complete the
project as early as possible.
Determining latest times: The backward pass
![Page 30: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/30.jpg)
30
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• Start from the last activity: The latest finish (LF) for the last activity is the
earliest the project can complete.
– E.g., Earliest finish (EF) of last activity
• We now work backwards for each subsequent activities: The latest finish (LF)
for a given activity is the latest start (see below) of its following activity, i.e. LF
(activity) = LS (following activity).
• If more than one following activity exists, we take the earliest of the latest start
dates of its following activities, i.e. LF (activity) = min (LSs of following
activities).
• The latest start (LS) of a given activity is given by the difference between its
latest finish (LF) and its duration, i.e. LS(activity) = LF(activity) -
duration(activity).
Determining latest times: The backward pass rule
![Page 31: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/31.jpg)
31
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• The latest completion date for activities IST is assumed to be (the
end of) day 69.
• This assumption is based on the fact that we do not want to delay
the project more than its earliest possible completion date.
• Since the duration of IST is 21 days, its latest start is the difference
between its latest finish and its duration.
– LF(IST) = 69
– LS(IST) = LF(IST) - duration(IST) = 48
Performing a backward pass
![Page 32: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/32.jpg)
32
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• The latest completion date for activity P is the latest date at which
the following activity, IST, can start.
• Also, the latest start for activity P is the difference between its
latest finish and its duration i.e.
– LF(P) = LS(IST) = 48
– LS(P) = LF(P) - duration(P) = 48 - 10 = 38
Performing a backward pass (cont.)
![Page 33: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/33.jpg)
33
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• The latest completion date for activities UTAB and UTC are the
latest day at which the following activity, P, can start.
– LF(UTAB) = LF(UTC) = LS(P) = 38
Performing a backward pass (cont.)
![Page 34: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/34.jpg)
34
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• The latest start for activity UTAB is the difference between its
latest finish and its duration, i.e.
– LS(UTAB) = LF(UTAB) - duration(UTAB) = 38 - 14 = 24
• Similarly the latest start for activity UTC is the difference between
its latest finish and its duration, i.e.
– LS(UTC) = LF(UTC) - duration(UTC) = 38 - 8 = 30
Performing a backward pass (cont.)
![Page 35: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/35.jpg)
35
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• The latest finish dates for activities DCA and DCB are the latest
day at which the following activity, UTAB, can start, i.e.
– LF(DCA) = LF(DCB) = LS(UTAB) = 24
• The latest start date for DCA and DCB are the differences
between their corresponding latest finish dates and their duration,
i.e.
– LS(DCA) = LF(DCA) - duration(DCA) = 24 - 5 = 19
– LS(DCB) = LF(DCB) - duration(DCB) = 24 - 10 = 14
Performing a backward pass (cont.)
![Page 36: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/36.jpg)
36
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• The latest finish date for activity DCC is the latest day at which
the following activity, UTC, can start, i.e.
– LF(DCC) = LS(UTC) = 30
• The latest start date for activity DCC is the difference between its
latest finish date and its duration, i.e.
– LS(DCC) = LF(DCC) - duration(DCC) = 30 - 10 = 20
Performing a backward pass (cont.)
![Page 37: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/37.jpg)
37
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• The latest finish date for activity S is the earliest of the latest start
dates of its following activities, DCA, DCB and DCC, i.e. the
minimum of LS(DCA), LS(DCB), and DC(DCC).
– LF(S) = 14
• The latest start date for activity S is the difference between its
latest finish date and its duration, i.e.
– LS(S) = LF(S) - duration(S) = 0
Performing a backward pass (cont.)
![Page 38: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/38.jpg)
38
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Backward pass: Conclusion
![Page 39: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/39.jpg)
39
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• The difference between an activity’s earliest start date (ES) and its
latest start date (LS) (or the difference between earliest and latest
finish dates) is known as the activity’s float, i.e.
– Float = LS − ES
• But LS = (LF − Duration), so
– Float = LF − Duration − ES
• In essence, float is a measure of how much the start or completion
of an activity may be delayed without affecting the end date of the
project. Any activity with zero float is critical as any delay will
affect the completion of the entire project.
Activity float
![Page 40: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/40.jpg)
40
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
• Critical path defines the duration of the project
– Any delay to any activity on the critical path will delay the project
– If activities outside the critical path speed up the total project time does not
change.
• The “float” of all activities on the critical path is ‘0’
• The critical path is determined by adding the times for the
activities in each sequence and determining the longest path in the
project.
• In the activity network, there will be one at least critical path.
Critical path
![Page 41: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/41.jpg)
41
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Determining the float and critical path in the example
![Page 42: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/42.jpg)
42
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Maximum duration
• There is one parameter we still have not mentioned: As a project manager you need to plan the resources required for each activity.
• To do that, you need to calculate, for each activity, the maximum possible duration. This is given by LF − ES.
![Page 43: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/43.jpg)
43
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
PERT to evaluate the effects of uncertainty
• So far, we considered models with “single time estimates” for
activity durations
– Called CPM = Critical Path Models
• PERT = Program Evaluation and Review Technique
• PERT requires three estimates for each activity
– Most likely time (m): Activity duration under normal circumstances
– Optimistic time (a): Shortest time to complete the activity
– Pessimistic time (b): Worst possible time to complete the activity
• Derived attribute: Expected duration(t) t= (a+4m+b) / 6
• Derived attribute: Standard deviation*(s) s = (b-a) / 6
* Definition of standard derivation differs from (math) textbook definition
![Page 44: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/44.jpg)
44
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example: PERT Activities
Activity
label
Precedents Optimistic
(a)
Most
likely (m)
Pessimistic
(b)
Expected
(t)
Standard
derivation
A 5 6 8
B 3 4 5
C A 2 3 3
D B 3.5 4 5
E B 1 3 4
F 8 10 15
G E, F 2 3 4
H C, D 2 2 2.5
![Page 45: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/45.jpg)
45
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example: PERT Activities
Activity
label
Precedents Optimistic
(a)
Most
likely (m)
Pessimistic
(b)
Expected
(t)
Standard
derivation
A 5 6 8 6.17 0.50
B 3 4 5 4.00 0.33
C A 2 3 3 2.83 0.17
D B 3.5 4 5 4.08 0.25
E B 1 3 4 2.83 0.5
F 8 10 15 10.5 1.17
G E, F 2 3 4 3.00 0.33
H C, D 2 2 2.5 2.08 0.08
![Page 46: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/46.jpg)
46
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
PERT networks
• PERT can be modelled as activity-on-node and activity-on-arrow
networks
– In this course we will focus activity-on-arrow networks
• Each event is represented by a node structures as follows:
• Each activity is represented by an arrow labelled as follows:
– Activity label
– Expected duration (t)
– Standard derivation (s)
Event
number
Target
date
Expected
date
Standard
deviation
![Page 47: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/47.jpg)
47
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Activity-on-arrow networks
• An activity-on-arrow network is a mathematical graph where nodes represent events of activities (or groups of activities: starting or finishing), and edges represent activities (may also include durations).
![Page 48: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/48.jpg)
48
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Activity-on-arrow networks: Constraints
• We may have only one start and end node.
• Since an edge represents an activity, it has a duration.
• On the other hand, a node (representing some milestone) has no
duration.
• Nodes are numbered sequentially.
• If we choose not to show direction of edges, we must follow a
convention to read the graph properly. In our convention, time
moves from left to right.
• A graph may not contain loops.
• A graph may not contain dangles
![Page 49: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/49.jpg)
49
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example PERT network
![Page 50: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/50.jpg)
50
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Calculating expected dates of events
• Expected date = date the event is expected to occur
• Calculated using a forward pass
• Forward pass rule:
– Expected date (Event) : Latest expected finish (EF) date of all preceding
activities
– Expected Start (ES) (activity) = Earliest expected date (Event) in which
the activity originates from.
– EF(activity) = ES(activity) + Expected Duration(activity)
Event
number
Target
date
Expected
date
Standard
derivation
![Page 51: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/51.jpg)
51
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example PERT network (after the forward pass
for calculating expected dates of events)
![Page 52: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/52.jpg)
52
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Calculating standard deviation of events
• Calculated using a forward pass
• Forward pass rule:
– Standard deviation (Event) : Max of sqrt (s(activity’) 2+s (event’)2)
– s(activity’) = standard deviation of all preceding activities
– s(event’) = standard deviation of preceding event
Event
number
Target
date
Expected
date
Standard
derivation
![Page 53: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/53.jpg)
53
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example PERT network (after the forward pass
for calculating standard derivations of events)
![Page 54: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/54.jpg)
54
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Calculating likelihood of target dates
• For each event a target date (T) may be specified
• The following procedure calculates the probability of achieving
the target date:
(1) Calculate z-value for each event that has a target date as follows
z = (T-t) / s, where
T = target date for the event
t = expected date of event
s = standard deviation of the event
z-value = number of standard deviations between event’s expected date and
event’s target date
(2) Convert z-value to a probability (defined in subsequent slides)
Event
number
Target
date
Expected
date
Standard
derivation
![Page 55: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/55.jpg)
55
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example PERT network (setting target dates for
events 4, 5, 6)
![Page 56: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/56.jpg)
56
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example PERT network (calculating z-values for
events 4, 5, 6)
z4 = (10-9) / 0.53 = 1.89
z5 = (10-10.5) / 1.17 = -0.43
z6 = (15-13.5) / 1.22 = 1.23
Can you provide an intuitive interpretation of the z-value?
![Page 57: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/57.jpg)
57
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Interpretation of z-value
• The higher the z-value the more likely it is to achieve the target
date. Why?
• The lower the z-value the less likely it is to achieve the target date.
Why?
![Page 58: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/58.jpg)
58
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Convert z-value to a probability
![Page 59: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/59.jpg)
59
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example PERT network (interpreting z-values for
events 4, 5, 6)
z4 = (10-9) / 0.53 = 1.89
• The target date will be missed with a ~3% probability
• The target date will be achieved with a ~97% probability
z5 = (10-10.5) / 1.17 = -0.43
• The target date will be missed with a ~67% probability
• The target date will be achieved with a ~33% probability
z6 = (15-13.5) / 1.22 = 1.23
• The target date will be missed with a ~11% probability
• The target date will be achieved with a ~89 probability
![Page 60: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/60.jpg)
60
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Project monitoring and control
• Project performance reporting
• Collection and dissemination of information on
– Project status
– Project progress
– Project forecast
• Addresses the following questions:
– “Where are we on schedule?”
– “Where are we on budget?”
– “Are tasks get accomplished according to plan?”
![Page 61: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/61.jpg)
61
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Why monitoring?
• Monitoring implies taking a “snapshot” of the project at a single
point in time.
• In iterative development, monitoring is performed during every
iteration.
• Not only we need the above information to make some judgment
about the state of the project, but we may also need to apply
proper controls to bring the project back on track.
![Page 62: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/62.jpg)
62
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Earned value analysis
• Quantitative analysis technique for measuring project
performance and progress
• Developed by US Department of Defense (DoD) to control
projects carried out by contractors
• The main idea behind earned value analysis is that the value of
the product increases as tasks are completed.
• Defines a set of key indicators to define project baseline, measure
progress and forecasting
![Page 63: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/63.jpg)
63
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Planned value (budgeted costs)
Note: Earned value analysis uses the term “task” to depict an
activity of a project
• For a given task k, the planned value (PVk ) is defined as the budget planned
for that task (based on the resources involved).
• As a project is essentially a collection of tasks, in order to determine the
progress at any given point along the project schedule, the PV of the project
is the sum of the PVk values of all tasks that should have been completed
by that point in time on the project schedule.
![Page 64: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/64.jpg)
64
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Planned value: An example
• Consider a project with the following (linear) tasks (in
parentheses are the associated planned values): A(20), B(5), C
(10), D (20), E (20), F (10), and G (15).
• If the tasks are placed on a time line, then on the time indicated
we plan to have spent the amount of 35.
![Page 65: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/65.jpg)
65
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Earned value • We define earned value (EV) as the planned value of the work
actually completed
– A task that has not yet started: Earned value of 0
– A task completed: Earned value = original planed value for that task
– Partially completed task, an evaluation method must be chosen and
consistently applied. Such as:
• 0/100 technique: EV of a task is 0 until completed
• 50/50 technique: EV = 50% of PV as soon as task is started. Matches some
contractual agreements where contractor is given 50% of PV when work is started
• 75/25 technique: EV = 75% of PV as soon as task is started. Often used when
expensive equipment is purchased at the beginning of the task
• Milestone technique: EV is given a certain value when a certain milestone has been
achieved
• Percentage technique: EV equals the percentage of actual task completion of the
planned value. We will use this technique for this class.
![Page 66: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/66.jpg)
66
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Budget at completion • The budget at completion (BAC) is the summation of the PV
values for all tasks:
BAC = (PVk) for all tasks k.
• In the following example, the BAC is 100.
![Page 67: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/67.jpg)
67
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Percent scheduled for completion
• The Percent scheduled for completion is an indication of the percentage
of work that should have been completed by a given point in
time and it is given by
• Percent scheduled for completion = 𝑃𝑉(𝑝𝑟𝑜𝑗𝑒𝑐𝑡)
BAC
• In the previous example, PV(project) = 35, and BAC = 100, so
the percent scheduled for completion is 35%.
![Page 68: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/68.jpg)
68
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Actual cost
• The actual cost (AC) is defined as the total of costs on tasks that
have actually been completed by a given point in time on the project
schedule.
![Page 69: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/69.jpg)
69
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Percent complete
• Percent complete provides a quantitative indication of the
percent of completion of the project at a given point in time:
𝑃𝑒𝑟𝑐𝑒𝑛𝑡 𝑐𝑜𝑚𝑝𝑙𝑒𝑡𝑒 = 𝐸𝑉
𝐵𝐴𝐶
![Page 70: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/70.jpg)
70
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Performance indicators
• The values for PV, AC and EV are used in combination to
provide measures of whether or not work is being accomplished
as planned:
– Cost Variance (CV)
– Schedule Variance (SV)
– Cost Performance Index (CPI)
– Schedule Performance Index (SPI)
![Page 71: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/71.jpg)
71
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Cost variance
• The cost variance (CV) is defined as: 𝐶𝑜𝑠𝑡 𝑉𝑎𝑟𝑖𝑎𝑛𝑐𝑒 (𝐶𝑉) = 𝐸𝑉 − 𝐴𝐶
• Difference between what we should have paid for work actually
performed, and what was actually paid for work actually performed.
– It is an absolute indication of cost savings (against planned cost) or shortfall at
a particular stage of a project.
– A positive variance implies less money was spent for the work accomplished
than what was planned to be spent.
– A negative variance means more money was spent for the work accomplished
than what was planned.
![Page 72: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/72.jpg)
72
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Schedule variance
• The schedule variance (SV) is defined as: SV = EV − PV
• Indicates the degree to which the value of completed work differs
from the value of the planned work.
• A positive value for SV implies that we are ahead of schedule.
• A negative value implies that we are behind schedule.
![Page 73: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/73.jpg)
73
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Cost performance index
• The cost performance index (CPI) is defined as: 𝐶𝑃𝐼 =𝐸𝑉 𝐴𝐶
• Ratio of the earned value over the actual cost of completed work, or
a quotient of what we should have paid for work performed, and
what was actually paid for work actually performed.
• CPI values close to 1.0 provide a strong indication that the project is
within its defined budget.
• CPI values greater than 1 indicate that the cost of completing the
work is less than planned.
• Similarly, CPI values less that 1 indicate that the cost of completing
the work is higher than planned.
![Page 74: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/74.jpg)
74
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Schedule performance index
• The schedule performance index (SPI) is defined as: 𝑆𝑃𝐼 =EV PV
• Quotient of the earned value over the planned value and it indicates
the rate of progress: the efficiency with which the project is utilizing
scheduled resources.
• SPI values close to 1.0 indicate efficient execution of the project
schedule.
• SPI values greater than 1 are favorable.
• SPI values less than 1 are not favorable.
![Page 75: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/75.jpg)
75
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Estimate at completion
• The estimate at completion (EAC) is defined as:
𝐸𝐴𝐶 = 𝐵𝐴𝐶
𝐶𝑃𝐼
• Initially (before the project starts) our estimate is given by BAC. As
we embark on the project, EAC is the quotient of what we planned
to spend over what we are actually spending and it indicates what we
expect the job to cost.
![Page 76: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/76.jpg)
76
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Estimate to complete
• Estimate to complete is defined as:
𝐸𝑇𝐶 = 𝐸𝐴𝐶 − 𝐴𝐶
• At any given point in time, ETC is a comparison of the estimate of
the final cost (EAC) to what we have spent to date (AC). ETC
indicates how much more will have to be spent in order to complete
the project.
![Page 77: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/77.jpg)
77
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Getting the project back on track
• Usually, projects run into delays or other unexpected events.
• A project manager has the responsibility to recognize when this is
happening (or when this is about to happen).
• With minimum delay and minimum disruption to the project, the
project manager has the responsibility to mitigate the effects of these
events over the project.
• The overall duration of a project is determined by the current critical
path. Speeding up non-critical path activities will not have any effect
on the project completion date.
• What options might be available?
![Page 78: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/78.jpg)
78
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Getting the project back on track (cont.)
• Allocate more efficient resources on activities on the critical path (or
swapping resources between critical and non-critical activities), e.g.
swap experienced programmers with junior programmers.
• Note that adding a programmer to a team might be counter-
productive due to the time (and resources) required to bring the new
people on board with the project (Brooks’ Law)
• Resources can be available for longer (e.g. on weekends).
• People can work overtime
![Page 79: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/79.jpg)
79
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Getting the project back on track (cont.)
• Other options include overlapping certain activities so that the start
of one activity does not have to wait for completion of another.
• This can also apply to iterations, i.e. iteration N + 1 can start before
iteration N is completed.
• Yet another option (last resort?) can be to renegotiate the contract.
![Page 80: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/80.jpg)
80
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 1
• Consider the following activity diagram below:
![Page 81: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/81.jpg)
81
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 1: Progress review
• Assume that the project is being prepared for a progress review at
the end of the second quarter (today).
• According to the budget plan, at the end of second quarter, tasks 1,
3, 5, 6 must have been completed.
• Task 2 should have been completed by 2/3, task 4 should have been
completed by 40%, and task 7 should have been completed by 50%.
• The project manager reports that tasks 1-6 have been completed as
planned, except task 7, which is 10% complete.
• The project manager also reports that the amount of money already
spent to date is $10,000.
![Page 82: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/82.jpg)
82
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 1: Progress review
• Apply any and all appropriate performance indicators to provide an
analysis of the project status as of today in terms of 1) schedule and
2) budget.
• If your analysis presents a problematic situation, briefly describe your
recommendations to bring the project back to track.
![Page 83: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/83.jpg)
83
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 1: Progress review
• PV = (100% × 2, 000) + (2/3 × 6, 000) + (100% × 1, 000) +
(40% × 5, 000) + (100% × 1, 000) + (100% × 1, 500) + (50% ×
6, 000) = 14, 500.
• EV = (100% × 2, 000) + (2/3 × 6, 000) + (100% × 1, 000) +
(40% × 5, 000) + (100% × 1, 000) + (100% × 1, 500) + (10% ×
6, 000) = 12, 100.
• The project is behind schedule (since EV < PV).
• The project is under budget (since AC < EV).
![Page 84: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/84.jpg)
84
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 1: Performance indicators
• The performance indicators are calculated as follows:
• The Schedule Variance
(SV) = EV − PV = 12, 100 − 14, 500 = −2, 400.
• The Schedule Performance Index (SPI ) = 𝐸𝑉
𝑃𝑉= 0.82 < 1
• The Cost Variance
(CV) = EV − AC = 12, 100 − 10, 000 = +2, 100.
• The Cost Performance Index (CPI ) = 𝐸𝑉
𝐴𝐶= 1.21 > 1
![Page 85: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/85.jpg)
85
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 1: Bringing the project back on track
• As we are under budget, we can afford to pay people overtime
(to complete more tasks), or recruit more people (even though
this may not be desirable), or even to replace junior developers
with senior developers (to have more tasks accomplished).
![Page 86: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/86.jpg)
86
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 2
• Consider the following activity diagram below:
![Page 87: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/87.jpg)
87
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 2: Progress review
• Assume that the project is being prepared for a progress review at
the end of the second quarter (today).
• According to the budget plan, at the end of second quarter, tasks 1,
3, 5, 6 must have been completed.
• Task 2 should have been completed by 60%, task 4 should have been
completed by 1/2, and task 7 should have been completed by 40%.
• The project manager reports that tasks 1-6 have been completed as
planned, except task 7, which is 15% complete.
• The project manager also reports that the amount of money already
spent as of today is $10,000.
![Page 88: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/88.jpg)
88
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 2: Progress review
• Apply a full monitoring analysis.
• If your analysis presents a problematic situation, briefly describe your
recommendations to bring the project back to track.
![Page 89: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/89.jpg)
89
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 2: Progress review
• The project budget, BAC, is given by
Σ(PVk ) = 1,500 + 6,000 + 1,000 + 3,000 + 3,000 + 2,000+
7,000 + 8, 000 = 31, 500.
• The planned value, PV, of the project at this moment in time is
given by
PV = (100% × 1,500) + (60% × 6,000) + (100% × 1,000)+
(1/2 × 3,000) + (100% × 3,000) + (100% × 2,000)+ (40% ×
7,000) = 15,400.
![Page 90: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/90.jpg)
90
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 2: Basic parameters: Interpretation
• As of today (the end of second quarter), team members are expected to have
completed $15, 400 worth of work.
• Percent complete. The percent complete is given by
𝑃𝑉
𝐵𝐴𝐶=
15,400
31,500= 0.48
• As of today, the project is planned to be 48% completed.
• The earned value, EV, is given by
EV = (100% × 1, 500) + (60% × 6, 000) + (100% × 1, 000)+ (1/2 × 3,
000) + (100% × 3, 000) + (100% × 2, 000)+ (15% × 7, 000) = 13, 650.
• As of today, the work that the team members performed, cost (is worth)
$13,650.
![Page 91: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/91.jpg)
91
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 2: Basic parameters: Interpretation
• The percent complete is given by 𝐸𝑉
𝐵𝐴𝐶=
13,650
31,500= 0.43
• As of today, 43% of the project is completed.
• The actual cost, AC = 10, 000.
• As of today, the work that the team members performed cost
$10, 000.
![Page 92: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/92.jpg)
92
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 2: Performance indicators
• The performance indicators are calculated as follows:
• The Schedule Variance
(SV) = EV − PV = 13, 650 − 15, 400 = −1, 750.
• The Schedule Performance Index (SPI ) = 𝐸𝑉
𝑃𝑉=
13,650
15,400= 0.88 < 1
• As of today, the project is behind schedule. The team has completed 88% of what
it should have completed.
• The Cost Variance
(CV) = EV − AC = 13, 650 − 10, 000 = +3, 650.
• The Cost Performance Index (CPI ) = 𝐸𝑉
𝐴𝐶=
13,650
10,000= 1.36 > 1
• As of today, the project is under budget. We are getting $1.36 for every dollar that
we spend.
![Page 93: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/93.jpg)
93
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 2: Forecasting
• The estimate at completion, EAC, is given by 𝐵𝐴𝐶
𝐶𝑃𝐼=
31,500
1.36= 23,161.76
• This value is the estimation of cost at the end of project (Quarter4), based
on Cost Performance Index.
• The estimate to complete, ETC, is given by EAC − AC = 23161.76 − 10,
000 = 13161.76.
• This value represents the amount of money still to be spent.
• The variance at completion, VAC, is given by BAC − EAC = 31, 500 −
23161.76 = 8338.235.
• This value represents the difference between the planed cost at the
beginning of the project and the estimation of cost based on today’s CPI.
![Page 94: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/94.jpg)
94
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 3
• Consider the following activity diagram below:
![Page 95: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/95.jpg)
95
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 3: Progress review
• Assume that the project is being prepared for a progress review at
the end of the second quarter (today).
• According to the budget plan, at the end of second quarter, tasks 1,
3, 5, 6 must have been completed.
• Task 2 should have been completed by 2/3, task 4 should have been
completed by 40%, and task 7 should have been completed by 60%.
• The project manager reports that tasks 1-6 have been completed as
planned, except task 7, which is 15% complete.
• The project manager also reports that the amount of money already
spent to date is $15,000.
![Page 96: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/96.jpg)
96
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 3: Progress review
![Page 97: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/97.jpg)
97
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 3: Progress review
![Page 98: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/98.jpg)
98
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 3: Bringing the project back on track
• To correct the budget deficiencies, perform a forecasting assessment
of the project’s financial status
• EAC = 𝐵𝐴𝐶
𝐶𝑃𝐼= $34, 239.
• ETC = EAC − AC = $19, 239.
• VAC = BAC − EAC = −$2739.
– Since VAC < 0, this indicates that the whole project will be over budget based on the
estimates of the remaining work.
– It is therefore incorrect to recommend any actions that would result in more funding
being needed unless the stakeholders/development organization are willing to invest
more.
– For example, asking the current developers to work overtime or hire new developers
would actually worsen the budget situation.
![Page 99: COMP 354: INTRODUCTION TO SOFTWARE …users.encs.concordia.ca/~gregb/home/PDF/sinnig-project...COMP 354: Introduction to Software Engineering 07-May-14 Daniel Sinnig, PhD • Activity](https://reader034.fdocuments.in/reader034/viewer/2022050506/5f97c22097e0af060f2d8656/html5/thumbnails/99.jpg)
99
COMP 354: Introduction to Software Engineering
Daniel Sinnig, PhD 07-May-14
Example 3: Bringing the project back on track
• To correct the schedule deficiencies
– Renegotiate contract with stakeholders to reduce the scope of the project or
extend the delivery date;
– Reassign more skilled developers to critical tasks;
– Use reusable components to minimize the time of development (COTS/Open
Source).