est 0.3 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
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