Upload
thilakavathy-sivashanmugam
View
235
Download
0
Embed Size (px)
Citation preview
8/3/2019 Introduction to EVM
1/28
http://ta.wikipedia.org/wiki/%E0%AE%AA%E0%AF%88%E0%AE%A4%E0%AF%8D
%E0%AE%A4%E0%AF%8B%E0%AE%A9%E0%AF%8D
http://creations.zoomin.com/Modules/ViewModule.aspx?c=INDIA&ProjectId=917660
Subsections
What is a Pointer?
Pointer and Functions
Pointers and Arrays
Arrays of Pointers Multidimensional arrays and pointers Static Initialisation of Pointer Arrays
Pointers and Structures
Common Pointer Pitfallso Not assigning a pointer to memory address before using it
o Illegal indirection
Exercise
Pointers
Pointer are a fundamental part of C. If you cannot use pointers properly then you havebasically lost all the power and flexibility that C allows. The secret to C is in its use of
pointers.
C usespointers a lot. Why?:
It is the only way to express some computations. It produces compact and efficient code.
It provides a very powerful tool.
C uses pointers explicitly with:
Arrays,
Structures,
Functions.
NOTE: Pointers are perhaps the most difficult part of C to understand. C's
implementation is slightly different DIFFERENT from other languages.
http://ta.wikipedia.org/wiki/%E0%AE%AA%E0%AF%88%E0%AE%A4%E0%AF%8D%E0%AE%A4%E0%AF%8B%E0%AE%A9%E0%AF%8Dhttp://ta.wikipedia.org/wiki/%E0%AE%AA%E0%AF%88%E0%AE%A4%E0%AF%8D%E0%AE%A4%E0%AF%8B%E0%AE%A9%E0%AF%8Dhttp://creations.zoomin.com/Modules/ViewModule.aspx?c=INDIA&ProjectId=917660http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001010000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001020000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001030000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001040000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001050000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001060000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001070000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001080000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001081000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001082000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001090000000000000000http://ta.wikipedia.org/wiki/%E0%AE%AA%E0%AF%88%E0%AE%A4%E0%AF%8D%E0%AE%A4%E0%AF%8B%E0%AE%A9%E0%AF%8Dhttp://ta.wikipedia.org/wiki/%E0%AE%AA%E0%AF%88%E0%AE%A4%E0%AF%8D%E0%AE%A4%E0%AF%8B%E0%AE%A9%E0%AF%8Dhttp://creations.zoomin.com/Modules/ViewModule.aspx?c=INDIA&ProjectId=917660http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001010000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001020000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001030000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001040000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001050000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001060000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001070000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001080000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001081000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION001082000000000000000http://www.cs.cf.ac.uk/Dave/C/node10.html#SECTION0010900000000000000008/3/2019 Introduction to EVM
2/28
What is a Pointer?
A pointer is a variable which contains the address in memory of another variable. We canhave a pointer to any variable type.
The unary ormonadic operator& gives the ``address of a variable''.
The indirection or dereference operator* gives the ``contents of an objectpointed to by a
pointer''.
To declare a pointer to a variable do:
int *pointer;
NOTE: We must associate a pointer to a particular type: You can't assign the address of a
short int to a long int, for instance.
Consider the effect of the following code:
int x = 1, y = 2;int *ip;
ip = &x;
y = *ip;
x = ip;
*ip = 3;
It is worth considering what is going on at the machine levelin memory to fullyunderstand how pointer work. Consider Fig. 9.1. Assume for the sake of this discussion
that variable x resides at memory location 100, y at 200 and ip at 1000.Note A pointer is a variable and thus its values need to be storedsomewhere. It is the nature of the pointers value that is new.
http://www.cs.cf.ac.uk/Dave/C/node10.html#fig:pointhttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:pointhttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:point8/3/2019 Introduction to EVM
3/28
Fig. 9.1 Pointer, Variables and Memory Now the assignments x = 1 and y= 2 obviously load these values into the variables. ip is declared tobe apointer to an integerand is assigned to the address of x (&x). Soip gets loaded with the value 100.
Next y gets assigned to the contents ofip. In this example ipcurrentlypoints to memory location 100 -- the location of x. So y getsassigned to the values of x -- which is 1.
We have already seen that C is not too fussy about assigning values ofdifferent type. Thus it is perfectly legal (although not all that
common) to assign the current value of ip to x. The value of ip at thisinstant is 100.
Finally we can assign a value to the contents of a pointer (*ip).
IMPORTANT: When a pointer is declared it does not point anywhere. Youmust set it to point somewhere before you use it.
So ...
int *ip;
*ip = 100;
will generate an error (program crash!!).
The correct use is:
int *ip;int x;
http://www.cs.cf.ac.uk/Dave/C/node10.html#fig:pointhttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:point8/3/2019 Introduction to EVM
4/28
ip = &x;*ip = 100;
We can do integer arithmetic on a pointer:
float *flp, *flq;
*flp = *flp + 10;
++*flp;
(*flp)++;
flq = flp;
NOTE: A pointer to any variable type is an address in memory -- whichis an integer address. A pointer is definitely NOT an integer.
The reason we associate a pointer to a data type is so that it knowshow many bytes the data is stored in. When we increment a pointer weincrease the pointer by one ``block'' memory.
So for a character pointer ++ch_ptr adds 1 byte to the address.
For an integer or float ++ip or ++flp adds 4 bytes to the address.
Consider a float variable (fl) and a pointer to a float (flp) as shownin Fig. 9.2.
Fig. 9.2 Pointer Arithmetic Assume that flp points to fl then if weincrement the pointer ( ++flp) it moves to the position shown 4 byteson. If on the other hand we added 2 to the pointer then it moves 2float positionsi.e 8 bytes as shown in the Figure.
Pointer and Functions
Let us now examine the close relationship between pointers and C's other major parts.
We will start with functions.
When C passes arguments to functions it passes them by value.
There are many cases when we may want to alter a passed argument in the function and
receive the new value back once to function has finished. Other languages do this (e.g.
http://www.cs.cf.ac.uk/Dave/C/node10.html#fig:floathttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:floathttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:floathttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:float8/3/2019 Introduction to EVM
5/28
var parameters in PASCAL). C uses pointers explicitly to do this. Other languages mask
the fact that pointers also underpin the implementation of this.
The best way to study this is to look at an example where we must be able to receivechanged parameters.
Let us try and write a function to swap variables around?
The usual function call:
swap(a, b) WON'T WORK.
Pointers provide the solution:Pass the address of the variables to the functions and
access address of function.
Thus our function call in our program would look like this:
swap(&a, &b)
The Code to swap is fairly straightforward:
void swap(int *px, int *py)
{ int temp;
temp = *px;/* contents of pointer */
*px = *py;*py = temp;
}
We can return pointer from functions. A common example is when passing back
structures. e.g.:
typedef struct {float x,y,z;} COORD;
main()
{ COORD p1, *coord_fn();/* declare fn to return
ptr ofCOORD type */
....p1 = *coord_fn(...);
/* assign contents of address returned*/
....
8/3/2019 Introduction to EVM
6/28
}
COORD *coord_fn(...)
{ COORD p;
.....p = ....;/* assign structure
values */
return &p;/* return address of p */
}
Here we return a pointer whose contents are immediately unwrappedintoa variable. We must do this straight away as the variable we pointed towas local to a function that has now finished. This means that theaddress space is free and can be overwritten. It will not have beenoverwritten straight after the function ha squit though so this is
perfectly safe.
Pointers and Arrays
Pointers and arrays are very closely linked in C.
Hint: think of array elements arranged in consecutive memory locations.
Consider the following:
int a[10], x;int *pa;
pa = &a[0]; /* pa pointer to address of a[0] */
x = *pa;/* x = contents of pa (a[0] in this case) */
Fig. 9.3 Arrays and Pointers
To get somewhere in the array (Fig. 9.3) using a pointer we could do:
pa + i a[i]
WARNING: There is no bound checking of arrays and pointers so you caneasily go beyond array memory and overwrite other things.
http://www.cs.cf.ac.uk/Dave/C/node10.html#fig:arrayshttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:arrayshttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:arrayshttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:arrays8/3/2019 Introduction to EVM
7/28
C however is much more subtle in its link between arrays and pointers.
For example we can just type
pa = a;
instead of
pa = &a[0]
and
a[i] can be written as *(a + i).
i.e. &a[i] a + i.
We also express pointer addressing like this:
pa[i] *(pa + i).
However pointers and arrays are different:
A pointer is a variable. We can dopa = a and pa++.
An Array is not a variable. a = pa and a++ ARE ILLEGAL.
This stuff is very important. Make sure you understand it. We will seea lot more of this.
We can now understand how arrays are passed to functions.
When an array is passed to a function what is actually passed is itsinitial elements location in memory.
So:
strlen(s) strlen(&s[0])
This is why we declare the function:
int strlen(char s[]);
An equivalent declaration is : int strlen(char *s);
since char s[] char *s.
strlen() is a standard libraryfunction (Chapter 18) that returns thelength of a string. Let's look at how we may write a function:
int strlen(char *s){ char *p = s;
http://www.cs.cf.ac.uk/Dave/C/node19.html#ch:stringhttp://www.cs.cf.ac.uk/Dave/C/node19.html#ch:string8/3/2019 Introduction to EVM
8/28
while (*p != );p++;
return p-s;}
Now lets write a function to copy a string to another string. strcpy()is a standard library function that does this.
void strcpy(char *s, char *t)
{ while ( (*s++ = *t++) != );}
This uses pointers and assignment by value.
Very Neat!!
NOTE: Uses of Null statements with while.
Arrays of Pointers
We can have arrays of pointers since pointers are variables.
Example use:
Sort lines of text of different length.
NOTE: Text can't be moved or compared in a single operation.
Arrays of Pointers are a data representation that will cope efficiently and conveniently
with variable length text lines.
How can we do this?:
Store lines end-to-end in one big char array (Fig.9.4). n will delimit lines.
Store pointers in a different array where each pointer points to 1st char of eachnew line.
Compare two lines using strcmp() standard library function. If 2 lines are out of order -- swap pointer in pointer array (not text).
http://www.cs.cf.ac.uk/Dave/C/node10.html#fig:stringshttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:stringshttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:strings8/3/2019 Introduction to EVM
9/28
Fig. 9.4 Arrays of Pointers (String Sorting Example)
This eliminates:
complicated storage management. high overheads of moving lines.
Multidimensional arrays and pointers
We should think of multidimensional arrays in a different way in C:
A 2D array is really a 1D array, each of whose elements is itself an array
Hence
a[n][m] notation.
Array elements are stored row by row.
When we pass a 2D array to a function we must specify the number of columns -- the
number of rows is irrelevant.
The reason for this is pointers again. C needs to know how many columns in order that itcan jump from row to row in memory.
Considerint a[5][35] to be passed in a function:
We can do:
f(int a[][35]) {.....}
or even:
f(int (*a)[35]) {.....}
http://www.cs.cf.ac.uk/Dave/C/node10.html#fig:stringshttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:strings8/3/2019 Introduction to EVM
10/28
We need parenthesis (*a) since [] have a higher precedence than *
So:
int (*a)[35]; declares a pointer to an array of 35 ints.
int *a[35]; declares an array of 35 pointers to ints.
Now lets look at the (subtle) difference between pointers and arrays. Strings are acommon application of this.
Consider:char *name[10];
char Aname[10][20];
We can legally do name[3][4] and Aname[3][4] in C.
However
Aname is a true 200 element 2D char array.
access elements via20*row + col + base_address
in memory.
name has 10 pointer elements.
NOTE: If each pointer in name is set to point to a 20 element array then and only then
will 200 chars be set aside (+ 10 elements).
The advantage of the latter is that each pointer can point to arrays be of different length.
Consider:
char *name[] = { ``no month'', ``jan'',``feb'', ... };
char Aname[][15] = { ``no month'', ``jan'',``feb'', ... };
8/3/2019 Introduction to EVM
11/28
Fig. 2D Arrays and Arrays of Pointers
Static Initialisation of Pointer Arrays
Initialisation of arrays of pointers is an ideal application for an internal static array.
some_fn(){ static char *months = { ``no month'',
``jan'', ``feb'',
...};}
static reserves a private permanent bit of memory.
Pointers and Structures
These are fairly straight forward and are easily defined. Consider the following:
struct COORD {float x,y,z;} pt;
struct COORD *pt_ptr;
pt_ptr = &pt; /* assigns pointer to pt */
the operator lets us access a member of the structure pointed to by a pointer.i.e.:
http://www.cs.cf.ac.uk/Dave/C/node10.html#fig:arrptr8/3/2019 Introduction to EVM
12/28
pt_ptr x = 1.0;
pt_ptr y = pt_ptr y - 3.0;
Example: Linked Lists
typedef struct { int value;ELEMENT *next;
} ELEMENT;
ELEMENT n1, n2;
n1.next = &n2;
Fig. Linking Two NodesNOTE: We can only declare next as a pointer toELEMENT. We cannot have a element of the variable type as this wouldset up a recursive definition which isNOT ALLOWED. We are allowed toset a pointer reference since 4 bytes are set aside for any pointer.
The above code links a node n1 to n2 (Fig. 9.6) we will look at thismatter further in the next Chapter.
Common Pointer Pitfalls
Here we will highlight two common mistakes made with pointers.
Not assigning a pointer to memory address before using
it
int *x;
http://www.cs.cf.ac.uk/Dave/C/node10.html#figure:link%23figure:linkhttp://www.cs.cf.ac.uk/Dave/C/node10.html#fig:linkhttp://www.cs.cf.ac.uk/Dave/C/node10.html#figure:link%23figure:link8/3/2019 Introduction to EVM
13/28
*x = 100;we need a physical location say: int y;
x = &y;*x = 100;
This may be hard to spot. NO COMPILER ERROR. Also x could some random
address at initialisation.
Illegal indirection
Suppose we have a function malloc() which tries to allocate memory dynamically (at
run time) and returns a pointer to block of memory requested if successful or a NULL
pointer
otherwise.
char *malloc() -- a standard library function (see later).
Let us have a pointer: char *p;
Consider:
*p = (char *) malloc(100); /* request 100 bytes of memory */
*p = `y';
There is mistake above. What is it?
No * in
*p = (char *) malloc(100);
Malloc returns a pointer. Also p does not point to any address.
The correct code should be:
p = (char *) malloc(100);
If code rectified one problem is if no memory is available and p is NULL. Therefore wecan't do:*p = `y';.
A good C program would check for this:
p = (char *) malloc(100);if ( p == NULL)
8/3/2019 Introduction to EVM
14/28
{ printf(``Error: Out of Memory n'');exit(1);
}*p = `y';
Exercise
Exercise 12453
Write a C program to read through an array of any type using pointers. Write a Cprogram to scan through this array to find a particular value.
Exercise 12454
Write a program to find the number of times that a given word(i.e. a short string) occurs
in a sentence (i.e. a long string!).
Read data from standard input. The first line is a single word, which is followed bygeneral text on the second line. Read both up to a newline character, and insert a
terminating null before processing.
Typical output should be:
The word is "the".The sentence is "the cat sat on the mat".The word occurs 2 times.
Exercise 12455
Write a program that takes three variable (a, b, b) in as separate parameters and rotates
the values stored so that value a goes to be, b, to c and c to a.
Dave Marshall
1/5/1999
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
[[[[[[[[
8/3/2019 Introduction to EVM
15/28
Introduction to EVM
Essential features of any EVM implementation include
1. a project plan that identifies work to be accomplished,
2. a valuation of planned work, called Planned Value (PV) orBudgeted Cost ofWork Scheduled (BCWS), and
3. pre-defined earning rules (also called metrics) to quantify the accomplishment
of work, called Earned Value (EV) orBudgeted Cost of Work Performed(BCWP).
EVM implementations for large or complex projects include many more features, such as
indicators and forecasts of cost performance (over budget or under budget) and schedule
performance (behind schedule or ahead of schedule). However, the most basicrequirement of an EVM system is that it quantifies progress using PV and EV.
[edit] Project tracking without EVM
http://en.wikipedia.org/wiki/Project_planhttp://en.wikipedia.org/wiki/Budgeted_cost_of_work_scheduledhttp://en.wikipedia.org/wiki/Budgeted_cost_of_work_scheduledhttp://en.wikipedia.org/wiki/Budgeted_cost_of_work_performedhttp://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=2http://en.wikipedia.org/wiki/File:EVM_Fig1.pnghttp://en.wikipedia.org/wiki/Project_planhttp://en.wikipedia.org/wiki/Budgeted_cost_of_work_scheduledhttp://en.wikipedia.org/wiki/Budgeted_cost_of_work_scheduledhttp://en.wikipedia.org/wiki/Budgeted_cost_of_work_performedhttp://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=28/3/2019 Introduction to EVM
16/28
http://en.wikipedia.org/wiki/File:EVM_Fig4.pnghttp://en.wikipedia.org/wiki/File:EVM_Fig3.pnghttp://en.wikipedia.org/wiki/File:EVM_Fig2.png8/3/2019 Introduction to EVM
17/28
It is helpful to see an example of project tracking that does not include earned value
performance management. Consider a project that has been planned in detail, including a
time-phased spend plan for all elements of work. Figure 1 shows the cumulative budget(cost) for this project as a function of time (the blue line, labeled PV). It also shows the
cumulative actual cost of the project (red line) through week 8. To those unfamiliar with
EVM, it might appear that this project was over budget through week 4 and then underbudget from week 6 through week 8. However, what is missing from this chart is any
understanding of how much work has been accomplished during the project. If the project
were actually completed at week 8, then the project would actually be well under budgetand well ahead of schedule. If, on the other hand, the project is only 10% complete at
week 8, the project is significantly over budget and behind schedule. A method is needed
to measure technical performance objectively and quantitatively, and that is what EVM
accomplishes.
[edit] Project tracking with EVM
Consider the same project, except this time the project plan includes pre-defined methodsof quantifying the accomplishment of work. At the end of each week, theproject manager
identifies every detailed element of work that has been completed, and sums the PV foreach of these completed elements. Earned value may be accumulated monthly, weekly, or
as progress is made.
[edit] Earned value (EV)
Figure 2 shows the EV curve (in green) along with the PV curve from Figure 1. The
chart indicates that technical performance (i.e., progress) started more rapidly thanplanned, but slowed significantly and fell behind schedule at week 7 and 8. This chart
illustrates the schedule performance aspect of EVM. It is complementary to critical path
orcritical chainschedule management.
Figure 3 shows the same EV curve (green) with the actual cost data from Figure 1 (in
red). It can be seen that the project was actually under budget, relative to the amount of
work accomplished, since the start of the project. This is a much better conclusion than
might be derived from Figure 1.
Figure 4 shows all three curves together which is a typical EVM line chart. The best
way to read these three-line charts is to identify the EV curve first, then compare it to PV
(for schedule performance) and AC (for cost performance). It can be seen from this
illustration that a true understanding of cost performance and schedule performancerelies first on measuring technical performance objectively. This is thefoundationalprinciple of EVM.
http://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=3http://en.wikipedia.org/wiki/Project_managerhttp://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=4http://en.wikipedia.org/wiki/Critical_path_methodhttp://en.wikipedia.org/wiki/Critical_chainhttp://en.wikipedia.org/wiki/Critical_chainhttp://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=3http://en.wikipedia.org/wiki/Project_managerhttp://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=4http://en.wikipedia.org/wiki/Critical_path_methodhttp://en.wikipedia.org/wiki/Critical_chain8/3/2019 Introduction to EVM
18/28
[edit] History
Further reading: DoD/DSMC 1997[2] Abba 2000[3] Fleming 2005[4]
EVM emerged as a financial analysis specialty in United States Government
programs in the 1960s, but it has since become a significant branch ofprojectmanagement and cost engineering. Project management research investigating the
contribution of EVM to project success suggests a moderately strong positive
relationship.[5] Implementations of EVM can be scaled to fit projects of all sizes andcomplexities.
The genesis of EVM occurred in industrial manufacturing at the turn of the 20th
century, based largely on the principle of "earned time" popularized by Frank and
Lillian Gilbreth, but the concept took root in the United States Department ofDefense in the 1960s. The original concept was called PERT/COST, but it was
considered overly burdensome (not very adaptable) by contractors who were
mandated to use it, and many variations of it began to proliferate among variousprocurement programs. In 1967, the DoD established a criterion-based approach,
using a set of 35 criteria, called the Cost/Schedule Control Systems Criteria
(C/SCSC). In 1970s and early 1980s, a subculture of C/SCSC analysis grew, but thetechnique was often ignored or even actively resisted byproject managers in both
government and industry. C/SCSC was often considered a financial control tool that
could be delegated to analytical specialists.
In the late 1980s and early 1990s, EVM emerged as a project managementmethodology to be understood and used by managers and executives, not just EVM
specialists. In 1989, EVM leadership was elevated to the Undersecretary of Defense
for Acquisition, thus making EVM an essential element of program management andprocurement. In 1991, Secretary of Defense Dick Cheney canceled the Navy A-12
Avenger II Program because of performance problems detected by EVM. This
demonstrated conclusively that EVM mattered to secretary-level leadership. In the
1990s, manyU.S. Government regulationswere eliminated or streamlined. However,EVM not only survived the acquisition reform movement, but became strongly
associated with the acquisition reform movement itself. Most notably, from 1995 to
1998, ownership of EVM criteria (reduced to 32) was transferred to industry byadoption of ANSI EIA 748-A standard.[6]
The use of EVM quickly expanded beyond the U.S. Department of Defense. It was
adopted by theNational Aeronautics and Space Administration, United StatesDepartment of Energy and other technology-related agencies. Many industrializednations also began to utilize EVM in their own procurement programs. An overview
of EVM was included in firstPMBOKGuide in 1987 and expanded in subsequent
editions. The construction industry was an early commercial adopter of EVM. Closerintegration of EVM with the practice of project management accelerated in the
1990s. In 1999, the Performance Management Association merged with the Project
Management Institute (PMI) to become PMIs first college, the College of
http://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=5http://en.wikipedia.org/wiki/Earned_value_management#cite_note-1%23cite_note-1http://en.wikipedia.org/wiki/Earned_value_management#cite_note-1%23cite_note-1http://en.wikipedia.org/wiki/Earned_value_management#cite_note-2%23cite_note-2http://en.wikipedia.org/wiki/Earned_value_management#cite_note-2%23cite_note-2http://en.wikipedia.org/wiki/Earned_value_management#cite_note-3%23cite_note-3http://en.wikipedia.org/wiki/Earned_value_management#cite_note-3%23cite_note-3http://en.wikipedia.org/wiki/Financial_analysishttp://en.wikipedia.org/wiki/United_States_Governmenthttp://en.wikipedia.org/wiki/Project_managementhttp://en.wikipedia.org/wiki/Project_managementhttp://en.wikipedia.org/wiki/Cost_engineeringhttp://en.wikipedia.org/wiki/Researchhttp://en.wikipedia.org/wiki/Earned_value_management#cite_note-4%23cite_note-4http://en.wikipedia.org/wiki/Frank_Bunker_Gilbrethhttp://en.wikipedia.org/wiki/Frank_Bunker_Gilbrethhttp://en.wikipedia.org/wiki/Frank_Bunker_Gilbrethhttp://en.wikipedia.org/wiki/United_States_Department_of_Defensehttp://en.wikipedia.org/wiki/United_States_Department_of_Defensehttp://en.wikipedia.org/wiki/Program_Evaluation_and_Review_Techniquehttp://en.wikipedia.org/wiki/Subculturehttp://en.wikipedia.org/wiki/Project_managerhttp://en.wikipedia.org/wiki/Secretary_of_Defensehttp://en.wikipedia.org/wiki/Dick_Cheneyhttp://en.wikipedia.org/wiki/A-12_Avenger_IIhttp://en.wikipedia.org/wiki/A-12_Avenger_IIhttp://en.wikipedia.org/wiki/Federal_Acquisition_Regulationshttp://en.wikipedia.org/wiki/Federal_Acquisition_Regulationshttp://en.wikipedia.org/wiki/Federal_Acquisition_Regulationshttp://en.wikipedia.org/wiki/Earned_value_management#cite_note-5%23cite_note-5http://en.wikipedia.org/wiki/Earned_value_management#cite_note-5%23cite_note-5http://en.wikipedia.org/wiki/National_Aeronautics_and_Space_Administrationhttp://en.wikipedia.org/wiki/United_States_Department_of_Energyhttp://en.wikipedia.org/wiki/United_States_Department_of_Energyhttp://en.wikipedia.org/wiki/Project_Management_Body_of_Knowledgehttp://en.wikipedia.org/wiki/Project_Management_Body_of_Knowledgehttp://en.wikipedia.org/wiki/Project_Management_Body_of_Knowledgehttp://en.wikipedia.org/wiki/Project_Management_Institutehttp://en.wikipedia.org/wiki/Project_Management_Institutehttp://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=5http://en.wikipedia.org/wiki/Earned_value_management#cite_note-1%23cite_note-1http://en.wikipedia.org/wiki/Earned_value_management#cite_note-2%23cite_note-2http://en.wikipedia.org/wiki/Earned_value_management#cite_note-3%23cite_note-3http://en.wikipedia.org/wiki/Financial_analysishttp://en.wikipedia.org/wiki/United_States_Governmenthttp://en.wikipedia.org/wiki/Project_managementhttp://en.wikipedia.org/wiki/Project_managementhttp://en.wikipedia.org/wiki/Cost_engineeringhttp://en.wikipedia.org/wiki/Researchhttp://en.wikipedia.org/wiki/Earned_value_management#cite_note-4%23cite_note-4http://en.wikipedia.org/wiki/Frank_Bunker_Gilbrethhttp://en.wikipedia.org/wiki/Frank_Bunker_Gilbrethhttp://en.wikipedia.org/wiki/United_States_Department_of_Defensehttp://en.wikipedia.org/wiki/United_States_Department_of_Defensehttp://en.wikipedia.org/wiki/Program_Evaluation_and_Review_Techniquehttp://en.wikipedia.org/wiki/Subculturehttp://en.wikipedia.org/wiki/Project_managerhttp://en.wikipedia.org/wiki/Secretary_of_Defensehttp://en.wikipedia.org/wiki/Dick_Cheneyhttp://en.wikipedia.org/wiki/A-12_Avenger_IIhttp://en.wikipedia.org/wiki/A-12_Avenger_IIhttp://en.wikipedia.org/wiki/Federal_Acquisition_Regulationshttp://en.wikipedia.org/wiki/Earned_value_management#cite_note-5%23cite_note-5http://en.wikipedia.org/wiki/National_Aeronautics_and_Space_Administrationhttp://en.wikipedia.org/wiki/United_States_Department_of_Energyhttp://en.wikipedia.org/wiki/United_States_Department_of_Energyhttp://en.wikipedia.org/wiki/Project_Management_Body_of_Knowledgehttp://en.wikipedia.org/wiki/Project_Management_Institutehttp://en.wikipedia.org/wiki/Project_Management_Institute8/3/2019 Introduction to EVM
19/28
Performance Management. The United States Office of Management and Budget
began to mandate the use of EVM across all government agencies, and, for the first
time, for certain internally-managed projects (not just for contractors). EVM alsoreceived greater attention by publicly-traded companies in response to the Sarbanes-
Oxley Act of 2002.
[edit] Scaling EVM from simple to advanced
implementations
Thefoundational principle of EVM, mentioned above, does not depend on the size
or complexity of the project. However, the implementations of EVM can vary
significantly depending on the circumstances. In many cases, organizations establishan all-or-nothing threshold; projects above the threshold require a full-featured
(complex) EVM system and projects below the threshold are exempted. Another
approach that is gaining favor is to scale EVM implementation according to the
project at hand and skill level of the project team.
[7]
[8]
[edit] Simple implementations (emphasizing only technical
performance)
There are many more small and simple projects than there are large and complexones, yet historically only the largest and most complex have enjoyed the benefits of
EVM. Still, lightweight implementations of EVM are achievable by any person who
has basic spreadsheet skills. In fact, spreadsheet implementations are an excellentway to learn basic EVM skills.
Thefirst step is to define the work. This is typically done in a hierarchicalarrangement called a work breakdown structure (WBS) although the simplest projects
may use a simple list of tasks. In either case, it is important that the WBS or list becomprehensive. It is also important that the elements be mutually exclusive, so that
work is easily categorized in one and only one element of work. The most detailed
elements of a WBS hierarchy (or the items in a list) are called activities (or tasks).
Thesecond step is to assign a value, called planned value (PV), to each activity. Forlarge projects, PV is almost always an allocation of the total project budget, and may
be in units of currency (e.g., dollars or euros) or in labor hours, or both. However, in
very simple projects, each activity may be assigned a weighted point value" which
might not be a budget number. Assigning weighted values and achieving consensuson all PV quantities yields an important benefit of EVM, because it exposes
misunderstandings and miscommunications about the scope of the project, andresolving these differences should always occur as early as possible. Some terminal
elements can not be known (planned) in great detail in advance, and that is expected,
because they can be further refined at a later time.
http://en.wikipedia.org/wiki/United_States_Office_of_Management_and_Budgethttp://en.wikipedia.org/wiki/Sarbanes-Oxley_Act_of_2002http://en.wikipedia.org/wiki/Sarbanes-Oxley_Act_of_2002http://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=6http://en.wikipedia.org/wiki/Earned_value_management#cite_note-6%23cite_note-6http://en.wikipedia.org/wiki/Earned_value_management#cite_note-6%23cite_note-6http://en.wikipedia.org/wiki/Earned_value_management#cite_note-7%23cite_note-7http://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=7http://en.wikipedia.org/wiki/Spreadsheethttp://en.wikipedia.org/wiki/Work_breakdown_structurehttp://en.wikipedia.org/wiki/Mutually_exclusivehttp://en.wikipedia.org/wiki/United_States_Office_of_Management_and_Budgethttp://en.wikipedia.org/wiki/Sarbanes-Oxley_Act_of_2002http://en.wikipedia.org/wiki/Sarbanes-Oxley_Act_of_2002http://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=6http://en.wikipedia.org/wiki/Earned_value_management#cite_note-6%23cite_note-6http://en.wikipedia.org/wiki/Earned_value_management#cite_note-7%23cite_note-7http://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=7http://en.wikipedia.org/wiki/Spreadsheethttp://en.wikipedia.org/wiki/Work_breakdown_structurehttp://en.wikipedia.org/wiki/Mutually_exclusive8/3/2019 Introduction to EVM
20/28
The third step is to define earning rules for each activity. The simplest method is to
apply just one earning rule, such as the 0/100 rule, to all activities. Using the 0/100
rule, no credit is earned for an element of work until it is finished. A related rule iscalled the 50/50 rule, which means 50% credit is earned when an element of work is
started, and the remaining 50% is earned upon completion. Other fixed earning rules
such as a 25/75 rule or 20/80 rule are gaining favor, because they assign more weightto finishing work than for starting it, but they also motivate the project team to
identify when an element of work is started, which can improve awareness of work-
in-progress. These simple earning rules work well for small or simple projectsbecause generally each activity tends to be fairly short in duration.
These initial three steps define the minimal amount of planning for simplified EVM.
Thefinal step is to execute the project according to the plan and measure progress.
When activities are started or finished, EV is accumulated according to the earningrule. This is typically done at regular intervals (e.g., weekly or monthly), but there is
no reason why EV cannot be accumulated in near real-time, when work elements are
started/completed. In fact, waiting to update EV only once per month (simplybecause that is when cost data are available) only detracts from a primary benefit ofusing EVM, which is to create a technical performance scoreboard for the project
team.
In a lightweight implementation such as described here, the project manager has not
accumulated cost nor defined a detailed project schedule network (i.e., using a criticalpath or critical chain methodology). While such omissions are inappropriate for
managing large projects, they are a common and reasonable occurrence in many verysmall or simple projects. Any project can benefit from using EV alone as a real-time
score of progress. One useful result of this very simple approach (without schedule
models and actual cost accumulation) is to compare EV curves of similar projects, as
illustrated in Figure 5. In this example, the progress of three residential constructionprojects are compared by aligning the starting dates. If these three home construction
http://en.wikipedia.org/wiki/Scoreboardhttp://en.wikipedia.org/wiki/File:EVM_Fig5.pnghttp://en.wikipedia.org/wiki/Scoreboard8/3/2019 Introduction to EVM
21/28
projects were measured with the same PV valuations, the relative schedule
performance of the projects can be easily compared.
[edit] Intermediate implementations (integrating technical and
schedule performance)
In many projects, schedule performance (completing the work on time) is equal in
importance to technical performance. For example, some new product development
projects place a high premium on finishing quickly. It is not that cost is unimportant,but finishing the work later than a competitor may cost a great deal more in lost
market share. It is likely that these kinds of projects will not use the lightweight
version of EVM described in the previous section, because there is no plannedtimescale for measuring schedule performance. A second layer of EVM skill can be
very helpful in managing the schedule performance of these intermediate projects.
The project manager may employ a critical path orcritical chain to build aprojectschedule model. As in the lightweight implementation, the project manager must
define the work comprehensively, typically in a WBS hierarchy. He/she willconstruct a project schedule model that describes the precedence links betweenelements of work. This schedule model can then be used to develop the PV curve (or
baseline), as shown inFigure 2'.
It should be noted that measuring schedule performance using EVM does not replace
the need to understand schedule performance versus the project's schedule model(precedence network). However, EVM schedule performance, as illustrated in Figure
2 provides an additional indicator one that can be communicated in a single chart.
Although it is theoretically possible that detailed schedule analysis will yield
different conclusions than broad schedule analysis, in practice there tends to be a high
correlation between the two. Although EVM schedule measurements are notnecessarily conclusive, they provide useful diagnostic information.
Although such intermediate implementations do not require units of currency (e.g.,dollars), it is common practice to use budgeted dollars as the scale for PV and EV. It
is also common practice to track labor hours in parallel with currency. The following
EVM formulas are for schedule management, and do not require accumulation of
actual cost (AC). This is important because it is common in small and intermediatesize projects for true costs to be unknown or unavailable.
Schedule variance (SV)
SV greater than 0 is good (ahead of schedule). The SV will be 0 at project
completion because then all of the planned values will have been earned.
http://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=8http://en.wikipedia.org/wiki/New_product_developmenthttp://en.wikipedia.org/wiki/Critical_path_methodhttp://en.wikipedia.org/wiki/Critical_chainhttp://en.wikipedia.org/wiki/Project_networkhttp://en.wikipedia.org/wiki/Project_networkhttp://en.wikipedia.org/wiki/Project_networkhttp://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=8http://en.wikipedia.org/wiki/New_product_developmenthttp://en.wikipedia.org/wiki/Critical_path_methodhttp://en.wikipedia.org/wiki/Critical_chainhttp://en.wikipedia.org/wiki/Project_networkhttp://en.wikipedia.org/wiki/Project_networkhttp://en.wikipedia.org/wiki/Project_network8/3/2019 Introduction to EVM
22/28
Schedule performance index (SPI)
SPI greater than 1 is good (ahead of schedule).See alsoearned schedule for a description of known limitations in SV and SPI
formulas and an emerging practice for correcting these limitations.
[edit] Advanced implementations (integrating
cost, schedule and technical performance)
In addition to managing technical and schedule
performance, large and complex projects require that cost
performance be monitored and reviewed at regularintervals. To measure cost performance, planned value
(or BCWS -Budgeted Cost of Work Scheduled) andearned value (or BCWP - Budgeted Cost of Work
Performed) must be in units of currency (the same unitsthat actual costs are measured.) In large implementations,
the planned value curve is commonly called a
Performance Measurement Baseline (PMB) and may bearranged in control accounts, summary-level planning
packages, planning packages and work packages. In large
projects, establishing control accounts is the primarymethod of delegating responsibility and authority to
various parts of the performing organization. Control
accounts are cells of a responsibility assignment (RACI)matrix, which is intersection of the project WBS and theorganizational breakdown structure(OBS). Control
accounts are assigned to Control Account Managers
(CAMs). Large projects require more elaborate processesfor controlling baseline revisions, more thorough
integration with subcontractor EVM systems, and more
elaborate management of procured materials.
In the United States, the primary standard for full-featured EVM systems is the ANSI/EIA-748A standard,
published in May 1998 and reaffirmed in August 2002.The standard defines 32 criteria for full-featured EVMsystem compliance. As of the year 2007, a draft of
ANSI/EIA-748B, a revision to the original is available
from ANSI. Other countries have established similarstandards.
http://en.wikipedia.org/wiki/Earned_schedulehttp://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=9http://en.wikipedia.org/wiki/Budgeted_cost_of_work_scheduledhttp://en.wikipedia.org/wiki/Budgeted_cost_of_work_scheduledhttp://en.wikipedia.org/wiki/Responsibility_assignment_matrixhttp://en.wikipedia.org/wiki/Responsibility_assignment_matrixhttp://en.wikipedia.org/wiki/Organization_charthttp://en.wikipedia.org/wiki/Earned_schedulehttp://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=9http://en.wikipedia.org/wiki/Budgeted_cost_of_work_scheduledhttp://en.wikipedia.org/wiki/Responsibility_assignment_matrixhttp://en.wikipedia.org/wiki/Responsibility_assignment_matrixhttp://en.wikipedia.org/wiki/Organization_chart8/3/2019 Introduction to EVM
23/28
In addition to using BCWS and BCWP, prior to 1998
implementations often use the term Actual Cost of Work
Performed (ACWP) instead of AC. Additional acronymsand formulas include:
Budget at completion (BAC): The total planned value (PV or BCWS) at the end
of the project. If a project has a Management Reserve (MR), it is typically notincluded in the BAC, and respectively, in the Performance Measurement
Baseline.
Cost variance (CV)
CV greater than 0 is good (under budget).
Cost Performance Index (CPI)
CPI greater than 1 is good (under budget):
< 1 means that the cost of completing the work is higher than planned (bad);
= 1 means that the cost of completing the work is right on plan (good);> 1 means that the cost of completing the work is less than planned (good or
sometimes bad).Having a CPI that is very high (in some cases, very high is only 1.2) may mean
that the plan was too conservative, and thus a very high number may in fact not begood, as the CPI is being measured against a poor baseline. Management or the
customer may be upset with the planners as an overly conservative baseline ties
up available funds for other purposes, and the baseline is also used for manpowerplanning.
Estimate at completion (EAC)
EAC is the manager's projection of total cost of the project at completion.
Estimate to complete (ETC)
ETC is the estimate to complete the remaining work of the project.
8/3/2019 Introduction to EVM
24/28
To-complete performance index (TCPI)
The TCPI provides a projection of the anticipated performance required to
achieve either the BAC or the EAC. TCPI indicates the future required cost
efficiency needed to achieve a target BAC (Budget At Complete) or EAC(Estimate At Complete). Any significant difference between CPI, the cost
performance to date, and the TCPI, the cost performance needed to meet the BAC
or the EAC, should be accounted for by management in their forecast of the final
cost.
For the TCPI based on BAC (describing the performance required to meet the
original BAC budgeted total):
or for the TCPI based on EAC (describing the performance required to meet anew, revised budget total EAC):
Independent estimate at completion (IEAC)
The IEAC is a metric to project total cost using the performance to date to project
overall performance. This can be compared to the EAC, which is the manager'sprojection.
8/3/2019 Introduction to EVM
25/28
reverse engineeringReverse engineering is taking apart an object to see how it works in order to duplicate or
enhance the object. The practice, taken from older industries, is now frequently used on
computer hardware and software. Software reverse engineering involves reversing aprogram'smachine code (the string of 0s and 1s that are sent to the logic processor) back
into the source codethat it was written in, using program language statements.
Software reverse engineering is done to retrieve the source code of a program because the
source code was lost, to study how the program performs certain operations, to improvethe performance of a program, to fix abug(correct an error in the program when the
source code is not available), to identify malicious content in a program such as a virus or
to adapt a program written for use with one microprocessor for use with another. Reverseengineering for
Learn More
CIO Midmarket Resources
the purpose of copying or duplicating programs may constitute a copyright violation. In
some cases, the licensed use of software specifically prohibits reverse engineering.
Someone doing reverse engineering on software may use several tools to disassemble aprogram. One tool is a hexadecimal dumper, which prints or displays the binary numbers
of a program in hexadecimal format (which is easier to read than a binary format). By
knowing the bit patterns that represent the processor instructions as well as the instructionlengths, the reverse engineer can identify certain portions of a program to see how they
work. Another common tool is the disassembler. The disassembler reads the binary code
and then displays each executable instruction in text form. A disassembler cannot tell the
difference between an executable instruction and the data used by the program so adebuggeris used, which allows the disassembler to avoid disassembling the data portions
of a program. These tools might be used by acrackerto modify code and gain entry to a
computer system or cause other harm.
Hardware reverse engineering involves taking apart a device to see how it works. For
example, if a processor manufacturer wants to see how a competitor's processor works,
they can purchase a competitor's processor, disassemble it, and then make a processor
http://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci212507,00.htmlhttp://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci212507,00.htmlhttp://searchsoa.techtarget.com/sDefinition/0,,sid26_gci213030,00.htmlhttp://searchsoa.techtarget.com/sDefinition/0,,sid26_gci213030,00.htmlhttp://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci211714,00.htmlhttp://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci211714,00.htmlhttp://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci213306,00.htmlhttp://searchcio-midmarket.techtarget.com/resources/CIO-Midmarket-Resourceshttp://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci212247,00.htmlhttp://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci212356,00.htmlhttp://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci211915,00.htmlhttp://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci211852,00.htmlhttp://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci211852,00.htmlhttp://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci212507,00.htmlhttp://searchsoa.techtarget.com/sDefinition/0,,sid26_gci213030,00.htmlhttp://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci211714,00.htmlhttp://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci213306,00.htmlhttp://searchcio-midmarket.techtarget.com/resources/CIO-Midmarket-Resourceshttp://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci212247,00.htmlhttp://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci212356,00.htmlhttp://searchsoftwarequality.techtarget.com/sDefinition/0,,sid92_gci211915,00.htmlhttp://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci211852,00.html8/3/2019 Introduction to EVM
26/28
similar to it. However, this process is illegal in many countries. In general, hardware
reverse engineering requires a great deal of expertise and is quite expensive.
Another type of reverse engineering involves producing3-Dimages of manufacturedparts when a blueprint is not available in order to remanufacture the part. To reverse
engineer a part, the part is measured by a coordinate measuring machine (CMM). As it ismeasured, a 3-D wire frame image is generated and displayed on a monitor. After the
measuring is complete, the wire frame image is dimensioned. Any part can be reverseengineered using these methods.
The termforward engineeringis sometimes used in contrast to reverse engineering.
Related glossary terms:Ohm's Law, reboot (warm boot, cold boot), self-destructing
email, shared memory, electron,L1 and L2,permittivity (electric permittivity),cardinality,angular velocity (rotational velocity),SKU
[edit] L
EVM has nquality, so
project is u
scope fullyclients and
other word
project man
Because EVproject plan
inapplicabl
software deit may be im
projects far
uncovers so
and activelanother sch
can be plan
or other sho
is to createimplementa
not simply technical p
lightweight
described a
changing warea of proj
http://whatis.techtarget.com/definition/0,,sid9_gci211499,00.htmlhttp://whatis.techtarget.com/definition/0,,sid9_gci211499,00.htmlhttp://whatis.techtarget.com/definition/0,,sid9_gci211499,00.htmlhttp://searchcio-midmarket.techtarget.com/definition/Ohms-Lawhttp://searchcio-midmarket.techtarget.com/definition/reboothttp://searchcio-midmarket.techtarget.com/definition/self-destructing-emailhttp://searchcio-midmarket.techtarget.com/definition/self-destructing-emailhttp://searchcio-midmarket.techtarget.com/definition/shared-memoryhttp://searchcio-midmarket.techtarget.com/definition/electronhttp://searchcio-midmarket.techtarget.com/definition/L1-and-L2http://searchcio-midmarket.techtarget.com/definition/L1-and-L2http://searchcio-midmarket.techtarget.com/definition/permittivityhttp://searchcio-midmarket.techtarget.com/definition/permittivityhttp://searchcio-midmarket.techtarget.com/definition/permittivityhttp://searchcio-midmarket.techtarget.com/definition/cardinalityhttp://searchcio-midmarket.techtarget.com/definition/cardinalityhttp://searchcio-midmarket.techtarget.com/definition/angular-velocityhttp://searchcio-midmarket.techtarget.com/definition/SKUhttp://searchcio-midmarket.techtarget.com/definition/SKUhttp://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=10http://en.wikipedia.org/wiki/Agilehttp://whatis.techtarget.com/definition/0,,sid9_gci211499,00.htmlhttp://searchcio-midmarket.techtarget.com/definition/Ohms-Lawhttp://searchcio-midmarket.techtarget.com/definition/reboothttp://searchcio-midmarket.techtarget.com/definition/self-destructing-emailhttp://searchcio-midmarket.techtarget.com/definition/self-destructing-emailhttp://searchcio-midmarket.techtarget.com/definition/shared-memoryhttp://searchcio-midmarket.techtarget.com/definition/electronhttp://searchcio-midmarket.techtarget.com/definition/L1-and-L2http://searchcio-midmarket.techtarget.com/definition/permittivityhttp://searchcio-midmarket.techtarget.com/definition/cardinalityhttp://searchcio-midmarket.techtarget.com/definition/angular-velocityhttp://searchcio-midmarket.techtarget.com/definition/SKUhttp://en.wikipedia.org/w/index.php?title=Earned_value_management&action=edit§ion=10http://en.wikipedia.org/wiki/Agile8/3/2019 Introduction to EVM
27/28
Traditional
discrete (co
EVM standlevel of ef
contains a s
LOE is interesults will
another are
Traditional
assume thanetwork sc
prerequisit
EVM. Manof these pre
from EVM
implementplanned wihave acces
data. In pra
timely actudifficult asp
benefit from
intermediatEarned Sch
As a means
EVM's lackperformancCommand
initiated a p
integrate trEVM proje
These risk
that may be
exploited aproceeds. T
Technical P
methodologstill used b
EVM estim[11] The resethe recipien
University
1997 Acke
http://en.wikipedia.org/wiki/Project_networkhttp://en.wikipedia.org/wiki/Earned_Value_Management#Simple_implementations_.28emphasizing_only_technical_performance.29http://en.wikipedia.org/wiki/Earned_Value_Management#Intermediate_implementations_.28integrating_technical_and_schedule_performance.29http://en.wikipedia.org/wiki/Earned_Schedulehttp://en.wikipedia.org/wiki/Earned_value_management#cite_note-10%23cite_note-10http://en.wikipedia.org/wiki/Project_networkhttp://en.wikipedia.org/wiki/Earned_Value_Management#Simple_implementations_.28emphasizing_only_technical_performance.29http://en.wikipedia.org/wiki/Earned_Value_Management#Intermediate_implementations_.28integrating_technical_and_schedule_performance.29http://en.wikipedia.org/wiki/Earned_Schedulehttp://en.wikipedia.org/wiki/Earned_value_management#cite_note-10%23cite_note-108/3/2019 Introduction to EVM
28/28