docassert 0.1.0__py3-none-any.whl
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.
- docassert/__init__.py +8 -0
- docassert/__main__.py +6 -0
- docassert/_data/consistency.yaml +51 -0
- docassert/_data/criteria/adr.criteria.yaml +36 -0
- docassert/_data/criteria/benefits-realization.criteria.yaml +30 -0
- docassert/_data/criteria/brd.criteria.yaml +30 -0
- docassert/_data/criteria/business-case.criteria.yaml +23 -0
- docassert/_data/criteria/charter.criteria.yaml +73 -0
- docassert/_data/criteria/data-migration-plan.criteria.yaml +28 -0
- docassert/_data/criteria/frnfr.criteria.yaml +31 -0
- docassert/_data/criteria/hypercare-plan.criteria.yaml +27 -0
- docassert/_data/criteria/post-implementation-review.criteria.yaml +24 -0
- docassert/_data/criteria/prd.criteria.yaml +31 -0
- docassert/_data/criteria/project.criteria.yaml +32 -0
- docassert/_data/criteria/qa-test-plan.criteria.yaml +27 -0
- docassert/_data/criteria/raci-stakeholder.criteria.yaml +24 -0
- docassert/_data/criteria/release-cutover-plan.criteria.yaml +30 -0
- docassert/_data/criteria/risk-register.criteria.yaml +32 -0
- docassert/_data/criteria/rollback-plan.criteria.yaml +29 -0
- docassert/_data/criteria/runbook.criteria.yaml +30 -0
- docassert/_data/criteria/status-report.criteria.yaml +26 -0
- docassert/_data/criteria/test-cases.criteria.yaml +28 -0
- docassert/_data/criteria/user-story.criteria.yaml +32 -0
- docassert/_data/profiles/agile-delivery.yaml +20 -0
- docassert/_data/profiles/lean-startup.yaml +19 -0
- docassert/_data/profiles/regulated-industry.yaml +31 -0
- docassert/_data/schema/adr.schema.json +45 -0
- docassert/_data/schema/benefits-realization.schema.json +45 -0
- docassert/_data/schema/brd.schema.json +45 -0
- docassert/_data/schema/business-case.schema.json +45 -0
- docassert/_data/schema/charter.schema.json +84 -0
- docassert/_data/schema/data-migration-plan.schema.json +45 -0
- docassert/_data/schema/frnfr.schema.json +45 -0
- docassert/_data/schema/hypercare-plan.schema.json +45 -0
- docassert/_data/schema/post-implementation-review.schema.json +45 -0
- docassert/_data/schema/prd.schema.json +45 -0
- docassert/_data/schema/project.schema.json +32 -0
- docassert/_data/schema/qa-test-plan.schema.json +45 -0
- docassert/_data/schema/raci-stakeholder.schema.json +45 -0
- docassert/_data/schema/release-cutover-plan.schema.json +45 -0
- docassert/_data/schema/risk-register.schema.json +45 -0
- docassert/_data/schema/rollback-plan.schema.json +45 -0
- docassert/_data/schema/runbook.schema.json +45 -0
- docassert/_data/schema/status-report.schema.json +58 -0
- docassert/_data/schema/test-cases.schema.json +45 -0
- docassert/_data/schema/user-story.schema.json +45 -0
- docassert/_data/templates/adr.template.md +17 -0
- docassert/_data/templates/benefits-realization.template.md +25 -0
- docassert/_data/templates/brd.template.md +22 -0
- docassert/_data/templates/business-case.template.md +27 -0
- docassert/_data/templates/charter.template.md +46 -0
- docassert/_data/templates/data-migration-plan.template.md +35 -0
- docassert/_data/templates/frnfr.template.md +19 -0
- docassert/_data/templates/hypercare-plan.template.md +29 -0
- docassert/_data/templates/post-implementation-review.template.md +31 -0
- docassert/_data/templates/prd.template.md +23 -0
- docassert/_data/templates/project.template.md +17 -0
- docassert/_data/templates/qa-test-plan.template.md +31 -0
- docassert/_data/templates/raci-stakeholder.template.md +21 -0
- docassert/_data/templates/release-cutover-plan.template.md +28 -0
- docassert/_data/templates/risk-register.template.md +18 -0
- docassert/_data/templates/rollback-plan.template.md +24 -0
- docassert/_data/templates/runbook.template.md +28 -0
- docassert/_data/templates/status-report.template.md +27 -0
- docassert/_data/templates/test-cases.template.md +17 -0
- docassert/_data/templates/user-story.template.md +17 -0
- docassert/cli.py +291 -0
- docassert/config.py +104 -0
- docassert/consistency.py +167 -0
- docassert/graph.py +68 -0
- docassert/loader.py +116 -0
- docassert/models.py +99 -0
- docassert/profiles.py +111 -0
- docassert/projects.py +49 -0
- docassert/report.py +83 -0
- docassert/rtm.py +70 -0
- docassert/semantic.py +124 -0
- docassert/status.py +538 -0
- docassert/structural.py +406 -0
- docassert-0.1.0.dist-info/METADATA +125 -0
- docassert-0.1.0.dist-info/RECORD +86 -0
- docassert-0.1.0.dist-info/WHEEL +5 -0
- docassert-0.1.0.dist-info/entry_points.txt +2 -0
- docassert-0.1.0.dist-info/licenses/LICENSE +201 -0
- docassert-0.1.0.dist-info/licenses/NOTICE +4 -0
- docassert-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "RACI / Stakeholder Register frontmatter",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"kind",
|
|
7
|
+
"id",
|
|
8
|
+
"project",
|
|
9
|
+
"title",
|
|
10
|
+
"owner",
|
|
11
|
+
"status"
|
|
12
|
+
],
|
|
13
|
+
"additionalProperties": true,
|
|
14
|
+
"properties": {
|
|
15
|
+
"kind": {
|
|
16
|
+
"const": "raci-stakeholder"
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[A-Z]{2,6}-[a-z0-9][a-z0-9-]*$",
|
|
21
|
+
"description": "Stable id, <CODE>-<slug> (e.g. AUR-brd). The CODE namespaces it to the owning project. Unique across documents/."
|
|
22
|
+
},
|
|
23
|
+
"title": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 3
|
|
26
|
+
},
|
|
27
|
+
"owner": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 2
|
|
30
|
+
},
|
|
31
|
+
"status": {
|
|
32
|
+
"enum": [
|
|
33
|
+
"draft",
|
|
34
|
+
"proposed",
|
|
35
|
+
"approved",
|
|
36
|
+
"baselined"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"project": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"pattern": "^PRJ-\\d{3,}-[A-Z]{2,6}$",
|
|
42
|
+
"description": "Owning project's canonical id, PRJ-NNN-CODE (e.g. PRJ-001-AUR)."
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Release / Cutover Plan frontmatter",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"kind",
|
|
7
|
+
"id",
|
|
8
|
+
"project",
|
|
9
|
+
"title",
|
|
10
|
+
"owner",
|
|
11
|
+
"status"
|
|
12
|
+
],
|
|
13
|
+
"additionalProperties": true,
|
|
14
|
+
"properties": {
|
|
15
|
+
"kind": {
|
|
16
|
+
"const": "release-cutover-plan"
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[A-Z]{2,6}-[a-z0-9][a-z0-9-]*$",
|
|
21
|
+
"description": "Stable id, <CODE>-<slug> (e.g. AUR-brd). The CODE namespaces it to the owning project. Unique across documents/."
|
|
22
|
+
},
|
|
23
|
+
"title": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 3
|
|
26
|
+
},
|
|
27
|
+
"owner": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 2
|
|
30
|
+
},
|
|
31
|
+
"status": {
|
|
32
|
+
"enum": [
|
|
33
|
+
"draft",
|
|
34
|
+
"proposed",
|
|
35
|
+
"approved",
|
|
36
|
+
"baselined"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"project": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"pattern": "^PRJ-\\d{3,}-[A-Z]{2,6}$",
|
|
42
|
+
"description": "Owning project's canonical id, PRJ-NNN-CODE (e.g. PRJ-001-AUR)."
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Risk Register frontmatter",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"kind",
|
|
7
|
+
"id",
|
|
8
|
+
"project",
|
|
9
|
+
"title",
|
|
10
|
+
"owner",
|
|
11
|
+
"status"
|
|
12
|
+
],
|
|
13
|
+
"additionalProperties": true,
|
|
14
|
+
"properties": {
|
|
15
|
+
"kind": {
|
|
16
|
+
"const": "risk-register"
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[A-Z]{2,6}-[a-z0-9][a-z0-9-]*$",
|
|
21
|
+
"description": "Stable id, <CODE>-<slug> (e.g. AUR-brd). The CODE namespaces it to the owning project. Unique across documents/."
|
|
22
|
+
},
|
|
23
|
+
"title": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 3
|
|
26
|
+
},
|
|
27
|
+
"owner": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 2
|
|
30
|
+
},
|
|
31
|
+
"status": {
|
|
32
|
+
"enum": [
|
|
33
|
+
"draft",
|
|
34
|
+
"proposed",
|
|
35
|
+
"approved",
|
|
36
|
+
"baselined"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"project": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"pattern": "^PRJ-\\d{3,}-[A-Z]{2,6}$",
|
|
42
|
+
"description": "Owning project's canonical id, PRJ-NNN-CODE (e.g. PRJ-001-AUR)."
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Rollback Plan frontmatter",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"kind",
|
|
7
|
+
"id",
|
|
8
|
+
"project",
|
|
9
|
+
"title",
|
|
10
|
+
"owner",
|
|
11
|
+
"status"
|
|
12
|
+
],
|
|
13
|
+
"additionalProperties": true,
|
|
14
|
+
"properties": {
|
|
15
|
+
"kind": {
|
|
16
|
+
"const": "rollback-plan"
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[A-Z]{2,6}-[a-z0-9][a-z0-9-]*$",
|
|
21
|
+
"description": "Stable id, <CODE>-<slug> (e.g. AUR-brd). The CODE namespaces it to the owning project. Unique across documents/."
|
|
22
|
+
},
|
|
23
|
+
"title": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 3
|
|
26
|
+
},
|
|
27
|
+
"owner": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 2
|
|
30
|
+
},
|
|
31
|
+
"status": {
|
|
32
|
+
"enum": [
|
|
33
|
+
"draft",
|
|
34
|
+
"proposed",
|
|
35
|
+
"approved",
|
|
36
|
+
"baselined"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"project": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"pattern": "^PRJ-\\d{3,}-[A-Z]{2,6}$",
|
|
42
|
+
"description": "Owning project's canonical id, PRJ-NNN-CODE (e.g. PRJ-001-AUR)."
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Runbook frontmatter",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"kind",
|
|
7
|
+
"id",
|
|
8
|
+
"project",
|
|
9
|
+
"title",
|
|
10
|
+
"owner",
|
|
11
|
+
"status"
|
|
12
|
+
],
|
|
13
|
+
"additionalProperties": true,
|
|
14
|
+
"properties": {
|
|
15
|
+
"kind": {
|
|
16
|
+
"const": "runbook"
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[A-Z]{2,6}-[a-z0-9][a-z0-9-]*$",
|
|
21
|
+
"description": "Stable id, <CODE>-<slug> (e.g. AUR-brd). The CODE namespaces it to the owning project. Unique across documents/."
|
|
22
|
+
},
|
|
23
|
+
"title": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 3
|
|
26
|
+
},
|
|
27
|
+
"owner": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 2
|
|
30
|
+
},
|
|
31
|
+
"status": {
|
|
32
|
+
"enum": [
|
|
33
|
+
"draft",
|
|
34
|
+
"proposed",
|
|
35
|
+
"approved",
|
|
36
|
+
"baselined"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"project": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"pattern": "^PRJ-\\d{3,}-[A-Z]{2,6}$",
|
|
42
|
+
"description": "Owning project's canonical id, PRJ-NNN-CODE (e.g. PRJ-001-AUR)."
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Status Report frontmatter",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"kind",
|
|
7
|
+
"id",
|
|
8
|
+
"project",
|
|
9
|
+
"title",
|
|
10
|
+
"owner",
|
|
11
|
+
"period",
|
|
12
|
+
"rag",
|
|
13
|
+
"status"
|
|
14
|
+
],
|
|
15
|
+
"additionalProperties": true,
|
|
16
|
+
"properties": {
|
|
17
|
+
"kind": {
|
|
18
|
+
"const": "status-report"
|
|
19
|
+
},
|
|
20
|
+
"id": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"pattern": "^[A-Z]{2,6}-[a-z0-9][a-z0-9-]*$",
|
|
23
|
+
"description": "Stable id, <CODE>-<slug> (e.g. AUR-brd). The CODE namespaces it to the owning project. Unique across documents/."
|
|
24
|
+
},
|
|
25
|
+
"title": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"minLength": 3
|
|
28
|
+
},
|
|
29
|
+
"owner": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"minLength": 2
|
|
32
|
+
},
|
|
33
|
+
"period": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"format": "date"
|
|
36
|
+
},
|
|
37
|
+
"rag": {
|
|
38
|
+
"enum": [
|
|
39
|
+
"green",
|
|
40
|
+
"amber",
|
|
41
|
+
"red"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"status": {
|
|
45
|
+
"enum": [
|
|
46
|
+
"draft",
|
|
47
|
+
"proposed",
|
|
48
|
+
"approved",
|
|
49
|
+
"baselined"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"project": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"pattern": "^PRJ-\\d{3,}-[A-Z]{2,6}$",
|
|
55
|
+
"description": "Owning project's canonical id, PRJ-NNN-CODE (e.g. PRJ-001-AUR)."
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "Test Cases frontmatter",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"kind",
|
|
7
|
+
"id",
|
|
8
|
+
"project",
|
|
9
|
+
"title",
|
|
10
|
+
"owner",
|
|
11
|
+
"status"
|
|
12
|
+
],
|
|
13
|
+
"additionalProperties": true,
|
|
14
|
+
"properties": {
|
|
15
|
+
"kind": {
|
|
16
|
+
"const": "test-cases"
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[A-Z]{2,6}-[a-z0-9][a-z0-9-]*$",
|
|
21
|
+
"description": "Stable id, <CODE>-<slug> (e.g. AUR-brd). The CODE namespaces it to the owning project. Unique across documents/."
|
|
22
|
+
},
|
|
23
|
+
"title": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 3
|
|
26
|
+
},
|
|
27
|
+
"owner": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 2
|
|
30
|
+
},
|
|
31
|
+
"status": {
|
|
32
|
+
"enum": [
|
|
33
|
+
"draft",
|
|
34
|
+
"proposed",
|
|
35
|
+
"approved",
|
|
36
|
+
"baselined"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"project": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"pattern": "^PRJ-\\d{3,}-[A-Z]{2,6}$",
|
|
42
|
+
"description": "Owning project's canonical id, PRJ-NNN-CODE (e.g. PRJ-001-AUR)."
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "User Stories frontmatter",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"kind",
|
|
7
|
+
"id",
|
|
8
|
+
"project",
|
|
9
|
+
"title",
|
|
10
|
+
"owner",
|
|
11
|
+
"status"
|
|
12
|
+
],
|
|
13
|
+
"additionalProperties": true,
|
|
14
|
+
"properties": {
|
|
15
|
+
"kind": {
|
|
16
|
+
"const": "user-story"
|
|
17
|
+
},
|
|
18
|
+
"id": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[A-Z]{2,6}-[a-z0-9][a-z0-9-]*$",
|
|
21
|
+
"description": "Stable id, <CODE>-<slug> (e.g. AUR-brd). The CODE namespaces it to the owning project. Unique across documents/."
|
|
22
|
+
},
|
|
23
|
+
"title": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 3
|
|
26
|
+
},
|
|
27
|
+
"owner": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 2
|
|
30
|
+
},
|
|
31
|
+
"status": {
|
|
32
|
+
"enum": [
|
|
33
|
+
"draft",
|
|
34
|
+
"proposed",
|
|
35
|
+
"approved",
|
|
36
|
+
"baselined"
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"project": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"pattern": "^PRJ-\\d{3,}-[A-Z]{2,6}$",
|
|
42
|
+
"description": "Owning project's canonical id, PRJ-NNN-CODE (e.g. PRJ-001-AUR)."
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: adr
|
|
3
|
+
id: my-adr-log
|
|
4
|
+
title: My Architecture Decision Log
|
|
5
|
+
owner: jane.doe
|
|
6
|
+
status: draft
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
<!-- What area these decisions cover. -->
|
|
12
|
+
|
|
13
|
+
## Decisions
|
|
14
|
+
|
|
15
|
+
<!-- Each decision optionally affects a requirement and MUST declare a Status. -->
|
|
16
|
+
|
|
17
|
+
- **ADR-001** (affects: FR-001): <!-- title -->. Status: accepted. Context: <!-- … -->. Decision: <!-- … -->. Consequences: <!-- … -->.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: benefits-realization
|
|
3
|
+
id: my-benefits
|
|
4
|
+
title: My Benefits Realization Plan
|
|
5
|
+
owner: jane.doe
|
|
6
|
+
status: draft
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
<!-- Which benefits this tracks and against which business case / charter. -->
|
|
12
|
+
|
|
13
|
+
## Benefits
|
|
14
|
+
|
|
15
|
+
<!-- Each benefit must state a measurable target. -->
|
|
16
|
+
|
|
17
|
+
- <!-- e.g. Reduce support tickets by at least 80% within two quarters -->
|
|
18
|
+
|
|
19
|
+
## Measurement
|
|
20
|
+
|
|
21
|
+
<!-- How and when each benefit is measured, and by whom. -->
|
|
22
|
+
|
|
23
|
+
## Realized Value
|
|
24
|
+
|
|
25
|
+
<!-- Actuals to date against each target. -->
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: brd
|
|
3
|
+
id: my-brd
|
|
4
|
+
title: My Business Requirements Document
|
|
5
|
+
owner: jane.doe
|
|
6
|
+
status: draft # draft | proposed | approved | baselined
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
<!-- Why this initiative exists, in business terms. -->
|
|
12
|
+
|
|
13
|
+
## Business Requirements
|
|
14
|
+
|
|
15
|
+
<!-- One bullet per requirement, each a **BR-###** item. -->
|
|
16
|
+
|
|
17
|
+
- **BR-001**: <!-- The business shall … -->
|
|
18
|
+
- **BR-002**: <!-- … -->
|
|
19
|
+
|
|
20
|
+
## Out of Scope
|
|
21
|
+
|
|
22
|
+
<!-- What this explicitly does not cover. -->
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: business-case
|
|
3
|
+
id: my-business-case
|
|
4
|
+
title: My Business Case
|
|
5
|
+
sponsor: jane.doe
|
|
6
|
+
status: draft
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Problem Statement
|
|
10
|
+
|
|
11
|
+
<!-- The problem or opportunity, in business terms. -->
|
|
12
|
+
|
|
13
|
+
## Options Considered
|
|
14
|
+
|
|
15
|
+
<!-- The options evaluated, including "do nothing". -->
|
|
16
|
+
|
|
17
|
+
## Recommendation
|
|
18
|
+
|
|
19
|
+
<!-- The recommended option and why. -->
|
|
20
|
+
|
|
21
|
+
## Costs
|
|
22
|
+
|
|
23
|
+
<!-- Cost estimate and basis. -->
|
|
24
|
+
|
|
25
|
+
## Benefits
|
|
26
|
+
|
|
27
|
+
<!-- Expected benefits; tie these to the charter's success criteria. -->
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: charter
|
|
3
|
+
id: my-project # lowercase, hyphenated, unique across documents/
|
|
4
|
+
title: My Project Charter
|
|
5
|
+
sponsor: jane.doe # the accountable individual, not a team
|
|
6
|
+
budget:
|
|
7
|
+
amount: 500000 # a positive number
|
|
8
|
+
currency: USD # ISO 4217, three uppercase letters
|
|
9
|
+
dates:
|
|
10
|
+
created: 2026-01-15
|
|
11
|
+
target: 2026-12-31 # on or after created
|
|
12
|
+
status: draft # draft | proposed | approved
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Objective
|
|
16
|
+
|
|
17
|
+
<!-- One paragraph. State the outcome this project will produce and why it
|
|
18
|
+
matters. Be specific and measurable, not a restatement of the project name. -->
|
|
19
|
+
|
|
20
|
+
## Success Criteria
|
|
21
|
+
|
|
22
|
+
<!-- A bulleted list. Every criterion must state a measurable threshold
|
|
23
|
+
(a number, percentage, currency, or date), so pass/fail is unambiguous. -->
|
|
24
|
+
|
|
25
|
+
- <!-- e.g. Onboarding p50 drops below 48 hours -->
|
|
26
|
+
- <!-- e.g. CSAT rises above 4.5 / 5 -->
|
|
27
|
+
|
|
28
|
+
## Scope
|
|
29
|
+
|
|
30
|
+
<!-- What is in scope, and explicitly what is out of scope. -->
|
|
31
|
+
|
|
32
|
+
## Milestones
|
|
33
|
+
|
|
34
|
+
<!-- A bulleted or tabular list of dated milestones. -->
|
|
35
|
+
|
|
36
|
+
- <!-- e.g. MVP — 2026-09-30 -->
|
|
37
|
+
|
|
38
|
+
## Risks
|
|
39
|
+
|
|
40
|
+
<!-- One bullet per risk. Every risk MUST name an Owner and a Mitigation. -->
|
|
41
|
+
|
|
42
|
+
- <!-- e.g. Data migration may slip the MVP. Owner: alex.kim. Mitigation: dual-run with a manual CSV fallback. -->
|
|
43
|
+
|
|
44
|
+
## Approval
|
|
45
|
+
|
|
46
|
+
<!-- Who approves this charter and under what conditions. -->
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: data-migration-plan
|
|
3
|
+
id: my-data-migration
|
|
4
|
+
title: My Data Migration Plan
|
|
5
|
+
owner: jane.doe
|
|
6
|
+
status: draft
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
|
|
11
|
+
<!-- What data moves, from where to where. -->
|
|
12
|
+
|
|
13
|
+
## Source Systems
|
|
14
|
+
|
|
15
|
+
<!-- The systems and stores data comes from. -->
|
|
16
|
+
|
|
17
|
+
## Field Mapping
|
|
18
|
+
|
|
19
|
+
<!-- A table mapping source fields to target fields. -->
|
|
20
|
+
|
|
21
|
+
| Source field | Target field | Transform |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| src_field | target.field | <!-- transform --> |
|
|
24
|
+
|
|
25
|
+
## Validation
|
|
26
|
+
|
|
27
|
+
<!-- How correctness is verified after migration. -->
|
|
28
|
+
|
|
29
|
+
## Cutover
|
|
30
|
+
|
|
31
|
+
<!-- The cutover sequence. -->
|
|
32
|
+
|
|
33
|
+
## Rollback
|
|
34
|
+
|
|
35
|
+
<!-- How to revert if the migration fails. -->
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: frnfr
|
|
3
|
+
id: my-frnfr
|
|
4
|
+
title: My Functional & Non-Functional Requirements
|
|
5
|
+
owner: jane.doe
|
|
6
|
+
status: draft
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
<!-- What this specification covers. -->
|
|
12
|
+
|
|
13
|
+
## Functional Requirements
|
|
14
|
+
|
|
15
|
+
- **FR-001** (traces: PR-001): <!-- The system shall … -->
|
|
16
|
+
|
|
17
|
+
## Non-Functional Requirements
|
|
18
|
+
|
|
19
|
+
- **NFR-001** (traces: PR-001): <!-- The system shall … (performance, security, …) -->
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: hypercare-plan
|
|
3
|
+
id: my-hypercare-plan
|
|
4
|
+
title: My Hypercare Plan
|
|
5
|
+
owner: jane.doe
|
|
6
|
+
status: draft
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
<!-- What hypercare covers and for how long. -->
|
|
12
|
+
|
|
13
|
+
## Support Window
|
|
14
|
+
|
|
15
|
+
<!-- Dates/hours of heightened support. -->
|
|
16
|
+
|
|
17
|
+
## Severity Levels
|
|
18
|
+
|
|
19
|
+
<!-- Definitions and response targets for SEV-1 / SEV-2 / SEV-3. -->
|
|
20
|
+
|
|
21
|
+
## Escalation
|
|
22
|
+
|
|
23
|
+
<!-- Who is paged and when. -->
|
|
24
|
+
|
|
25
|
+
## Exit Criteria
|
|
26
|
+
|
|
27
|
+
<!-- Each exit criterion must state a measurable threshold. -->
|
|
28
|
+
|
|
29
|
+
- <!-- e.g. fewer than 2 SEV-2 incidents over 5 consecutive days -->
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: post-implementation-review
|
|
3
|
+
id: my-pir
|
|
4
|
+
title: My Post-Implementation Review
|
|
5
|
+
owner: jane.doe
|
|
6
|
+
status: draft
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Summary
|
|
10
|
+
|
|
11
|
+
<!-- What was delivered and the overall verdict. -->
|
|
12
|
+
|
|
13
|
+
## Outcomes vs Objectives
|
|
14
|
+
|
|
15
|
+
<!-- Actual outcomes against the charter's objective and success criteria. -->
|
|
16
|
+
|
|
17
|
+
## What Went Well
|
|
18
|
+
|
|
19
|
+
<!-- … -->
|
|
20
|
+
|
|
21
|
+
## What Could Improve
|
|
22
|
+
|
|
23
|
+
<!-- … -->
|
|
24
|
+
|
|
25
|
+
## Lessons Learned
|
|
26
|
+
|
|
27
|
+
<!-- … -->
|
|
28
|
+
|
|
29
|
+
## Follow-up Actions
|
|
30
|
+
|
|
31
|
+
<!-- Owned, dated actions arising from this review. -->
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: prd
|
|
3
|
+
id: my-prd
|
|
4
|
+
title: My Product Requirements Document
|
|
5
|
+
owner: jane.doe
|
|
6
|
+
status: draft
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
<!-- What the product does and for whom. -->
|
|
12
|
+
|
|
13
|
+
## Product Requirements
|
|
14
|
+
|
|
15
|
+
<!-- Each requirement traces to one or more business requirements. -->
|
|
16
|
+
|
|
17
|
+
- **PR-001** (traces: BR-001): <!-- The product shall … -->
|
|
18
|
+
|
|
19
|
+
## Acceptance Criteria
|
|
20
|
+
|
|
21
|
+
<!-- Each criterion verifies a product requirement. -->
|
|
22
|
+
|
|
23
|
+
- **AC-001** (verifies: PR-001): <!-- Given …, when …, then … -->
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: project
|
|
3
|
+
id: PRJ-000-XXX # PRJ-<sequence>-<CODE>; unique across all projects
|
|
4
|
+
code: XXX # 2–6 uppercase letters; namespaces this project's ids
|
|
5
|
+
name: <Project name>
|
|
6
|
+
sponsor: <accountable individual>
|
|
7
|
+
status: proposed # proposed | active | on-hold | closed
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
<!-- One paragraph: what this project is and the outcome it exists to deliver.
|
|
13
|
+
The charter carries the detail; this anchor just establishes identity. -->
|
|
14
|
+
|
|
15
|
+
## Scope
|
|
16
|
+
|
|
17
|
+
<!-- In scope / out of scope at the project level. -->
|