@rse/specbook 1.5.2 → 1.6.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.
- package/LICENSE.txt +201 -0
- package/README.md +288 -43
- package/dst/specbook-api.d.ts +23 -3
- package/dst/specbook-api.js +133 -59
- package/dst/specbook-cli.js +93 -26
- package/dst/specbook-cmd-describe.js +4 -4
- package/dst/specbook-cmd-export-schema.d.ts +8 -0
- package/dst/specbook-cmd-export-schema.js +441 -0
- package/dst/specbook-cmd-export.js +23 -6
- package/dst/specbook-cmd-init-sample.d.ts +4 -0
- package/dst/specbook-cmd-init-sample.js +322 -0
- package/dst/specbook-cmd-init.d.ts +1 -0
- package/dst/specbook-cmd-init.js +42 -10
- package/dst/specbook-cmd-lint.js +46 -48
- package/dst/specbook-cmd-query.d.ts +30 -0
- package/dst/specbook-cmd-query.js +165 -0
- package/dst/specbook-config.d.ts +9 -1
- package/dst/specbook-config.js +135 -10
- package/dst/specbook-coverage.js +2 -2
- package/dst/specbook-diagram.d.ts +7 -5
- package/dst/specbook-diagram.js +546 -143
- package/dst/specbook-export-ast.d.ts +1 -1
- package/dst/specbook-export-ast.js +11 -8
- package/dst/specbook-export-code.js +3 -3
- package/dst/specbook-export-common.d.ts +1 -1
- package/dst/specbook-export-common.js +3 -2
- package/dst/specbook-export-diagram.d.ts +1 -1
- package/dst/specbook-export-diagram.js +25 -7
- package/dst/specbook-export-html-fold.d.ts +16 -6
- package/dst/specbook-export-html-fold.js +65 -44
- package/dst/specbook-export-html-render.js +107 -26
- package/dst/specbook-export-html-search.js +18 -20
- package/dst/specbook-export-html-template.js +38 -9
- package/dst/specbook-export-html-widget.d.ts +2 -0
- package/dst/specbook-export-html-widget.js +219 -19
- package/dst/specbook-export-html.css +208 -38
- package/dst/specbook-export-html.js +96 -53
- package/dst/specbook-export-md.d.ts +2 -1
- package/dst/specbook-export-md.js +7 -8
- package/dst/specbook-export-pdf.js +1 -1
- package/dst/specbook-files.d.ts +2 -0
- package/dst/specbook-files.js +41 -0
- package/dst/specbook-format-meta.yaml +401 -0
- package/dst/specbook-format-pm.yaml +1240 -0
- package/dst/specbook-format-schema.d.ts +33 -3
- package/dst/specbook-format-schema.js +49 -3
- package/dst/specbook-format.md +427 -47
- package/dst/specbook-format.yaml +524 -228
- package/dst/specbook-ignore.js +2 -2
- package/dst/specbook-link.d.ts +4 -0
- package/dst/specbook-link.js +61 -6
- package/dst/specbook-mcp.js +103 -19
- package/dst/specbook-parse-semantic.d.ts +1 -0
- package/dst/specbook-parse-semantic.js +11 -4
- package/dst/specbook-parse-syntax.d.ts +1 -0
- package/dst/specbook-parse-syntax.js +1 -1
- package/dst/specbook-parse.d.ts +1 -1
- package/dst/specbook-parse.js +3 -3
- package/dst/specbook-project.d.ts +2 -0
- package/dst/specbook-project.js +15 -5
- package/dst/specbook-remote.d.ts +28 -0
- package/dst/specbook-remote.js +429 -0
- package/package.json +32 -20
|
@@ -0,0 +1,1240 @@
|
|
|
1
|
+
##
|
|
2
|
+
## Specification Book (SpecBook)
|
|
3
|
+
## Copyright (c) 2026 Dr. Ralf S. Engelschall <rse@engelschall.com>
|
|
4
|
+
## Licensed under Apache 2.0 <https://spdx.org/licenses/Apache-2.0>
|
|
5
|
+
##
|
|
6
|
+
|
|
7
|
+
# This is the "Project Management" SpecBook schema.
|
|
8
|
+
#
|
|
9
|
+
# Modeling Purpose
|
|
10
|
+
# ----------------
|
|
11
|
+
#
|
|
12
|
+
# This schema allows specifying the management of a project delivering a
|
|
13
|
+
# solution, system, or software: the charter justifying and funding it, the
|
|
14
|
+
# organization of its parties and persons, the deliverables, the work
|
|
15
|
+
# breakdown of the scope, the schedule of the work, the risks threatening
|
|
16
|
+
# and the opportunities favoring it, the governance steering it, and the
|
|
17
|
+
# issues and changes it handles. It stands on its own (`specbook <cmd> -c pm`),
|
|
18
|
+
# beside the specification of the solution it delivers: the specification
|
|
19
|
+
# describes *what* is built, the project management handbook *who* builds it,
|
|
20
|
+
# *when*, and *how* the project is steered.
|
|
21
|
+
#
|
|
22
|
+
# Modeling Coverage
|
|
23
|
+
# -----------------
|
|
24
|
+
#
|
|
25
|
+
# | "Project Management" SpecBook | PMBOK Performance Domain | PRINCE2 Practice | IPMA ICB Practice Element |
|
|
26
|
+
# | ----------------------------- | ------------------------ | ---------------- | ------------------------------------- |
|
|
27
|
+
# | META: Title (TI) | | | |
|
|
28
|
+
# | ----------------------------- | ------------------------ | ---------------- | ------------------------------------- |
|
|
29
|
+
# | PM: Project Charter (PC) | Planning, Measurement | Business Case | Requirements and Objectives, Finance |
|
|
30
|
+
# | PM: Project Organization (PO) | Team, Stakeholders | Organizing | Organisation, Resources, Stakeholders |
|
|
31
|
+
# | PM: Governance Model (GM) | Project Work | Directing | Organisation, Plan and Control |
|
|
32
|
+
# | PM: Delivery Scope (DS) | Delivery, Measurement | Plans, Quality | Scope, Quality |
|
|
33
|
+
# | PM: Work Breakdown (WB) | Planning | Plans | Scope, Resources, Finance |
|
|
34
|
+
# | PM: Project Schedule (PS) | Planning, Measurement | Plans, Progress | Time, Plan and Control |
|
|
35
|
+
# | PM: Risk Register (RR) | Uncertainty | Risk | Risk and Opportunity |
|
|
36
|
+
# | PM: Change Log (CL) | Project Work | Issues | Plan and Control, Change |
|
|
37
|
+
#
|
|
38
|
+
# Modeling Decisions
|
|
39
|
+
# ------------------
|
|
40
|
+
#
|
|
41
|
+
# - The artifacts are ordered so that every reference points
|
|
42
|
+
# backward: the charter (why), the organization (who), the
|
|
43
|
+
# governance (how it is steered), the deliverables (what), the work
|
|
44
|
+
# breakdown (which work), the schedule (when), the risks (what could
|
|
45
|
+
# go wrong or turn out well), and the change log (what did change).
|
|
46
|
+
# Only the "referenced" and "coverage" constraints and the diagram
|
|
47
|
+
# node sets name later objects.
|
|
48
|
+
#
|
|
49
|
+
# - The governance precedes the plan, as the ceremonies steer
|
|
50
|
+
# whatever is planned and are set up with the organization: the
|
|
51
|
+
# milestones of the schedule hence name the gates held at them
|
|
52
|
+
# ("GATES"), instead of a ceremony naming its milestones, and the
|
|
53
|
+
# issues of the change log name the ceremony deciding on them.
|
|
54
|
+
#
|
|
55
|
+
# - The charter carries no owner references, as it precedes the
|
|
56
|
+
# team: the objectives are served by the deliverables (which
|
|
57
|
+
# trace back onto them through "SERVES"), not owned by persons.
|
|
58
|
+
#
|
|
59
|
+
# - The money lives at the ends of the chain: the charter fixes the
|
|
60
|
+
# total "BUDGET" and the "RESERVE" held back out of it, the work
|
|
61
|
+
# packages carry the non-labor "COST" (licenses, hardware, travel)
|
|
62
|
+
# beside their person-day "EFFORT", and the party "RATE" prices the
|
|
63
|
+
# person-days, so the budget is checkable against the priced
|
|
64
|
+
# efforts plus the costs plus the reserve without a cost model of
|
|
65
|
+
# its own.
|
|
66
|
+
#
|
|
67
|
+
# - The schedule runs in weeks from week 0, as a plan outlives its
|
|
68
|
+
# dates, while the optional "START" date of the Project Schedule
|
|
69
|
+
# artifact anchors week 0 onto the calendar, so that a "Time"
|
|
70
|
+
# constraint of the charter is checkable against the Gantt chart.
|
|
71
|
+
#
|
|
72
|
+
# - The dependencies of the tasks ("AFTER") are finish-to-start ones
|
|
73
|
+
# without a lag, the one relationship a Gantt chart draws as an
|
|
74
|
+
# arrow and the one a reader reconstructs from the bars alone: a
|
|
75
|
+
# start-to-start overlap is expressed by splitting the predecessor,
|
|
76
|
+
# and a lag by the earliest "START" of the successor.
|
|
77
|
+
#
|
|
78
|
+
# - The development approach of the project ("APPROACH" of the
|
|
79
|
+
# charter: predictive, agile, or hybrid) is stated, not modeled: the
|
|
80
|
+
# phases and tasks of the schedule carry a predictive plan as well
|
|
81
|
+
# as the sprints of an agile one, and the ceremonies the events of
|
|
82
|
+
# either, so the approach merely tells the reader how to read them.
|
|
83
|
+
#
|
|
84
|
+
# - The threats and the opportunities form one object kind "RISK",
|
|
85
|
+
# told apart by their "TYPE", as both are uncertain events rated by
|
|
86
|
+
# probability and impact, owned, and answered by a strategy, while
|
|
87
|
+
# the threat and the opportunity responses share the "STRATEGY"
|
|
88
|
+
# enumeration (the description naming which applies to which).
|
|
89
|
+
#
|
|
90
|
+
# - The issues (the change requests, the problems, and the
|
|
91
|
+
# off-specifications) form the "ISSUE" object kind of the Change
|
|
92
|
+
# Log, as the home of everything which happened instead of being
|
|
93
|
+
# planned: a risk which occurred refers to it through "CAUSED-BY",
|
|
94
|
+
# the decision on it names the ceremony taking it, and the
|
|
95
|
+
# affected objects of all other artifacts are referenced, which is
|
|
96
|
+
# why the Change Log closes the artifact chain.
|
|
97
|
+
#
|
|
98
|
+
# - The stakeholders are parties, too, instead of a roster of their
|
|
99
|
+
# own, as the customer and the contractor are stakeholders and
|
|
100
|
+
# parties alike: a party of kind "Stakeholder" is affected by the
|
|
101
|
+
# results without contributing members, every party is analyzed
|
|
102
|
+
# on the power/interest grid ("INFLUENCE", "INTEREST"), planned
|
|
103
|
+
# by its "ENGAGEMENT" and "ATTITUDE", engaged through the
|
|
104
|
+
# ceremonies naming it (a party with members has to be named
|
|
105
|
+
# itself, as a reference onto a member does not cover it), and
|
|
106
|
+
# threatened by the risks naming it.
|
|
107
|
+
#
|
|
108
|
+
# - A milestone is a task without a duration, so the tasks and the
|
|
109
|
+
# milestones of the plan form one object kind and depend on each
|
|
110
|
+
# other without a forward reference between two kinds.
|
|
111
|
+
#
|
|
112
|
+
# - The durations and starts of the plan are plain numbers of weeks
|
|
113
|
+
# (the time axis, coarse enough for a chart fitting onto a page),
|
|
114
|
+
# while the efforts of the work packages and the budgets of the
|
|
115
|
+
# phases are plain numbers of person-days (the work), as a package
|
|
116
|
+
# of ten person-days done by two persons spans one week; a party
|
|
117
|
+
# rate turns the person-days into money.
|
|
118
|
+
#
|
|
119
|
+
# - All artifacts are optional, so that the schema can back a single
|
|
120
|
+
# plan as well as a complete project handbook, and so that a freshly
|
|
121
|
+
# initialized specification already lints cleanly.
|
|
122
|
+
#
|
|
123
|
+
# - The progress is tracked by the optional "STATUS" of the
|
|
124
|
+
# deliverables and tasks (beside the one of the risks), whose
|
|
125
|
+
# absence means "Planned", so a plan written before the project
|
|
126
|
+
# starts carries no status at all and the statuses are added as
|
|
127
|
+
# the project proceeds.
|
|
128
|
+
#
|
|
129
|
+
# - The handbook carries the baseline, not the actuals: no actual
|
|
130
|
+
# effort of a package, no actual finish of a task, no percentage
|
|
131
|
+
# complete, as these figures change weekly and live in the time
|
|
132
|
+
# tracking and the status report (a "Report" ceremony), whose
|
|
133
|
+
# variance analysis compares them against the baseline stated
|
|
134
|
+
# here. A re-planning (a changed baseline) is an approved issue of
|
|
135
|
+
# the Change Log, and the plan is edited to match.
|
|
136
|
+
#
|
|
137
|
+
|
|
138
|
+
- kind: META
|
|
139
|
+
name: Title
|
|
140
|
+
id: TI
|
|
141
|
+
file: 00-TI-Title.md
|
|
142
|
+
desc: >
|
|
143
|
+
The top-level specification meta information.
|
|
144
|
+
Some of the information is rendered onto the title page.
|
|
145
|
+
optional: true
|
|
146
|
+
diagram:
|
|
147
|
+
type: graph
|
|
148
|
+
nodes: "[[PM:*]]"
|
|
149
|
+
deep: true
|
|
150
|
+
qualified: true
|
|
151
|
+
ordered: true
|
|
152
|
+
nest:
|
|
153
|
+
kind: true
|
|
154
|
+
crossing: target
|
|
155
|
+
config:
|
|
156
|
+
graph-columns-max: 2
|
|
157
|
+
props:
|
|
158
|
+
- name: LOGO
|
|
159
|
+
desc: The logo of the specification.
|
|
160
|
+
optional: true
|
|
161
|
+
- name: TITLE
|
|
162
|
+
desc: The title of the specification.
|
|
163
|
+
optional: true
|
|
164
|
+
- name: SUBTITLE
|
|
165
|
+
desc: The subtitle of the specification.
|
|
166
|
+
optional: true
|
|
167
|
+
- name: AUTHOR
|
|
168
|
+
desc: The author of the specification.
|
|
169
|
+
optional: true
|
|
170
|
+
- name: VERSION
|
|
171
|
+
desc: The version of the specification.
|
|
172
|
+
optional: true
|
|
173
|
+
- name: LANG
|
|
174
|
+
desc: The language of the specification texts (ISO 639-1 code).
|
|
175
|
+
value: /^[a-z]{2}(-[A-Za-z0-9]+)?$/
|
|
176
|
+
optional: true
|
|
177
|
+
- name: CHARSET
|
|
178
|
+
desc: The character set the embedded fonts are subsetted to.
|
|
179
|
+
value: enum(US-ASCII,ISO-8859-1,ISO-Latin-1,ISO-8859-15,ISO-Latin-15,UTF-8)
|
|
180
|
+
optional: true
|
|
181
|
+
- name: PAPER-SIZE
|
|
182
|
+
desc: The paper size the print/PDF rendering is targeted at.
|
|
183
|
+
value: enum(A4,Letter,Legal)
|
|
184
|
+
optional: true
|
|
185
|
+
- name: THEME-STYLE
|
|
186
|
+
desc: The theme style.
|
|
187
|
+
value: enum(Dark,Light)
|
|
188
|
+
optional: true
|
|
189
|
+
- name: THEME-TONE
|
|
190
|
+
desc: The theme color tone, optionally followed by the complement color tone (else derived).
|
|
191
|
+
value: /^#[0-9a-fA-F]{6}(\s+#[0-9a-fA-F]{6})?$/
|
|
192
|
+
optional: true
|
|
193
|
+
|
|
194
|
+
- kind: PM
|
|
195
|
+
name: Project Charter
|
|
196
|
+
id: PC
|
|
197
|
+
file: 01-PC-Project-Charter.md
|
|
198
|
+
desc: >
|
|
199
|
+
The justification of the project, defining *why* it is undertaken: the objectives it
|
|
200
|
+
pursues, each with the measurable criterion by which its success is judged, the
|
|
201
|
+
constraints it has to respect, and the assumptions it rests on, plus the development
|
|
202
|
+
approach it follows and the budget and the reserve funding it, so that every
|
|
203
|
+
deliverable serves a stated objective and the project is closed against its own success
|
|
204
|
+
criteria instead of against its last plan.
|
|
205
|
+
optional: true
|
|
206
|
+
refs: >
|
|
207
|
+
- PMI: A Guide to the Project Management Body of Knowledge (PMBOK Guide), 7th ed.: Planning, Measurement, and Development Approach and Life Cycle Performance Domains (2021),
|
|
208
|
+
https://www.pmi.org/standards/pmbok
|
|
209
|
+
- Axelos: Managing Successful Projects with PRINCE2, 7th ed.: Business Case (2023),
|
|
210
|
+
https://www.axelos.com/certifications/propath/prince2-project-management
|
|
211
|
+
- IPMA: Individual Competence Baseline (ICB), 4th ed.: Requirements and Objectives, Finance (2015),
|
|
212
|
+
https://www.ipma.world/individuals/standard/
|
|
213
|
+
- ISO 21502:2020: Project, programme and portfolio management -- Guidance on project management: Pre-project activities (2020),
|
|
214
|
+
https://www.iso.org/standard/74947.html
|
|
215
|
+
diagram:
|
|
216
|
+
type: tree
|
|
217
|
+
nodes: "[[OBJECTIVE:*]], [[CONSTRAINT:*]], [[ASSUMPTION:*]]"
|
|
218
|
+
links: []
|
|
219
|
+
markUncovered: referenced
|
|
220
|
+
nest:
|
|
221
|
+
kind: true
|
|
222
|
+
config:
|
|
223
|
+
tree-stack-min: 1
|
|
224
|
+
props:
|
|
225
|
+
- name: APPROACH
|
|
226
|
+
desc: |
|
|
227
|
+
The development approach of the project, one of:
|
|
228
|
+
- `Predictive`: The scope, the schedule, and the budget are planned upfront and
|
|
229
|
+
the results delivered at the end (the "waterfall").
|
|
230
|
+
- `Agile`: The scope evolves in iterations delivering increments, the
|
|
231
|
+
schedule and the budget being fixed per iteration.
|
|
232
|
+
- `Hybrid`: The phases and the milestones are predictive, while the
|
|
233
|
+
construction inside them runs in iterations.
|
|
234
|
+
Omitted where it is not stated, as the schedule carries either.
|
|
235
|
+
value: enum(Predictive,Agile,Hybrid)
|
|
236
|
+
optional: true
|
|
237
|
+
- name: BUDGET
|
|
238
|
+
desc: >
|
|
239
|
+
The total budget of the project as money (e.g. `240000 EUR`): the person-day
|
|
240
|
+
budgets of the phases priced by the `RATE` of the parties, the non-labor `COST`
|
|
241
|
+
of the work packages, and the `RESERVE`; omitted where no budget is fixed (e.g.
|
|
242
|
+
a time and material contract).
|
|
243
|
+
optional: true
|
|
244
|
+
- name: RESERVE
|
|
245
|
+
desc: >
|
|
246
|
+
The part of the `BUDGET` held back as money (e.g. `22500 EUR`) for the
|
|
247
|
+
contingencies of the risks and the approved changes of the Change Log, released
|
|
248
|
+
by the steering alone; omitted where no reserve is held.
|
|
249
|
+
optional: true
|
|
250
|
+
children:
|
|
251
|
+
- kind: OBJECTIVE
|
|
252
|
+
desc: >
|
|
253
|
+
A single objective of the project, named with a short (2-5 word) noun phrase of
|
|
254
|
+
the outcome (e.g. `Townhall Backchannel`, `Independent Operation`) and described
|
|
255
|
+
in a concise (1-3 sentence) paragraph by the benefit the customer gains once it is
|
|
256
|
+
reached, plus a 1-sentence rationale ("why") stating the need behind it. Every
|
|
257
|
+
objective is served by at least one deliverable of the Delivery Scope.
|
|
258
|
+
optional: true
|
|
259
|
+
format:
|
|
260
|
+
type: concise
|
|
261
|
+
maxTableColumns: 5
|
|
262
|
+
referenced:
|
|
263
|
+
- "[[DELIVERABLE:*]]"
|
|
264
|
+
props:
|
|
265
|
+
- name: PRIORITY
|
|
266
|
+
desc: >
|
|
267
|
+
The priority of the objective: `High` for one the project fails without,
|
|
268
|
+
`Medium` for one it is expected to reach, or `Low` for one it reaches if
|
|
269
|
+
the constraints permit.
|
|
270
|
+
value: enum(High,Medium,Low)
|
|
271
|
+
- name: SUCCESS
|
|
272
|
+
desc: >
|
|
273
|
+
The measurable criterion by which the objective is judged reached, stated
|
|
274
|
+
as an observable condition with its figure and its point in time (e.g.
|
|
275
|
+
`5000 attendees sustained in the load test before the go-live`), so that
|
|
276
|
+
the success of the project is a fact, not an opinion.
|
|
277
|
+
- kind: CONSTRAINT
|
|
278
|
+
desc: >
|
|
279
|
+
A single constraint of the project, named with a short (2-5 word) summary (e.g.
|
|
280
|
+
`Fixed Price`, `EU Data Residency`) and described in a concise (1-2 sentence)
|
|
281
|
+
paragraph by the limit it imposes and its origin (a contract, a law, a date, a
|
|
282
|
+
budget), so that the plan is checked against it instead of discovering it.
|
|
283
|
+
optional: true
|
|
284
|
+
format:
|
|
285
|
+
type: concise
|
|
286
|
+
maxTableColumns: 5
|
|
287
|
+
props:
|
|
288
|
+
- name: KIND
|
|
289
|
+
desc: |
|
|
290
|
+
The kind of the constraint, one of:
|
|
291
|
+
- `Time`: A fixed date or deadline the project has to meet.
|
|
292
|
+
- `Budget`: A limit of the money or effort the project may consume.
|
|
293
|
+
- `Scope`: A boundary of what the project does or does not deliver.
|
|
294
|
+
- `Quality`: A standard or level the results have to reach.
|
|
295
|
+
- `Resource`: A limit of the staff, skills, or facilities available to the project.
|
|
296
|
+
- `Technology`: A platform, product, or technology the project has to use.
|
|
297
|
+
- `Legal`: A law, regulation, or contract term the project has to obey.
|
|
298
|
+
value: enum(Time,Budget,Scope,Quality,Resource,Technology,Legal)
|
|
299
|
+
- kind: ASSUMPTION
|
|
300
|
+
desc: >
|
|
301
|
+
A single assumption of the project, named with a short (2-5 word) summary (e.g.
|
|
302
|
+
`Stream Provider Stays`) and described in a concise (1-2 sentence) paragraph by
|
|
303
|
+
the condition taken for granted and the part of the plan resting on it, so that
|
|
304
|
+
a refuted assumption is recognized as a change of the plan, not as a surprise.
|
|
305
|
+
optional: true
|
|
306
|
+
format:
|
|
307
|
+
type: concise
|
|
308
|
+
maxTableColumns: 5
|
|
309
|
+
props:
|
|
310
|
+
- name: STATUS
|
|
311
|
+
desc: |
|
|
312
|
+
The status of the assumption, one of:
|
|
313
|
+
- `Open`: The assumption is taken for granted but not yet verified.
|
|
314
|
+
- `Confirmed`: The assumption was verified to hold.
|
|
315
|
+
- `Refuted`: The assumption turned out not to hold, the plan is revised.
|
|
316
|
+
value: enum(Open,Confirmed,Refuted)
|
|
317
|
+
|
|
318
|
+
- kind: PM
|
|
319
|
+
name: Project Organization
|
|
320
|
+
id: PO
|
|
321
|
+
file: 02-PO-Project-Organization.md
|
|
322
|
+
desc: >
|
|
323
|
+
The parties taking part in or affected by the project and the members they contribute,
|
|
324
|
+
defining who commissions, delivers, supplies, steers, and is affected by the project,
|
|
325
|
+
which role every person plays in it, and how every party is analyzed and engaged as a
|
|
326
|
+
stakeholder, so that every deliverable, work package, task, risk, and ceremony can name
|
|
327
|
+
its owner, its participants, or the party it addresses.
|
|
328
|
+
optional: true
|
|
329
|
+
refs: >
|
|
330
|
+
- PMI: A Guide to the Project Management Body of Knowledge (PMBOK Guide), 7th ed.: Team Performance Domain (2021),
|
|
331
|
+
https://www.pmi.org/standards/pmbok
|
|
332
|
+
- Axelos: Managing Successful Projects with PRINCE2, 7th ed.: Organizing (2023),
|
|
333
|
+
https://www.axelos.com/certifications/propath/prince2-project-management
|
|
334
|
+
- ISO 21502:2020: Project, programme and portfolio management -- Guidance on project management (2020),
|
|
335
|
+
https://www.iso.org/standard/74947.html
|
|
336
|
+
diagram:
|
|
337
|
+
- type: tree
|
|
338
|
+
nodes: "[[PARTY:*]], [[MEMBER:*]]"
|
|
339
|
+
links: []
|
|
340
|
+
markUncovered: referenced
|
|
341
|
+
nest:
|
|
342
|
+
parent: true
|
|
343
|
+
config:
|
|
344
|
+
tree-stack-min: 1
|
|
345
|
+
- type: grid
|
|
346
|
+
nodes: "[[PARTY:*]]"
|
|
347
|
+
properties:
|
|
348
|
+
- INFLUENCE
|
|
349
|
+
- INTEREST
|
|
350
|
+
config:
|
|
351
|
+
size-node-width-max: 440
|
|
352
|
+
grid-columns-max: 4
|
|
353
|
+
children:
|
|
354
|
+
- kind: PARTY
|
|
355
|
+
desc: >
|
|
356
|
+
A single party of the project, named by its organization or organizational unit
|
|
357
|
+
(e.g. `ACME Corp.`, `Engineering Department`, `Works Council`) and described in a
|
|
358
|
+
concise (1-2 sentence) paragraph by its stake in the project, while its MEMBER
|
|
359
|
+
children are the persons it contributes (none for a party merely affected by the
|
|
360
|
+
results). Every party is engaged through at least one ceremony of the Governance
|
|
361
|
+
Model naming it (or, for a party contributing members, naming the party itself
|
|
362
|
+
beside them).
|
|
363
|
+
optional: true
|
|
364
|
+
badge: team
|
|
365
|
+
referenced:
|
|
366
|
+
- "[[CEREMONY:*]]"
|
|
367
|
+
props:
|
|
368
|
+
- name: KIND
|
|
369
|
+
desc: |
|
|
370
|
+
The kind of the party, one of:
|
|
371
|
+
- `Customer`: Commissions and accepts the project results.
|
|
372
|
+
- `Contractor`: Delivers the project results.
|
|
373
|
+
- `Supplier`: Provides products or services to the contractor.
|
|
374
|
+
- `Partner`: Shares the delivery with the contractor.
|
|
375
|
+
- `Authority`: Regulates, certifies, or audits the project results.
|
|
376
|
+
- `Stakeholder`: Is affected by the project results without contributing
|
|
377
|
+
to them (e.g. the end users, a works council, the operations
|
|
378
|
+
department, a neighboring project).
|
|
379
|
+
value: enum(Customer,Contractor,Supplier,Partner,Authority,Stakeholder)
|
|
380
|
+
- name: ROLE
|
|
381
|
+
desc: >
|
|
382
|
+
The role of the party in the project in a short (1-5 word) phrase (e.g.
|
|
383
|
+
`Commissioning party`, `Prime contractor`, `Hosting provider`, `End
|
|
384
|
+
users`).
|
|
385
|
+
- name: INFLUENCE
|
|
386
|
+
desc: >
|
|
387
|
+
The power of the party over the project (its decisions, budget, and
|
|
388
|
+
scope): `Low`, `Medium`, or `High`, the one axis of the power/interest
|
|
389
|
+
grid of the stakeholder analysis.
|
|
390
|
+
value: enum(Low,Medium,High)
|
|
391
|
+
- name: INTEREST
|
|
392
|
+
desc: >
|
|
393
|
+
The stake of the party in the outcome of the project: `Low`, `Medium`, or
|
|
394
|
+
`High`, the other axis of the power/interest grid, so that a party of high
|
|
395
|
+
influence and low interest is kept satisfied, one of high influence and
|
|
396
|
+
high interest managed closely, and so on.
|
|
397
|
+
value: enum(Low,Medium,High)
|
|
398
|
+
- name: ENGAGEMENT
|
|
399
|
+
desc: |
|
|
400
|
+
The chosen level of engaging the party (the stakeholder engagement plan),
|
|
401
|
+
one of:
|
|
402
|
+
- `Inform`: The party is kept informed of the progress and the decisions.
|
|
403
|
+
- `Consult`: The party is asked for its view before the decisions concerning it.
|
|
404
|
+
- `Involve`: The party takes part in the work concerning it.
|
|
405
|
+
- `Collaborate`: The party shares the decisions and their consequences.
|
|
406
|
+
Omitted where the power/interest grid alone implies it.
|
|
407
|
+
value: enum(Inform,Consult,Involve,Collaborate)
|
|
408
|
+
optional: true
|
|
409
|
+
- name: ATTITUDE
|
|
410
|
+
desc: >
|
|
411
|
+
The current attitude of the party towards the project (the stakeholder
|
|
412
|
+
engagement assessment): `Supportive`, `Neutral`, or `Resistant`, omitted
|
|
413
|
+
where it is not assessed; a gap between the attitude and the engagement
|
|
414
|
+
the project needs is what the engagement closes.
|
|
415
|
+
value: enum(Supportive,Neutral,Resistant)
|
|
416
|
+
optional: true
|
|
417
|
+
- name: RATE
|
|
418
|
+
desc: >
|
|
419
|
+
The price of one person-day of the members of the party (e.g. `950 EUR`),
|
|
420
|
+
so that the person-day budgets of the phases turn into money; omitted for
|
|
421
|
+
a party whose effort is not charged to the project.
|
|
422
|
+
optional: true
|
|
423
|
+
children:
|
|
424
|
+
- kind: MEMBER
|
|
425
|
+
desc: >
|
|
426
|
+
A single member of the project team, named by the person (or by the
|
|
427
|
+
position where the person is not yet known, e.g. `Tester 2`) and described
|
|
428
|
+
in a 1-sentence description of what the member is accountable for.
|
|
429
|
+
optional: true
|
|
430
|
+
badge: person
|
|
431
|
+
format:
|
|
432
|
+
type: concise
|
|
433
|
+
maxTableColumns: 5
|
|
434
|
+
referenced:
|
|
435
|
+
- "[[DELIVERABLE:*]]"
|
|
436
|
+
- "[[WORK-PACKAGE:*]]"
|
|
437
|
+
- "[[TASK:*]]"
|
|
438
|
+
- "[[RISK:*]]"
|
|
439
|
+
- "[[CEREMONY:*]]"
|
|
440
|
+
diagram:
|
|
441
|
+
type: hub
|
|
442
|
+
center: self
|
|
443
|
+
nodes: "[[MEMBER:*]], [[DELIVERABLE:*]], [[WORK-PACKAGE:*]], [[TASK:*]],
|
|
444
|
+
[[RISK:*]], [[CEREMONY:*]], [[ISSUE:*]]"
|
|
445
|
+
labeled: true
|
|
446
|
+
qualified: true
|
|
447
|
+
config:
|
|
448
|
+
size-node-width-max: 440
|
|
449
|
+
size-node-height-scale: 1.75
|
|
450
|
+
hub-node-count-max: 3
|
|
451
|
+
props:
|
|
452
|
+
- name: ROLE
|
|
453
|
+
desc: >
|
|
454
|
+
The role of the member in the project in a short (1-3 word) phrase
|
|
455
|
+
(e.g. `Sponsor`, `Product Owner`, `Project Manager`, `Architect`,
|
|
456
|
+
`Developer`, `Tester`), a person playing several roles listing all
|
|
457
|
+
of them.
|
|
458
|
+
- name: CAPACITY
|
|
459
|
+
desc: >
|
|
460
|
+
The share of the working time of the member available to the
|
|
461
|
+
project (e.g. `100%`, `2 days/week`), so that the effort of the
|
|
462
|
+
work packages owned by the member is plannable.
|
|
463
|
+
optional: true
|
|
464
|
+
- name: CONTACT
|
|
465
|
+
desc: >
|
|
466
|
+
The contact address of the member (e.g. an email address), omitted
|
|
467
|
+
for a position not yet staffed.
|
|
468
|
+
optional: true
|
|
469
|
+
|
|
470
|
+
- kind: PM
|
|
471
|
+
name: Governance Model
|
|
472
|
+
id: GM
|
|
473
|
+
file: 03-GM-Governance-Model.md
|
|
474
|
+
desc: >
|
|
475
|
+
The ceremonies through which the project is steered: the recurring meetings, reports, and
|
|
476
|
+
reviews, and the gates the milestones of the Project Schedule are decided at, each with
|
|
477
|
+
its cadence and its participants, so that the decisions of the project (the ones on the
|
|
478
|
+
issues of the Change Log included) are taken at known occasions by known people, and
|
|
479
|
+
where every member and every party of the Project Organization takes part in some ceremony (a
|
|
480
|
+
party as a whole being the audience of a report or a stakeholder without members).
|
|
481
|
+
optional: true
|
|
482
|
+
coverage:
|
|
483
|
+
- "[[MEMBER:*]]"
|
|
484
|
+
- "[[PARTY:*]]"
|
|
485
|
+
refs: >
|
|
486
|
+
- ISO 21505:2017: Project, programme and portfolio management -- Guidance on governance (2017),
|
|
487
|
+
https://www.iso.org/standard/63578.html
|
|
488
|
+
- Axelos: Managing Successful Projects with PRINCE2, 7th ed.: Directing a Project (2023),
|
|
489
|
+
https://www.axelos.com/certifications/propath/prince2-project-management
|
|
490
|
+
- IPMA: Individual Competence Baseline (ICB), 4th ed.: Organisation and Information, Plan and Control (2015),
|
|
491
|
+
https://www.ipma.world/individuals/standard/
|
|
492
|
+
- Schwaber/Sutherland: The Scrum Guide: Scrum Events (2020),
|
|
493
|
+
https://scrumguides.org/scrum-guide.html
|
|
494
|
+
diagram:
|
|
495
|
+
- type: grid
|
|
496
|
+
nodes: "[[CEREMONY:*]]"
|
|
497
|
+
properties:
|
|
498
|
+
- KIND
|
|
499
|
+
- CADENCE
|
|
500
|
+
config:
|
|
501
|
+
size-node-width-max: 440
|
|
502
|
+
grid-columns-max: 4
|
|
503
|
+
- type: graph
|
|
504
|
+
nodes: "[[CEREMONY:*]], [[MEMBER:*]], [[PARTY:*]], [[TASK:*]]"
|
|
505
|
+
links:
|
|
506
|
+
- PARTICIPANTS
|
|
507
|
+
- GATES
|
|
508
|
+
reverse:
|
|
509
|
+
- GATES
|
|
510
|
+
onlyConnected: true
|
|
511
|
+
nest:
|
|
512
|
+
kind: true
|
|
513
|
+
children:
|
|
514
|
+
- kind: CEREMONY
|
|
515
|
+
desc: >
|
|
516
|
+
A single ceremony, named with a short (1-4 word) summary (e.g. `Steering
|
|
517
|
+
Committee`, `Status Report`, `Sprint Review`) and described in a concise (1-2
|
|
518
|
+
sentence) paragraph by its purpose and the decisions or outputs it yields. A
|
|
519
|
+
ceremony of kind `Gate` is named by the milestones of the Project Schedule it is
|
|
520
|
+
held at.
|
|
521
|
+
optional: true
|
|
522
|
+
badge:
|
|
523
|
+
property: KIND
|
|
524
|
+
map:
|
|
525
|
+
Meeting: communication
|
|
526
|
+
Report: document
|
|
527
|
+
Review: team
|
|
528
|
+
Gate: clock
|
|
529
|
+
format:
|
|
530
|
+
type: compact
|
|
531
|
+
maxTableColumns: 5
|
|
532
|
+
diagram:
|
|
533
|
+
type: hub
|
|
534
|
+
center: self
|
|
535
|
+
nodes: "[[CEREMONY:*]], [[MEMBER:*]], [[PARTY:*]], [[TASK:*]], [[ISSUE:*]]"
|
|
536
|
+
labeled: true
|
|
537
|
+
qualified: true
|
|
538
|
+
config:
|
|
539
|
+
size-node-width-max: 440
|
|
540
|
+
size-node-height-scale: 1.75
|
|
541
|
+
hub-node-count-max: 3
|
|
542
|
+
props:
|
|
543
|
+
- name: KIND
|
|
544
|
+
desc: |
|
|
545
|
+
The kind of the ceremony, one of:
|
|
546
|
+
- `Meeting`: A synchronous gathering taking decisions.
|
|
547
|
+
- `Report`: A written status handed to its recipients.
|
|
548
|
+
- `Review`: An inspection of results yielding findings.
|
|
549
|
+
- `Gate`: A go/no-go decision at a milestone.
|
|
550
|
+
value: enum(Meeting,Report,Review,Gate)
|
|
551
|
+
- name: CADENCE
|
|
552
|
+
desc: >
|
|
553
|
+
The rhythm of the ceremony (e.g. `Weekly`, `Bi-weekly`, `Monthly`, `At
|
|
554
|
+
milestone`, `On demand`).
|
|
555
|
+
- name: PARTICIPANTS
|
|
556
|
+
desc: >
|
|
557
|
+
Comma-separated references to the PROJECT-ORGANIZATION members taking
|
|
558
|
+
part in the ceremony and/or the parties it addresses as a whole (the audience of
|
|
559
|
+
a report, a stakeholder without members), so that every party is engaged
|
|
560
|
+
through some ceremony.
|
|
561
|
+
value: list([[MEMBER:*]], [[PARTY:*]])
|
|
562
|
+
|
|
563
|
+
- kind: PM
|
|
564
|
+
name: Delivery Scope
|
|
565
|
+
id: DS
|
|
566
|
+
file: 04-DS-Delivery-Scope.md
|
|
567
|
+
desc: >
|
|
568
|
+
The results the project hands over, each with the criteria by which it is accepted and
|
|
569
|
+
the method by which it is verified against them,
|
|
570
|
+
defining *what* the project delivers (the documents, software, services, hardware,
|
|
571
|
+
training, and data) as opposed to the work producing it (the Work Breakdown) and the
|
|
572
|
+
time at which it is produced (the Project Schedule), tracing every result back to the
|
|
573
|
+
objectives of the Project Charter it serves, and listing the exclusions the project
|
|
574
|
+
explicitly does *not* deliver, so that a scope dispute is decided by the document.
|
|
575
|
+
optional: true
|
|
576
|
+
coverage:
|
|
577
|
+
- "[[OBJECTIVE:*]]"
|
|
578
|
+
refs: >
|
|
579
|
+
- PMI: A Guide to the Project Management Body of Knowledge (PMBOK Guide), 7th ed.: Delivery Performance Domain (2021),
|
|
580
|
+
https://www.pmi.org/standards/pmbok
|
|
581
|
+
- Axelos: Managing Successful Projects with PRINCE2, 7th ed.: Product-Based Planning, Quality (2023),
|
|
582
|
+
https://www.axelos.com/certifications/propath/prince2-project-management
|
|
583
|
+
- IPMA: Individual Competence Baseline (ICB), 4th ed.: Scope, Quality (2015),
|
|
584
|
+
https://www.ipma.world/individuals/standard/
|
|
585
|
+
- ISO 21502:2020: Project, programme and portfolio management -- Guidance on project management (2020),
|
|
586
|
+
https://www.iso.org/standard/74947.html
|
|
587
|
+
diagram:
|
|
588
|
+
type: grid
|
|
589
|
+
nodes: "[[DELIVERABLE:*]]"
|
|
590
|
+
markUncovered: referenced
|
|
591
|
+
properties:
|
|
592
|
+
- KIND
|
|
593
|
+
- STATUS
|
|
594
|
+
config:
|
|
595
|
+
size-node-width-max: 440
|
|
596
|
+
grid-columns-max: 4
|
|
597
|
+
children:
|
|
598
|
+
- kind: DELIVERABLE
|
|
599
|
+
desc: >
|
|
600
|
+
A single deliverable, named with a short (2-5 word) summary (e.g. `Operations
|
|
601
|
+
Manual`, `Production Release 1.0`) and described in a concise (1-3 sentence)
|
|
602
|
+
paragraph by its content and its recipient, plus a 1-sentence rationale ("why")
|
|
603
|
+
stating the need it satisfies.
|
|
604
|
+
optional: true
|
|
605
|
+
badge:
|
|
606
|
+
property: KIND
|
|
607
|
+
map:
|
|
608
|
+
Document: document
|
|
609
|
+
Software: package
|
|
610
|
+
Service: service
|
|
611
|
+
Hardware: device
|
|
612
|
+
Training: person
|
|
613
|
+
Data: database
|
|
614
|
+
format:
|
|
615
|
+
type: compact
|
|
616
|
+
maxTableColumns: 5
|
|
617
|
+
referenced:
|
|
618
|
+
- "[[WORK-PACKAGE:*]]"
|
|
619
|
+
diagram:
|
|
620
|
+
type: hub
|
|
621
|
+
center: self
|
|
622
|
+
nodes: "[[DELIVERABLE:*]], [[OBJECTIVE:*]], [[MEMBER:*]], [[WORK-PACKAGE:*]],
|
|
623
|
+
[[TASK:*]], [[RISK:*]], [[ISSUE:*]]"
|
|
624
|
+
labeled: true
|
|
625
|
+
qualified: true
|
|
626
|
+
config:
|
|
627
|
+
size-node-width-max: 440
|
|
628
|
+
size-node-height-scale: 1.75
|
|
629
|
+
hub-node-count-max: 3
|
|
630
|
+
props:
|
|
631
|
+
- name: KIND
|
|
632
|
+
desc: |
|
|
633
|
+
The kind of the deliverable, one of:
|
|
634
|
+
- `Document`: A written result (specification, manual, report).
|
|
635
|
+
- `Software`: An executable result (release, package, image).
|
|
636
|
+
- `Service`: An operated result (hosted system, support).
|
|
637
|
+
- `Hardware`: A physical result (device, installation).
|
|
638
|
+
- `Training`: A taught result (course, workshop, handover).
|
|
639
|
+
- `Data`: A migrated or compiled result (data set, content).
|
|
640
|
+
value: enum(Document,Software,Service,Hardware,Training,Data)
|
|
641
|
+
- name: FORMAT
|
|
642
|
+
desc: >
|
|
643
|
+
The form in which the deliverable is handed over (e.g. `PDF`, `OCI
|
|
644
|
+
image`, `Git tag`), omitted where the kind implies it.
|
|
645
|
+
optional: true
|
|
646
|
+
- name: OWNER
|
|
647
|
+
desc: >
|
|
648
|
+
Reference to the PROJECT-ORGANIZATION member accountable for producing
|
|
649
|
+
the deliverable (the producer).
|
|
650
|
+
value: "[[MEMBER:*]]"
|
|
651
|
+
- name: APPROVER
|
|
652
|
+
desc: >
|
|
653
|
+
Reference to the PROJECT-ORGANIZATION member accepting the deliverable
|
|
654
|
+
by its criteria (the approver), usually on the side of the customer and
|
|
655
|
+
never the `OWNER` producing it.
|
|
656
|
+
value: "[[MEMBER:*]]"
|
|
657
|
+
- name: SERVES
|
|
658
|
+
desc: >
|
|
659
|
+
Comma-separated references to the PROJECT-CHARTER objectives the
|
|
660
|
+
deliverable serves (in full or in part), so that every objective is
|
|
661
|
+
served by a result and no result is delivered for its own sake.
|
|
662
|
+
value: list([[OBJECTIVE:*]])
|
|
663
|
+
- name: ACCEPTANCE
|
|
664
|
+
desc: >
|
|
665
|
+
The criteria by which the recipient accepts the deliverable, stated as
|
|
666
|
+
observable conditions (e.g. `all acceptance tests pass in the QA
|
|
667
|
+
environment`), so that the acceptance is a decision, not a negotiation.
|
|
668
|
+
- name: VERIFICATION
|
|
669
|
+
desc: |
|
|
670
|
+
The method by which the deliverable is verified against its `ACCEPTANCE`
|
|
671
|
+
criteria before the `APPROVER` decides, one of:
|
|
672
|
+
- `Review`: The deliverable is inspected by its readers (a document).
|
|
673
|
+
- `Test`: The deliverable is executed against test cases (software, a service).
|
|
674
|
+
- `Demonstration`: The recipient performs with the deliverable (a manual, a training).
|
|
675
|
+
- `Audit`: A third party checks the deliverable against a standard.
|
|
676
|
+
Omitted where the criteria imply the method.
|
|
677
|
+
value: enum(Review,Test,Demonstration,Audit)
|
|
678
|
+
optional: true
|
|
679
|
+
- name: STATUS
|
|
680
|
+
desc: |
|
|
681
|
+
The progress of the deliverable, one of:
|
|
682
|
+
- `Planned`: The deliverable is defined, the work not yet started (the default).
|
|
683
|
+
- `In Progress`: The work producing the deliverable is underway.
|
|
684
|
+
- `Delivered`: The deliverable is handed over, the acceptance pending.
|
|
685
|
+
- `Accepted`: The recipient accepted the deliverable by its criteria.
|
|
686
|
+
- `Rejected`: The recipient rejected the deliverable by its criteria, the
|
|
687
|
+
work resumes (an off-specification of the Change Log).
|
|
688
|
+
value: enum(Planned,"In Progress",Delivered,Accepted,Rejected)
|
|
689
|
+
optional: true
|
|
690
|
+
- kind: EXCLUSION
|
|
691
|
+
desc: >
|
|
692
|
+
A single exclusion from the scope, named with a short (2-5 word) noun phrase of
|
|
693
|
+
the result the project explicitly does *not* deliver (e.g. `Native Mobile Apps`)
|
|
694
|
+
and described in one sentence stating what is excluded, plus a 1-sentence
|
|
695
|
+
rationale ("why") naming who delivers it instead or why nobody has to.
|
|
696
|
+
optional: true
|
|
697
|
+
format:
|
|
698
|
+
type: concise
|
|
699
|
+
maxTableColumns: 5
|
|
700
|
+
|
|
701
|
+
- kind: PM
|
|
702
|
+
name: Work Breakdown
|
|
703
|
+
id: WB
|
|
704
|
+
file: 05-WB-Work-Breakdown.md
|
|
705
|
+
desc: >
|
|
706
|
+
The hierarchical decomposition of the entire scope of the project into work packages,
|
|
707
|
+
defining *what work* has to be done (down to the packages which are estimated, owned,
|
|
708
|
+
and scheduled) as opposed to *when* it is done (the Project Schedule), where every package
|
|
709
|
+
is either decomposed into sub-packages or scheduled by a task, and the packages of one
|
|
710
|
+
level together cover their parent completely (the "100% rule"), and where every
|
|
711
|
+
deliverable of the Delivery Scope traces back to the packages producing it.
|
|
712
|
+
optional: true
|
|
713
|
+
coverage:
|
|
714
|
+
- "[[DELIVERABLE:*]]"
|
|
715
|
+
refs: >
|
|
716
|
+
- PMI: Practice Standard for Work Breakdown Structures, 3rd ed. (2019),
|
|
717
|
+
https://www.pmi.org/standards/wbs
|
|
718
|
+
- PMI: A Guide to the Project Management Body of Knowledge (PMBOK Guide), 7th ed.: Planning Performance Domain (2021),
|
|
719
|
+
https://www.pmi.org/standards/pmbok
|
|
720
|
+
- Axelos: Managing Successful Projects with PRINCE2, 7th ed.: Product Breakdown Structure (2023),
|
|
721
|
+
https://www.axelos.com/certifications/propath/prince2-project-management
|
|
722
|
+
- IPMA: Individual Competence Baseline (ICB), 4th ed.: Scope, Resources, Finance (2015),
|
|
723
|
+
https://www.ipma.world/individuals/standard/
|
|
724
|
+
diagram:
|
|
725
|
+
type: tree
|
|
726
|
+
nodes: "[[WORK-PACKAGE:*]]"
|
|
727
|
+
links: []
|
|
728
|
+
markUncovered: referenced
|
|
729
|
+
nest:
|
|
730
|
+
properties:
|
|
731
|
+
- PART-OF
|
|
732
|
+
config:
|
|
733
|
+
tree-stack-min: 1
|
|
734
|
+
children:
|
|
735
|
+
- kind: WORK-PACKAGE
|
|
736
|
+
desc: >
|
|
737
|
+
A single work package, named with a short (2-5 word) noun phrase of the work (e.g.
|
|
738
|
+
`Backend Implementation`, `Load Testing`) and described in a concise (1-3
|
|
739
|
+
sentence) paragraph by the work it comprises and the result it ends with, so that
|
|
740
|
+
its completion is decidable.
|
|
741
|
+
optional: true
|
|
742
|
+
format:
|
|
743
|
+
type: compact
|
|
744
|
+
maxTableColumns: 5
|
|
745
|
+
referenced:
|
|
746
|
+
- "[[WORK-PACKAGE:*]]"
|
|
747
|
+
- "[[TASK:*]]"
|
|
748
|
+
diagram:
|
|
749
|
+
type: hub
|
|
750
|
+
center: self
|
|
751
|
+
nodes: "[[WORK-PACKAGE:*]], [[MEMBER:*]], [[DELIVERABLE:*]], [[TASK:*]], [[RISK:*]],
|
|
752
|
+
[[ISSUE:*]]"
|
|
753
|
+
labeled: true
|
|
754
|
+
qualified: true
|
|
755
|
+
config:
|
|
756
|
+
size-node-width-max: 440
|
|
757
|
+
size-node-height-scale: 1.75
|
|
758
|
+
hub-node-count-max: 3
|
|
759
|
+
props:
|
|
760
|
+
- name: PART-OF
|
|
761
|
+
desc: >
|
|
762
|
+
Reference to the WORK-BREAKDOWN package this package is a part of, so that
|
|
763
|
+
the packages form a hierarchy (at most one parent, keeping it a tree);
|
|
764
|
+
omitted for a top-level package.
|
|
765
|
+
value: "[[WORK-PACKAGE:*]]"
|
|
766
|
+
optional: true
|
|
767
|
+
acyclic: true
|
|
768
|
+
- name: EFFORT
|
|
769
|
+
desc: >
|
|
770
|
+
The estimated effort of the package in person-days (PD) as a plain number
|
|
771
|
+
(e.g. `12`), stated on the packages which are not decomposed any further
|
|
772
|
+
(the effort of a decomposed package is the sum of its parts), and omitted
|
|
773
|
+
otherwise.
|
|
774
|
+
value: /^\d+(\.\d+)?$/
|
|
775
|
+
optional: true
|
|
776
|
+
- name: COST
|
|
777
|
+
desc: >
|
|
778
|
+
The non-labor cost of the package as money (e.g. `6000 EUR`): the
|
|
779
|
+
licenses, hardware, services, and travel it consumes beyond the
|
|
780
|
+
person-days of its `EFFORT`, stated on the packages which are not
|
|
781
|
+
decomposed any further (like the effort) and omitted where the package
|
|
782
|
+
consumes labor only.
|
|
783
|
+
optional: true
|
|
784
|
+
- name: OWNER
|
|
785
|
+
desc: >
|
|
786
|
+
Reference to the PROJECT-ORGANIZATION member accountable for the package.
|
|
787
|
+
value: "[[MEMBER:*]]"
|
|
788
|
+
optional: true
|
|
789
|
+
- name: PRODUCES
|
|
790
|
+
desc: >
|
|
791
|
+
Comma-separated references to the DELIVERY-SCOPE deliverables the
|
|
792
|
+
package produces (in full or in part), so that every deliverable traces
|
|
793
|
+
back to the work producing it.
|
|
794
|
+
value: list([[DELIVERABLE:*]])
|
|
795
|
+
optional: true
|
|
796
|
+
|
|
797
|
+
- kind: PM
|
|
798
|
+
name: Project Schedule
|
|
799
|
+
id: PS
|
|
800
|
+
file: 06-PS-Project-Schedule.md
|
|
801
|
+
desc: >
|
|
802
|
+
The schedule of the project as phases of tasks and milestones, defining *when* the work
|
|
803
|
+
of the Work Breakdown is done, in which order, and by whom, where the tasks depend on
|
|
804
|
+
each other and the critical path (the chain of tasks any delay of which delays the
|
|
805
|
+
project) follows from the dependencies and durations alone, in weeks from the start
|
|
806
|
+
date of the project, and where the
|
|
807
|
+
milestones date the deliverables of the Delivery Scope by accepting them and name the
|
|
808
|
+
gates of the Governance Model deciding on them.
|
|
809
|
+
optional: true
|
|
810
|
+
coverage:
|
|
811
|
+
- "[[DELIVERABLE:*]]"
|
|
812
|
+
refs: >
|
|
813
|
+
- Gantt: Organizing for Work (1919),
|
|
814
|
+
https://archive.org/details/organizingforwor00gantuoft
|
|
815
|
+
- Kelley/Walker: Critical-Path Planning and Scheduling (1959),
|
|
816
|
+
https://doi.org/10.1145/1460299.1460318
|
|
817
|
+
- PMI: A Guide to the Project Management Body of Knowledge (PMBOK Guide), 7th ed.: Planning Performance Domain (2021),
|
|
818
|
+
https://www.pmi.org/standards/pmbok
|
|
819
|
+
- Axelos: Managing Successful Projects with PRINCE2, 7th ed.: Plans (2023),
|
|
820
|
+
https://www.axelos.com/certifications/propath/prince2-project-management
|
|
821
|
+
- IPMA: Individual Competence Baseline (ICB), 4th ed.: Time, Plan and Control (2015),
|
|
822
|
+
https://www.ipma.world/individuals/standard/
|
|
823
|
+
diagram:
|
|
824
|
+
type: gantt
|
|
825
|
+
nodes: "[[PHASE:*]], [[TASK:*]]"
|
|
826
|
+
links:
|
|
827
|
+
- AFTER
|
|
828
|
+
reverse:
|
|
829
|
+
- AFTER
|
|
830
|
+
duration: DURATION
|
|
831
|
+
start: START
|
|
832
|
+
qualified: true
|
|
833
|
+
nest:
|
|
834
|
+
parent: true
|
|
835
|
+
config:
|
|
836
|
+
gantt-unit-name: weeks
|
|
837
|
+
props:
|
|
838
|
+
- name: START
|
|
839
|
+
desc: >
|
|
840
|
+
The calendar date (ISO 8601, e.g. `2026-08-24`, usually a Monday) at which week
|
|
841
|
+
`0` of the schedule starts, so that the week numbers of the tasks turn into
|
|
842
|
+
dates and the `Time` constraints of the Project Charter are checkable against
|
|
843
|
+
the schedule; omitted while the start of the project is not fixed.
|
|
844
|
+
value: /^\d{4}-\d{2}-\d{2}$/
|
|
845
|
+
optional: true
|
|
846
|
+
children:
|
|
847
|
+
- kind: PHASE
|
|
848
|
+
desc: >
|
|
849
|
+
A single phase of the project, named with a short (1-3 word) summary (e.g.
|
|
850
|
+
`Inception`, `Construction`, `Transition`) and described in a concise (1-2
|
|
851
|
+
sentence) paragraph by its purpose and the state of the project at its end,
|
|
852
|
+
while its TASK children, in document order, are the tasks and milestones it
|
|
853
|
+
comprises.
|
|
854
|
+
optional: true
|
|
855
|
+
props:
|
|
856
|
+
- name: GOAL
|
|
857
|
+
desc: >
|
|
858
|
+
The goal of the phase in one sentence, i.e. the observable state of the
|
|
859
|
+
project at the end of the phase (e.g. `the architecture is proven by a
|
|
860
|
+
walking skeleton`).
|
|
861
|
+
- name: BUDGET
|
|
862
|
+
desc: >
|
|
863
|
+
The budget of the phase in person-days (PD) as a plain number (e.g.
|
|
864
|
+
`120`), the same unit as the `EFFORT` of the work packages, so that the
|
|
865
|
+
packages the tasks of the phase realize are checkable against it;
|
|
866
|
+
omitted where no budget is fixed per phase.
|
|
867
|
+
value: /^\d+(\.\d+)?$/
|
|
868
|
+
optional: true
|
|
869
|
+
children:
|
|
870
|
+
- kind: TASK
|
|
871
|
+
desc: >
|
|
872
|
+
A single task of the phase, named with a short (2-5 word) summary of the
|
|
873
|
+
work (e.g. `Implement Backend`) or, for a milestone, of the event (e.g.
|
|
874
|
+
`Go-Live`), and described by a 1-sentence description of its outcome. A
|
|
875
|
+
task carries a `DURATION`, while a milestone carries none and marks a
|
|
876
|
+
point in time, usually the acceptance of deliverables at a gate.
|
|
877
|
+
optional: true
|
|
878
|
+
format:
|
|
879
|
+
type: compact
|
|
880
|
+
maxTableColumns: 5
|
|
881
|
+
diagram:
|
|
882
|
+
type: hub
|
|
883
|
+
center: self
|
|
884
|
+
nodes: "[[TASK:*]], [[MEMBER:*]], [[WORK-PACKAGE:*]], [[DELIVERABLE:*]],
|
|
885
|
+
[[RISK:*]], [[CEREMONY:*]], [[ISSUE:*]]"
|
|
886
|
+
labeled: true
|
|
887
|
+
qualified: true
|
|
888
|
+
config:
|
|
889
|
+
size-node-width-max: 440
|
|
890
|
+
size-node-height-scale: 1.75
|
|
891
|
+
hub-node-count-max: 3
|
|
892
|
+
props:
|
|
893
|
+
- name: DURATION
|
|
894
|
+
desc: >
|
|
895
|
+
The duration of the task in weeks as a plain number (e.g. `2` or
|
|
896
|
+
`0.5`), i.e. the elapsed time from its start to its end (not the
|
|
897
|
+
effort, which is the `EFFORT` of the work packages it realizes),
|
|
898
|
+
omitted for a milestone.
|
|
899
|
+
value: /^\d+(\.\d+)?$/
|
|
900
|
+
optional: true
|
|
901
|
+
- name: START
|
|
902
|
+
desc: >
|
|
903
|
+
The earliest start of the task in weeks from the start of the
|
|
904
|
+
project as a plain number (e.g. `4`), where the dependencies
|
|
905
|
+
alone do not fix it (e.g. a date agreed with the customer, or a
|
|
906
|
+
lag behind a predecessor), the project starting at week `0` (the
|
|
907
|
+
`START` date of the schedule).
|
|
908
|
+
value: /^\d+(\.\d+)?$/
|
|
909
|
+
optional: true
|
|
910
|
+
- name: AFTER
|
|
911
|
+
desc: >
|
|
912
|
+
Comma-separated references to the PROJECT-SCHEDULE tasks this task
|
|
913
|
+
starts after (once all of them are finished, i.e. finish-to-start
|
|
914
|
+
without a lag), omitted for a task
|
|
915
|
+
which can start right away; the dependencies form no cycle.
|
|
916
|
+
value: list([[TASK:*]])
|
|
917
|
+
optional: true
|
|
918
|
+
acyclic: true
|
|
919
|
+
- name: OWNER
|
|
920
|
+
desc: >
|
|
921
|
+
Reference to the PROJECT-ORGANIZATION member responsible for the
|
|
922
|
+
task, omitted where the owners of the realized work packages are.
|
|
923
|
+
value: "[[MEMBER:*]]"
|
|
924
|
+
optional: true
|
|
925
|
+
- name: STAFF
|
|
926
|
+
desc: >
|
|
927
|
+
Comma-separated references to the PROJECT-ORGANIZATION members
|
|
928
|
+
working on the task, so that their `CAPACITY` and the `DURATION` of the task
|
|
929
|
+
are reconcilable against the `EFFORT` of the realized packages;
|
|
930
|
+
omitted for a milestone.
|
|
931
|
+
value: list([[MEMBER:*]])
|
|
932
|
+
optional: true
|
|
933
|
+
- name: REALIZES
|
|
934
|
+
desc: >
|
|
935
|
+
Comma-separated references to the WORK-BREAKDOWN packages the
|
|
936
|
+
task realizes (in full or in part), so that every package is
|
|
937
|
+
scheduled; omitted for a milestone.
|
|
938
|
+
value: list([[WORK-PACKAGE:*]])
|
|
939
|
+
optional: true
|
|
940
|
+
- name: ACCEPTS
|
|
941
|
+
desc: >
|
|
942
|
+
Comma-separated references to the DELIVERY-SCOPE deliverables
|
|
943
|
+
accepted at this milestone (or at the end of this task), so that
|
|
944
|
+
every deliverable has a due date; omitted for a task accepting
|
|
945
|
+
none.
|
|
946
|
+
value: list([[DELIVERABLE:*]])
|
|
947
|
+
optional: true
|
|
948
|
+
- name: GATES
|
|
949
|
+
desc: >
|
|
950
|
+
Comma-separated references to the GOVERNANCE-MODEL ceremonies
|
|
951
|
+
(usually the gates) held at this milestone (or at the end of this
|
|
952
|
+
task), deciding on the accepted deliverables; omitted for a task
|
|
953
|
+
no ceremony is held at.
|
|
954
|
+
value: list([[CEREMONY:*]])
|
|
955
|
+
optional: true
|
|
956
|
+
- name: STATUS
|
|
957
|
+
desc: |
|
|
958
|
+
The progress of the task or milestone, one of:
|
|
959
|
+
- `Planned`: The task is scheduled, not yet started (the default).
|
|
960
|
+
- `Active`: The task is underway.
|
|
961
|
+
- `Blocked`: The task cannot proceed until an issue of the Change Log is resolved.
|
|
962
|
+
- `Done`: The task is finished, resp. the milestone is reached.
|
|
963
|
+
- `Cancelled`: The task was descoped by a decision of the Change Log, its work undone.
|
|
964
|
+
value: enum(Planned,Active,Blocked,Done,Cancelled)
|
|
965
|
+
optional: true
|
|
966
|
+
|
|
967
|
+
- kind: PM
|
|
968
|
+
name: Risk Register
|
|
969
|
+
id: RR
|
|
970
|
+
file: 07-RR-Risk-Register.md
|
|
971
|
+
desc: >
|
|
972
|
+
The uncertain events which, should they occur, affect the work, the deliverables, the
|
|
973
|
+
schedule, or the parties of the project -- the threats harming it and the opportunities
|
|
974
|
+
favoring it -- each rated by its probability and impact and answered by a strategy, a
|
|
975
|
+
mitigation (changing the probability or the impact beforehand), and a contingency (the
|
|
976
|
+
response once it occurred), so that the risks are managed instead of suffered and the
|
|
977
|
+
opportunities seized instead of missed.
|
|
978
|
+
optional: true
|
|
979
|
+
refs: >
|
|
980
|
+
- ISO 31000:2018: Risk management -- Guidelines (2018),
|
|
981
|
+
https://www.iso.org/standard/65694.html
|
|
982
|
+
- PMI: The Standard for Risk Management in Portfolios, Programs, and Projects (2019),
|
|
983
|
+
https://www.pmi.org/standards/risk-management
|
|
984
|
+
- Axelos: Managing Successful Projects with PRINCE2, 7th ed.: Risk (2023),
|
|
985
|
+
https://www.axelos.com/certifications/propath/prince2-project-management
|
|
986
|
+
- IPMA: Individual Competence Baseline (ICB), 4th ed.: Risk and Opportunity (2015),
|
|
987
|
+
https://www.ipma.world/individuals/standard/
|
|
988
|
+
diagram:
|
|
989
|
+
- type: grid
|
|
990
|
+
nodes: "[[RISK:*]]"
|
|
991
|
+
properties:
|
|
992
|
+
- PROBABILITY
|
|
993
|
+
- IMPACT
|
|
994
|
+
- STATUS
|
|
995
|
+
config:
|
|
996
|
+
size-node-width-max: 440
|
|
997
|
+
grid-columns-max: 4
|
|
998
|
+
- type: graph
|
|
999
|
+
nodes: "[[RISK:*]], [[WORK-PACKAGE:*]], [[DELIVERABLE:*]], [[TASK:*]], [[PARTY:*]]"
|
|
1000
|
+
links:
|
|
1001
|
+
- AFFECTS
|
|
1002
|
+
onlyConnected: true
|
|
1003
|
+
nest:
|
|
1004
|
+
kind: true
|
|
1005
|
+
children:
|
|
1006
|
+
- kind: RISK
|
|
1007
|
+
desc: >
|
|
1008
|
+
A single risk, named with a short (2-6 word) summary of the uncertain event (e.g.
|
|
1009
|
+
`Key Developer Unavailable`, `Late API Access`, or, for an opportunity, `Second
|
|
1010
|
+
Department Adopts Solution`) and described in a concise (1-3 sentence) paragraph
|
|
1011
|
+
by its cause and its effect on the project.
|
|
1012
|
+
optional: true
|
|
1013
|
+
format:
|
|
1014
|
+
type: compact
|
|
1015
|
+
maxTableColumns: 5
|
|
1016
|
+
diagram:
|
|
1017
|
+
type: hub
|
|
1018
|
+
center: self
|
|
1019
|
+
nodes: "[[RISK:*]], [[MEMBER:*]], [[WORK-PACKAGE:*]], [[DELIVERABLE:*]], [[TASK:*]],
|
|
1020
|
+
[[PARTY:*]], [[ISSUE:*]]"
|
|
1021
|
+
labeled: true
|
|
1022
|
+
qualified: true
|
|
1023
|
+
config:
|
|
1024
|
+
size-node-width-max: 440
|
|
1025
|
+
size-node-height-scale: 1.75
|
|
1026
|
+
hub-node-count-max: 3
|
|
1027
|
+
props:
|
|
1028
|
+
- name: TYPE
|
|
1029
|
+
desc: |
|
|
1030
|
+
The type of the risk, one of:
|
|
1031
|
+
- `Threat`: The event harms the project should it occur (the default).
|
|
1032
|
+
- `Opportunity`: The event benefits the project should it occur.
|
|
1033
|
+
value: enum(Threat,Opportunity)
|
|
1034
|
+
optional: true
|
|
1035
|
+
- name: PROBABILITY
|
|
1036
|
+
desc: >
|
|
1037
|
+
The likelihood that the risk occurs: `Low`, `Medium`, or `High`.
|
|
1038
|
+
value: enum(Low,Medium,High)
|
|
1039
|
+
- name: IMPACT
|
|
1040
|
+
desc: >
|
|
1041
|
+
The severity of the effect on the project should the risk occur (the
|
|
1042
|
+
harm of a threat, the benefit of an opportunity): `Low`, `Medium`, or
|
|
1043
|
+
`High`.
|
|
1044
|
+
value: enum(Low,Medium,High)
|
|
1045
|
+
- name: STATUS
|
|
1046
|
+
desc: |
|
|
1047
|
+
The status of the risk, one of:
|
|
1048
|
+
- `Open`: The risk is identified and watched.
|
|
1049
|
+
- `Mitigated`: The mitigation is in effect.
|
|
1050
|
+
- `Occurred`: The risk occurred (a threat turning into an issue of the
|
|
1051
|
+
Change Log naming it as its cause), the contingency applies.
|
|
1052
|
+
- `Closed`: The risk can no longer occur.
|
|
1053
|
+
value: enum(Open,Mitigated,Occurred,Closed)
|
|
1054
|
+
- name: OWNER
|
|
1055
|
+
desc: >
|
|
1056
|
+
Reference to the PROJECT-ORGANIZATION member watching the risk and
|
|
1057
|
+
triggering its responses.
|
|
1058
|
+
value: "[[MEMBER:*]]"
|
|
1059
|
+
- name: AFFECTS
|
|
1060
|
+
desc: >
|
|
1061
|
+
Comma-separated references to the WORK-BREAKDOWN packages, the
|
|
1062
|
+
DELIVERY-SCOPE deliverables, the PROJECT-SCHEDULE tasks, and/or the
|
|
1063
|
+
PROJECT-ORGANIZATION parties the risk threatens or favors (a schedule
|
|
1064
|
+
risk the tasks rather than the packages, a stakeholder risk the party
|
|
1065
|
+
whose support or acceptance is at stake).
|
|
1066
|
+
value: list([[WORK-PACKAGE:*]], [[DELIVERABLE:*]], [[TASK:*]], [[PARTY:*]])
|
|
1067
|
+
- name: TRIGGER
|
|
1068
|
+
desc: >
|
|
1069
|
+
The early-warning indicator telling that the risk is about to occur (e.g.
|
|
1070
|
+
`a developer reports more than three sick days in a sprint`), omitted
|
|
1071
|
+
where none is observable.
|
|
1072
|
+
optional: true
|
|
1073
|
+
- name: STRATEGY
|
|
1074
|
+
desc: |
|
|
1075
|
+
The type of the response to the risk, for a threat one of:
|
|
1076
|
+
- `Avoid`: The plan is changed so that the threat cannot occur.
|
|
1077
|
+
- `Reduce`: The probability or the impact is lowered beforehand.
|
|
1078
|
+
- `Transfer`: The impact is shifted onto a third party (contract, insurance).
|
|
1079
|
+
For an opportunity one of:
|
|
1080
|
+
- `Exploit`: The plan is changed so that the opportunity surely occurs.
|
|
1081
|
+
- `Enhance`: The probability or the impact is raised beforehand.
|
|
1082
|
+
- `Share`: The benefit is shared with a third party better placed to seize it.
|
|
1083
|
+
For either one of:
|
|
1084
|
+
- `Accept`: The risk is taken as it is and merely watched.
|
|
1085
|
+
- `Escalate`: The risk is beyond the project, its response is owned by
|
|
1086
|
+
the sponsor or the program.
|
|
1087
|
+
value: enum(Avoid,Reduce,Transfer,Exploit,Enhance,Share,Accept,Escalate)
|
|
1088
|
+
- name: MITIGATION
|
|
1089
|
+
desc: >
|
|
1090
|
+
The concrete action of the `STRATEGY` taken beforehand (e.g. `pair every
|
|
1091
|
+
key developer with a deputy`), for an accepted risk the watching alone and
|
|
1092
|
+
for an escalated one the handing over.
|
|
1093
|
+
- name: CONTINGENCY
|
|
1094
|
+
desc: >
|
|
1095
|
+
The response once the risk occurred (e.g. `the deputy takes over, the
|
|
1096
|
+
phase is extended by two weeks`, or, for an opportunity, `a follow-up
|
|
1097
|
+
project is offered`), omitted where none is prepared.
|
|
1098
|
+
optional: true
|
|
1099
|
+
|
|
1100
|
+
- kind: PM
|
|
1101
|
+
name: Change Log
|
|
1102
|
+
id: CL
|
|
1103
|
+
file: 08-CL-Change-Log.md
|
|
1104
|
+
desc: >
|
|
1105
|
+
The issues the project handles: the requests for a change of the agreed scope, the
|
|
1106
|
+
problems and concerns arising, and the off-specifications (results failing their
|
|
1107
|
+
criteria), each raised by someone, owned by someone, analyzed for its impact on the
|
|
1108
|
+
scope, the schedule, and the budget, decided at a ceremony, and tracked to its
|
|
1109
|
+
resolution, so that every deviation from the plan is a recorded decision instead of a
|
|
1110
|
+
silent drift, and where an occurred risk names the issue it caused.
|
|
1111
|
+
optional: true
|
|
1112
|
+
refs: >
|
|
1113
|
+
- PMI: A Guide to the Project Management Body of Knowledge (PMBOK Guide), 7th ed.: Project Work Performance Domain (2021),
|
|
1114
|
+
https://www.pmi.org/standards/pmbok
|
|
1115
|
+
- Axelos: Managing Successful Projects with PRINCE2, 7th ed.: Issues (2023),
|
|
1116
|
+
https://www.axelos.com/certifications/propath/prince2-project-management
|
|
1117
|
+
- IPMA: Individual Competence Baseline (ICB), 4th ed.: Plan and Control, Change and Transformation (2015),
|
|
1118
|
+
https://www.ipma.world/individuals/standard/
|
|
1119
|
+
- ISO 21502:2020: Project, programme and portfolio management -- Guidance on project management: Change control, Issues management (2020),
|
|
1120
|
+
https://www.iso.org/standard/74947.html
|
|
1121
|
+
diagram:
|
|
1122
|
+
- type: grid
|
|
1123
|
+
nodes: "[[ISSUE:*]]"
|
|
1124
|
+
properties:
|
|
1125
|
+
- KIND
|
|
1126
|
+
- STATUS
|
|
1127
|
+
config:
|
|
1128
|
+
size-node-width-max: 440
|
|
1129
|
+
grid-columns-max: 4
|
|
1130
|
+
- type: graph
|
|
1131
|
+
nodes: "[[ISSUE:*]], [[RISK:*]], [[OBJECTIVE:*]], [[CONSTRAINT:*]], [[ASSUMPTION:*]],
|
|
1132
|
+
[[DELIVERABLE:*]], [[WORK-PACKAGE:*]], [[TASK:*]], [[CEREMONY:*]]"
|
|
1133
|
+
links:
|
|
1134
|
+
- CAUSED-BY
|
|
1135
|
+
- CONCERNS
|
|
1136
|
+
- DECIDED-BY
|
|
1137
|
+
onlyConnected: true
|
|
1138
|
+
nest:
|
|
1139
|
+
kind: true
|
|
1140
|
+
children:
|
|
1141
|
+
- kind: ISSUE
|
|
1142
|
+
desc: >
|
|
1143
|
+
A single issue, named with a short (2-5 word) summary of the request, problem, or
|
|
1144
|
+
deviation (e.g. `Vote Result Export`, `Chat Latency Above Target`) and described
|
|
1145
|
+
in a concise (1-3 sentence) paragraph by what is asked, what happened, or what
|
|
1146
|
+
deviates, plus a 1-sentence rationale ("why") stating the need or the cause
|
|
1147
|
+
behind it.
|
|
1148
|
+
optional: true
|
|
1149
|
+
badge:
|
|
1150
|
+
property: KIND
|
|
1151
|
+
map:
|
|
1152
|
+
Request: mail
|
|
1153
|
+
Problem: security
|
|
1154
|
+
Off-Spec: document
|
|
1155
|
+
format:
|
|
1156
|
+
type: compact
|
|
1157
|
+
maxTableColumns: 5
|
|
1158
|
+
diagram:
|
|
1159
|
+
type: hub
|
|
1160
|
+
center: self
|
|
1161
|
+
nodes: "[[ISSUE:*]], [[MEMBER:*]], [[PARTY:*]], [[RISK:*]], [[OBJECTIVE:*]],
|
|
1162
|
+
[[CONSTRAINT:*]], [[ASSUMPTION:*]], [[DELIVERABLE:*]], [[WORK-PACKAGE:*]],
|
|
1163
|
+
[[TASK:*]], [[CEREMONY:*]]"
|
|
1164
|
+
labeled: true
|
|
1165
|
+
qualified: true
|
|
1166
|
+
config:
|
|
1167
|
+
size-node-width-max: 440
|
|
1168
|
+
size-node-height-scale: 1.75
|
|
1169
|
+
hub-node-count-max: 3
|
|
1170
|
+
props:
|
|
1171
|
+
- name: KIND
|
|
1172
|
+
desc: |
|
|
1173
|
+
The kind of the issue, one of:
|
|
1174
|
+
- `Request`: A request for a change of the agreed scope, schedule, or budget.
|
|
1175
|
+
- `Problem`: A problem or concern arising which the plan did not foresee
|
|
1176
|
+
(a refuted assumption, an occurred risk, an impediment).
|
|
1177
|
+
- `Off-Spec`: A result failing or about to fail its acceptance criteria
|
|
1178
|
+
or the specification.
|
|
1179
|
+
value: enum(Request,Problem,"Off-Spec")
|
|
1180
|
+
- name: WEEK
|
|
1181
|
+
desc: >
|
|
1182
|
+
The week of the project in which the issue was raised as a plain number
|
|
1183
|
+
(e.g. `7`, the project starting at week `0` of the Project Schedule),
|
|
1184
|
+
omitted where it does not matter.
|
|
1185
|
+
value: /^\d+(\.\d+)?$/
|
|
1186
|
+
optional: true
|
|
1187
|
+
- name: STATUS
|
|
1188
|
+
desc: |
|
|
1189
|
+
The status of the issue, one of:
|
|
1190
|
+
- `Open`: The issue is raised and analyzed, the decision pending.
|
|
1191
|
+
- `Approved`: The change is approved, its implementation underway.
|
|
1192
|
+
- `Rejected`: The change is rejected, the plan stands.
|
|
1193
|
+
- `Deferred`: The change is postponed beyond the project (e.g. to a later release).
|
|
1194
|
+
- `Resolved`: The issue is settled, the approved change implemented or
|
|
1195
|
+
the problem or off-specification fixed.
|
|
1196
|
+
value: enum(Open,Approved,Rejected,Deferred,Resolved)
|
|
1197
|
+
- name: RAISED-BY
|
|
1198
|
+
desc: >
|
|
1199
|
+
Reference to the PROJECT-ORGANIZATION member or party raising the issue
|
|
1200
|
+
(the one to answer).
|
|
1201
|
+
value: list([[MEMBER:*]], [[PARTY:*]])
|
|
1202
|
+
- name: OWNER
|
|
1203
|
+
desc: >
|
|
1204
|
+
Reference to the PROJECT-ORGANIZATION member analyzing the issue and
|
|
1205
|
+
carrying out its decision.
|
|
1206
|
+
value: "[[MEMBER:*]]"
|
|
1207
|
+
- name: CAUSED-BY
|
|
1208
|
+
desc: >
|
|
1209
|
+
Reference to the RISK-REGISTER risk which occurred and caused the issue
|
|
1210
|
+
(its status being `Occurred`), omitted for an issue no risk foresaw.
|
|
1211
|
+
value: "[[RISK:*]]"
|
|
1212
|
+
optional: true
|
|
1213
|
+
- name: CONCERNS
|
|
1214
|
+
desc: >
|
|
1215
|
+
Comma-separated references to the PROJECT-CHARTER objectives, constraints,
|
|
1216
|
+
or assumptions, the DELIVERY-SCOPE deliverables, the WORK-BREAKDOWN
|
|
1217
|
+
packages, and/or the PROJECT-SCHEDULE tasks the issue concerns, so that
|
|
1218
|
+
the impact of a decision is traceable onto the plan it changes (named
|
|
1219
|
+
apart from the `AFFECTS` of the risks, so the graphs of both stay apart).
|
|
1220
|
+
value: list([[OBJECTIVE:*]], [[CONSTRAINT:*]], [[ASSUMPTION:*]], [[DELIVERABLE:*]], [[WORK-PACKAGE:*]], [[TASK:*]])
|
|
1221
|
+
- name: IMPACT
|
|
1222
|
+
desc: >
|
|
1223
|
+
The analyzed effect of the issue on the scope, the schedule, and the
|
|
1224
|
+
budget of the project (e.g. `+4 PD on the backend, the go-live
|
|
1225
|
+
unchanged`), omitted while not yet analyzed.
|
|
1226
|
+
optional: true
|
|
1227
|
+
- name: DECIDED-BY
|
|
1228
|
+
desc: >
|
|
1229
|
+
Reference to the GOVERNANCE-MODEL ceremony taking the decision on the
|
|
1230
|
+
issue, omitted while the decision is pending or where the `OWNER` decides
|
|
1231
|
+
within the own authority.
|
|
1232
|
+
value: "[[CEREMONY:*]]"
|
|
1233
|
+
optional: true
|
|
1234
|
+
- name: DECISION
|
|
1235
|
+
desc: >
|
|
1236
|
+
The decision taken on the issue in one sentence, naming what was decided
|
|
1237
|
+
and when (e.g. `approved in week 8 as a scope change funded from the
|
|
1238
|
+
reserve`), omitted while the decision is pending.
|
|
1239
|
+
optional: true
|
|
1240
|
+
|