est 0.3 → 0.3.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 45a7cb52842659819434e8bd30f37343423968fa
4
+ data.tar.gz: b0c87b16ff05be59edbe8934e98922f15ababd6c
5
+ SHA512:
6
+ metadata.gz: 70fb01df5d11e31ad57cb534c8b3caacb9334aa031e13e6a0b5c8751ef701de6a77dcb013de7cd536aa4e385a87466267cbdb6ed34cf65382c18ef940f436581
7
+ data.tar.gz: 7a6f9d90b6a833f09d16e07ad23fbf4a3ad8db0bf963ab58d247ab72ae3a3f0f58cf7dbc81c7df4eedb900002c3662f1b8eeb0fb7885f7b635400e4eb8ac34ab
data/.gitattributes ADDED
@@ -0,0 +1,7 @@
1
+ # Check out all text files in UNIX format, with LF as end of line
2
+ # Don't change this file. If you have any ideas about it, please
3
+ # submit a separate issue about it and we'll discuss.
4
+
5
+ * text=auto eol=lf
6
+ *.java ident
7
+ *.xml ident
data/.rultor.yml CHANGED
@@ -1,13 +1,11 @@
1
1
  assets:
2
- rubygems.yml: "yegor256/home#assets/rubygems.yml"
3
- s3cfg: "yegor256/home#assets/s3cfg"
4
-
2
+ rubygems.yml: yegor256/home#assets/rubygems.yml
3
+ s3cfg: yegor256/home#assets/s3cfg
5
4
  install: |
6
5
  sudo gem install pdd
7
6
  sudo gem install est
8
-
9
7
  release:
10
- script: |
8
+ script: |-
11
9
  sudo bundle install
12
10
  rake
13
11
  rm -rf *.gem
@@ -23,3 +21,11 @@ release:
23
21
  s3cmd --no-progress put assets/est.xsl --acl-public --config=../s3cfg s3://est-xsl.teamed.io/${tag}.xsl
24
22
  est --dir=./est --format=xml --file=est-estimate.xml
25
23
  s3cmd --no-progress put est-estimate.xml --config=../s3cfg s3://est.teamed.io/est.xml
24
+ commanders:
25
+ - yegor256
26
+ architect:
27
+ - yegor256
28
+ - davvd
29
+ merge:
30
+ commanders: []
31
+ deploy: {}
data/README.md CHANGED
@@ -56,3 +56,58 @@ Estimate: 90 hours
56
56
  Accuracy (%): +300/-45
57
57
  Precision (%): 6.5
