clerq 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/Gemfile.lock +1 -1
- data/lib/assets/knb/requirement-classification.md +27 -0
- data/lib/assets/knb/requirement-quality.md +13 -0
- data/lib/assets/new/clerq.thor.tt +30 -1
- data/lib/clerq/services/read_node.rb +4 -1
- data/lib/clerq/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b93dbd123950517f23f59aaf416dd20291df8a81bad903f7267ab070fe789fe
|
4
|
+
data.tar.gz: f029392d1e4cc1697d8eeb597cee32ed6b28dc50a56586c6d2f9dc0dadef7b67
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e14bdc8e40f10e25035546a4c460d997305d667974e03ef3fe221115bb597fa4ca690d6879a252f8bed972bda741079d2d4ac20510ac40bf14c509f1f480d35e
|
7
|
+
data.tar.gz: bda6247460cab6cb6c0a65aa6b954647f88542a264f872c7df9dbcc26d0242c8bfb0cce2ad1f37a5da20d2d94b5ed8451d360aca0a8274075b8324ae238d7e0c
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# Change log
|
2
2
|
|
3
|
+
## 0.3.1 (2019-12-13)
|
4
|
+
|
5
|
+
* Fixed error with reading files that read attributes to body.
|
6
|
+
* Added `mm` command to `<project>.thor` that creates "Meeting Minutes" files in `<project>/mm` folder.
|
7
|
+
|
3
8
|
## 0.3.0 (2019-12-04)
|
4
9
|
|
5
10
|
* Meet services instead of interactors. All interactors removed and their responsibility moved to appropriate services.
|
data/Gemfile.lock
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
% Requirements classification
|
2
|
+
|
3
|
+
BABOK
|
4
|
+
|
5
|
+
__Business requirements__: statements of goals, objectives, and outcomes that describe why a change has been initiated. They can apply to the whole of an enterprise, a business area, or a specific initiative.
|
6
|
+
|
7
|
+
__Stakeholder requirements__: describe the needs of stakeholders that must be met in order to achieve the business requirements. They may serve as a bridge between business and solution requirements
|
8
|
+
|
9
|
+
__Solution requirements__ : describe the capabilities and qualities of a solution that meets the stakeholder requirements. They provide the appropriate level of detail to allow for the development and implementation of the solution. Solution requirements can be divided into two sub-categories:
|
10
|
+
|
11
|
+
* __functional requirements__: describe the capabilities that a solution must have in terms of the behaviour and information that the solution will manage, and
|
12
|
+
* __non-functional requirements or quality of service requirements__: do not relate directly to the behaviour of functionality of the solution, but rather describe conditions under which a solution must remain effective or qualities that a solution must have.
|
13
|
+
|
14
|
+
__Transition requirements__: describe the capabilities that the solution must have and the conditions the solution must meet to facilitate transition from the current state to the future state, but which are not needed once the change is complete. They are differentiated from other requirements types because they are of a temporary nature. Transition requirements address topics such as data conversion, training, and business continuity.
|
15
|
+
|
16
|
+
Stakeholders
|
17
|
+
|
18
|
+
Each task includes a list of stakeholders who are likely to participate in the execution of that task or who will be affected by it. A stakeholder is an individual or group that a business analyst is likely to interact with directly or indirectly. Any stakeholder can be a source of requirements, assumptions, or
|
19
|
+
constraints.
|
20
|
+
|
21
|
+
SMART
|
22
|
+
|
23
|
+
* Specific: describing something that has an observable outcome,
|
24
|
+
* Measurable: tracking and measuring the outcome,
|
25
|
+
* Achievable: testing the feasibility of the effort,
|
26
|
+
* Relevant: aligning with the enterprise’s vision, mission, and goals, and
|
27
|
+
* Time-bounded: defining a time frame that is consistent with the need
|
@@ -0,0 +1,13 @@
|
|
1
|
+
% Characteristics of Requirements and Designs Quality
|
2
|
+
|
3
|
+
While quality is ultimately determined by the needs of the stakeholders who will use the requirements or the designs, acceptable quality requirements exhibit many of the following characteristics:
|
4
|
+
|
5
|
+
* __Atomic__: self-contained and capable of being understood independently of other requirements or designs.
|
6
|
+
* __Complete__: enough to guide further work and at the appropriate level of detail for work to continue. The level of completeness required differs based on perspective or methodology, as well as the point in the life cycle where the requirement is being examined or represented.
|
7
|
+
* __Consistent__: aligned with the identified needs of the stakeholders and not conflicting with other requirements.
|
8
|
+
* __Concise__: contains no extraneous and unnecessary content.
|
9
|
+
* __Feasible__: reasonable and possible within the agreed-upon risk, schedule, and budget, or considered feasible enough to investigate further through experiments or prototypes.
|
10
|
+
* __Unambiguous__: the requirement must be clearly stated in such a way to make it clear whether a solution does or does not meet the associated need.
|
11
|
+
* __Testable__: able to verify that the requirement or design has been fulfilled. Acceptable levels of verifying fulfillment depend on the level of abstraction of the requirement or design.
|
12
|
+
* __Prioritized__: ranked, grouped, or negotiated in terms of importance and value against all other requirements.
|
13
|
+
* __Understandable__: represented using common terminology of the audience.
|
@@ -6,8 +6,37 @@ class <%=config[:klass]%> < Thor
|
|
6
6
|
|
7
7
|
desc "stat", "Print statistic"
|
8
8
|
def stat
|
9
|
-
nodes = Clerq
|
9
|
+
nodes = Clerq.assemble
|
10
10
|
say "#{nodes.to_a.drop(1).size} nodes total"
|
11
11
|
end
|
12
12
|
|
13
|
+
desc "mm", "Create meeting minutes"
|
14
|
+
def mm
|
15
|
+
minutes = "meeting minutes #{Time.new.strftime('%Y-%m-%d')}.md"
|
16
|
+
content = "% #{minutes.capitalize}\n\n" + MINUTES_TEMPLATE
|
17
|
+
Dir.mkdir('mm') unless Dir.exist?('mm')
|
18
|
+
File.write("mm/#{minutes}", content)
|
19
|
+
say "'mm/#{minutes}' created!"
|
20
|
+
end
|
21
|
+
|
22
|
+
MINUTES_TEMPLATE = <<~EOF
|
23
|
+
# Attendants
|
24
|
+
|
25
|
+
1.
|
26
|
+
2.
|
27
|
+
3.
|
28
|
+
|
29
|
+
# Questions
|
30
|
+
|
31
|
+
1.
|
32
|
+
2.
|
33
|
+
3.
|
34
|
+
|
35
|
+
# Resolutions
|
36
|
+
|
37
|
+
1.
|
38
|
+
2.
|
39
|
+
3.
|
40
|
+
EOF
|
41
|
+
|
13
42
|
end
|
@@ -11,7 +11,9 @@ module Clerq
|
|
11
11
|
class ReadNode < Service
|
12
12
|
|
13
13
|
def call
|
14
|
-
|
14
|
+
# FIXME: something wrong here when foreach!
|
15
|
+
#
|
16
|
+
text = File.read(@filename)
|
15
17
|
read_nodes(text) do |node_text|
|
16
18
|
level, node = parse_node(node_text)
|
17
19
|
next unless node
|
@@ -38,6 +40,7 @@ module Clerq
|
|
38
40
|
# @return [Array<String>] where each item represents one node
|
39
41
|
def read_nodes(text, &block)
|
40
42
|
quote, node = false, []
|
43
|
+
text = text.split(?\n) unless text.is_a? Enumerator
|
41
44
|
text.each do |line|
|
42
45
|
if line.start_with?('#') && !quote && !node.empty?
|
43
46
|
block.call(node.join("\n"))
|
data/lib/clerq/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clerq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nikolay Voynov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-12-
|
11
|
+
date: 2019-12-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -97,7 +97,9 @@ files:
|
|
97
97
|
- lib/assets/knb/problem-statement.md
|
98
98
|
- lib/assets/knb/product-statement.md
|
99
99
|
- lib/assets/knb/requirement-attributes.md
|
100
|
+
- lib/assets/knb/requirement-classification.md
|
100
101
|
- lib/assets/knb/requirement-life-cycle.md
|
102
|
+
- lib/assets/knb/requirement-quality.md
|
101
103
|
- lib/assets/knb/use-case.md
|
102
104
|
- lib/assets/knb/vision-document.md
|
103
105
|
- lib/assets/lib/clerq_doc.thor
|