earned_value_calculator 0.1.3 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +19 -2
- data/lib/earned_value_calculator/version.rb +1 -1
- data/lib/earned_value_calculator.rb +15 -3
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 282753d17fd72a70a964352e581332325544ff22b9a4411516fc94d7913503da
|
4
|
+
data.tar.gz: 42e798d3a173e165e6cbe7341b2fb97dcd6ddb3f2e183ed6a6a0bec9ffd7425b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1759105bcea8fbc2e3c57bef9e5c7ca81b5f64351f74bb74effd4702a3c9432279c9debc2ae6a5f2d22a686c84c023c908476d1ab9fe97cda6691762bf51da54
|
7
|
+
data.tar.gz: f2bdc2e70024d610ab09c6db6e5b5e2db4e54fd4307a80b4db35ae9be2202160c437e1372cd5527fd9b903dbdcd3bf6e4b3f8aada5e06c21439fc764f0e37b31
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# Earned Value Calculator
|
2
2
|
|
3
3
|

|
4
4
|
[](https://badge.fury.io/rb/earned_value_calculator)
|
@@ -6,11 +6,13 @@
|
|
6
6
|
[](https://github.com/rubocop-hq/rubocop)
|
7
7
|
[](https://circleci.com/gh/routeflags/earned_value_calculator/tree/main)
|
8
8
|
|
9
|
+

|
10
|
+
|
9
11
|
Calculates the earned value of a project to indicate a diagnosis result.
|
10
12
|
|
11
13
|
## What is Earned value management ?
|
12
14
|
|
13
|
-
Earned value management (EVM)
|
15
|
+
Earned value management (EVM) is a project management technique for measuring project performance and progress in an objective manner by [Earned value management - Wikipedia](https://en.wikipedia.org/wiki/Earned_value_management).
|
14
16
|
|
15
17
|
## Installation
|
16
18
|
|
@@ -83,6 +85,20 @@ It is based on the formula:
|
|
83
85
|
|
84
86
|
SPI = EV ÷ PV
|
85
87
|
|
88
|
+
#### estimate_at_completion (EAC)
|
89
|
+
It is based on the formula:
|
90
|
+
|
91
|
+
EAC = AC + (BAC - EV) ÷ CPI = AC + ETC
|
92
|
+
|
93
|
+
#### estimate_to_completion (ETC)
|
94
|
+
It is based on the formula:
|
95
|
+
|
96
|
+
ETC = (BAC - EV) ÷ CPI = EAC - AC
|
97
|
+
|
98
|
+
#### variance_at_completion (VAC)
|
99
|
+
It is based on the formula:
|
100
|
+
|
101
|
+
VAC = BAC - EAC
|
86
102
|
|
87
103
|
## Development
|
88
104
|
|
@@ -125,3 +141,4 @@ Everyone interacting in the EarnedValueCalculator project's codebases, issue tra
|
|
125
141
|
|
126
142
|
* [Earned value management - Wikipedia](https://en.wikipedia.org/wiki/Earned_value_management)
|
127
143
|
* [Online Equation Editor - standalone](https://www.codecogs.com/latex/eqneditor.php)
|
144
|
+
* [Ahmed Shabana (@ahmedmshabana) | Unsplash Photo Community](https://unsplash.com/photos/ADa9bb3tqR4)
|
@@ -33,7 +33,16 @@ module EarnedValueCalculator
|
|
33
33
|
:cost_performance_index,
|
34
34
|
# It is based on the formula:
|
35
35
|
# SPI = EV ÷ PV
|
36
|
-
:schedule_performance_index
|
36
|
+
:schedule_performance_index,
|
37
|
+
# It is based on the formula:
|
38
|
+
# EAC = AC + (BAC - EV) ÷ CPI = AC + ETC
|
39
|
+
:estimate_at_completion,
|
40
|
+
# It is based on the formula:
|
41
|
+
# ETC = (BAC - EV) ÷ CPI = EAC - AC
|
42
|
+
:estimate_to_completion,
|
43
|
+
# It is based on the formula:
|
44
|
+
# VAC = BAC - EAC
|
45
|
+
:variance_at_completion
|
37
46
|
|
38
47
|
# @param [Date] start_date The project start date.
|
39
48
|
# @param [Date] end_date The project deadline.
|
@@ -59,10 +68,13 @@ module EarnedValueCalculator
|
|
59
68
|
def calculate_earned_values
|
60
69
|
@earned_value = (@budget * (@rate.to_f / 100)).to_i
|
61
70
|
@planned_value = (@budget * @current_length / @project_length.to_f).to_i
|
62
|
-
@schedule_variance =
|
63
|
-
@actual_cost_variance = @
|
71
|
+
@schedule_variance = @earned_value - @planned_value
|
72
|
+
@actual_cost_variance = @earned_value - @actual_cost
|
64
73
|
@cost_performance_index = @earned_value.to_f / @actual_cost
|
65
74
|
@schedule_performance_index = @earned_value.to_f / @planned_value
|
75
|
+
@estimate_at_completion = @actual_cost + (@budget - @planned_value) / @cost_performance_index
|
76
|
+
@estimate_to_completion = @estimate_at_completion - @actual_cost
|
77
|
+
@variance_at_completion = @budget - @estimate_at_completion
|
66
78
|
end
|
67
79
|
end
|
68
80
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: earned_value_calculator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- smapira
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -150,7 +150,7 @@ metadata:
|
|
150
150
|
homepage_uri: https://github.com/routeflags/earned_value_calculator
|
151
151
|
source_code_uri: https://github.com/routeflags/earned_value_calculator
|
152
152
|
changelog_uri: https://github.com/routeflags/earned_value_calculator/blob/main/CHANGELOG.md
|
153
|
-
post_install_message:
|
153
|
+
post_install_message:
|
154
154
|
rdoc_options: []
|
155
155
|
require_paths:
|
156
156
|
- lib
|
@@ -165,8 +165,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
167
|
requirements: []
|
168
|
-
rubygems_version: 3.
|
169
|
-
signing_key:
|
168
|
+
rubygems_version: 3.1.2
|
169
|
+
signing_key:
|
170
170
|
specification_version: 4
|
171
171
|
summary: Calculate the earned value of a project
|
172
172
|
test_files: []
|