58
58
  ```
59
+
60
+ ## Scope Champions
61
+
62
+ Scope Champions estimating method was introduced a
63
+ patent application [US 12/193,010](https://www.google.com/patents/US20100042968).
64
+ This article explains it in more details:
65
+ [Revolutionary Method Of Cost Estimating](http://www.technoparkcorp.com/innovations/scope-champions/).
66
+ In a nutshell, there are three steps.
67
+
68
+ First, you break down the entire implementation scope into items, like
69
+ it's done above, and list them under `scope`. Pay attention, you should list
70
+ only technical code-writing tasks. Testing, requirements analysis, thinking
71
+ and talking should not go into this list. Imagive, what would you do
72
+ if you would be the only programmer working with the product. Imagine, you
73
+ have to create the product from scratch, being the only programmer in house.
74
+ It is important to keep all work items on the same level of abstraction. This
75
+ means that the complexity of all items should be approximately the same.
76
+
77
+ Second, select a few items from the list (2-3), which are the most difficult
78
+ to implement. They are called "scope champions". List their numbers
79
+ under `champions`, as it's done above.
80
+
81
+ Third, estimate that champions using [three-point estimating method](https://en.wikipedia.org/wiki/Three-point_estimation).
82
+ As in the example above, every scope champion should get three numbers.
83
+ Worst case is how many hours you would spend on it, if everything would
84
+ appear to be very difficult and most probable risks would happen. Best
85
+ case is how many hours would this work take if everything would go easy
86
+ and without any risks. Most likely is how much would it take, in a normal
87
+ situation, according to your estimate.
88
+
89
+ ## Best Practices
90
+
91
+ **Don't Look Back**. Try not to look into previous estimates
92
+ made in the project. It's tempting, but try to control yourself. Create
93
+ your own estimate first and then look at others that already exist in
94
+ the project.
95
+
96
+ **Coding Time Only**. Estimate code writing time only. Don't estimate
97
+ time you would spend on discussions, thinking, modeling, diagramming,
98
+ documenting etc. The estimate should count only the time you, as a single
99
+ programmer in the project, would spend on code writing.
100
+
101
+ **Estimate Regularly**. Re-estimate the entire project from scratch regularly.
102
+ In each estimate look at the project as a whole and estimate the entire
103
+ scope. Not what's left, but the entire scope, as if you would need to
104
+ re-create it all from scretch. Even if the project is close to its end,
105
+ don't stop re-estimating it.
106
+
107
+ **Change Estimators**. Try to ask everybody in the project to estimate it
108
+ time to time (programmers only). Changing estimators will help the project
109
+ to keep numbers out of bias.
110
+
111
+ **Count On Your Skills**. Estimate the amount of work you would need to
112
+ develop the product, not some abstract programmer. Rely on your personal
113
+ skills, speed and expertise.
data/TEAM.md ADDED
@@ -0,0 +1,17 @@
1
+ ## Team
2
+
3
+ The following members are in the project team:
4
+
5
+ Role | Members
6
+ ---|---
7
+ PM | @davvd
8
+ CR |
9
+ DEV |
10
+ IMP |
11
+ ARC |
12
+ DES |
13
+ PO | @yegor256
14
+ ITR |
15
+ QA |
16
+ SA |
17
+ HLP |
data/est.gemspec CHANGED
@@ -45,13 +45,13 @@ Gem::Specification.new do |s|
45
45
  s.test_files = s.files.grep(/^(test|spec|features)\//)
46
46
  s.rdoc_options = ['--charset=UTF-8']
47
47
  s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
48
- s.add_runtime_dependency 'nokogiri', '1.6.5'
49
- s.add_runtime_dependency 'ruby-filemagic', '0.6.1'
48
+ s.add_runtime_dependency 'nokogiri', '1.6.6.4'
49
+ s.add_runtime_dependency 'ruby-filemagic', '0.7.1'
50
50
  s.add_runtime_dependency 'slop', '3.6.0'
51
51
  s.add_runtime_dependency 'rake', '10.4.2'
52
52
  s.add_development_dependency 'coveralls', '0.7.2'
53
53
  s.add_development_dependency 'rdoc', '4.2.0'
54
- s.add_development_dependency 'cucumber', '1.3.17'
54
+ s.add_development_dependency 'cucumber', '2.0.1'
55
55
  s.add_development_dependency 'minitest', '5.5.0'
56
56
  s.add_development_dependency 'rubocop', '0.24.1'
57
57
  s.add_development_dependency 'rubocop-rspec', '1.2.1'
data/lib/est/version.rb CHANGED
@@ -26,5 +26,5 @@
26
26
  # Copyright:: Copyright (c) 2014 Yegor Bugayenko
27
27
  # License:: MIT
28
28
  module Est
29
- VERSION = '0.3'
29
+ VERSION = '0.3.1'
30
30
  end
metadata CHANGED
@@ -1,52 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: est
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.3'
5
- prerelease:
4
+ version: 0.3.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Yegor Bugayenko
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-12-20 00:00:00.000000000 Z
11
+ date: 2015-11-26 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: nokogiri
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - '='
20
18
  - !ruby/object:Gem::Version
21
- version: 1.6.5
19
+ version: 1.6.6.4
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - '='
28
25
  - !ruby/object:Gem::Version
29
- version: 1.6.5
26
+ version: 1.6.6.4
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: ruby-filemagic
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - '='
36
32
  - !ruby/object:Gem::Version
37
- version: 0.6.1
33
+ version: 0.7.1
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - '='
44
39
  - !ruby/object:Gem::Version
45
- version: 0.6.1
40
+ version: 0.7.1
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: slop
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - '='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - '='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - '='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - '='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: coveralls
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - '='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - '='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: rdoc
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - '='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - '='
108
95
  - !ruby/object:Gem::Version
@@ -110,23 +97,20 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: cucumber
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - '='
116
102
  - !ruby/object:Gem::Version
117
- version: 1.3.17
103
+ version: 2.0.1
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - '='
124
109
  - !ruby/object:Gem::Version
125
- version: 1.3.17
110
+ version: 2.0.1
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: minitest
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - '='
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :development
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - '='
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: rubocop
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - '='
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :development
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - '='
156
137
  - !ruby/object:Gem::Version
@@ -158,7 +139,6 @@ dependencies:
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: rubocop-rspec
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
143
  - - '='
164
144
  - !ruby/object:Gem::Version
@@ -166,7 +146,6 @@ dependencies:
166
146
  type: :development
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
150
  - - '='
172
151
  - !ruby/object:Gem::Version
@@ -174,7 +153,6 @@ dependencies:
174
153
  - !ruby/object:Gem::Dependency
175
154
  name: rspec-rails
176
155
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
156
  requirements:
179
157
  - - '='
180
158
  - !ruby/object:Gem::Version
@@ -182,7 +160,6 @@ dependencies:
182
160
  type: :development
183
161
  prerelease: false
184
162
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
163
  requirements:
187
164
  - - '='
188
165
  - !ruby/object:Gem::Version
@@ -196,16 +173,17 @@ extra_rdoc_files:
196
173
  - README.md
197
174
  - LICENSE.txt
198
175
  files:
199
- - .coveralls.yml
200
- - .gitignore
201
- - .rubocop.yml
202
- - .rultor.yml
203
- - .simplecov
204
- - .travis.yml
176
+ - ".gitattributes"
177
+ - ".gitignore"
178
+ - ".rubocop.yml"
179
+ - ".rultor.yml"
180
+ - ".simplecov"
181
+ - ".travis.yml"
205
182
  - Gemfile
206
183
  - LICENSE.txt
207
184
  - README.md
208
185
  - Rakefile
186
+ - TEAM.md
209
187
  - assets/est-text.xsl
210
188
  - assets/est.xsd
211
189
  - assets/est.xsl
@@ -231,26 +209,25 @@ files:
231
209
  homepage: http://github.com/teamed/est
232
210
  licenses:
233
211
  - MIT
212
+ metadata: {}
234
213
  post_install_message:
235
214
  rdoc_options:
236
- - --charset=UTF-8
215
+ - "--charset=UTF-8"
237
216
  require_paths:
238
217
  - lib
239
218
  required_ruby_version: !ruby/object:Gem::Requirement
240
- none: false
241
219
  requirements:
242
- - - ! '>='
220
+ - - ">="
243
221
  - !ruby/object:Gem::Version
244
222
  version: 1.9.3
245
223
  required_rubygems_version: !ruby/object:Gem::Requirement
246
- none: false
247
224
  requirements:
248
- - - ! '>='
225
+ - - ">="
249
226
  - !ruby/object:Gem::Version
250
227
  version: '0'
251
228
  requirements: []
252
229
  rubyforge_project:
253
- rubygems_version: 1.8.23
230
+ rubygems_version: 2.4.5.1
254
231
  signing_key:
255
232
  specification_version: 2
256
233
  summary: Estimates Automated
data/.coveralls.yml DELETED
@@ -1,2 +0,0 @@
1
- service_name: travis-pro
2
- repo_token: 1kcjkG55XgRbphw7FRhduZsDz5mPKtSoh