Skip to content

Commit 56d5097

Browse files
committed
Create value_stream_stages.MD
1 parent 45b8801 commit 56d5097

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed

docs/value_stream_stages.MD

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Value Stream Mapping for DevSecOps
2+
3+
To better understand the flow of work from ideation to release, we can define a map of the steps that work must go through.
4+
5+
1. **Ideation** - Creating the initial idea for the work
6+
1. **Acknowledgement** - Accepting the work and planning for it
7+
1. **Working** - Working on the tasks
8+
1. **Merge** - Completing the work
9+
1. **Review** - Reviewing the completed work
10+
1. **Testing** - Testing the work and preparing for release
11+
1. **Pending** - Waiting for release
12+
1. **Released** - Work is released
13+
14+
All work should fit into one of these categories and should reference an id for the Issue/Card/Task.
15+
16+
## Stage Definitions
17+
18+
### Ideation
19+
20+
This is the initial request for work, typically a task of some kind in a project management system.
21+
22+
These are the data types that would define this phase:
23+
- Issue creation
24+
- Project Card creation
25+
26+
### Acknowledgement
27+
28+
This is the phase where an idea has gone from the backlog, to a planning phase in a project management system.
29+
30+
These are the data types that would define this phase:
31+
- Issue labeled as "to do"
32+
- Issue assigned a sprint/milestone
33+
- Project Card moved to a "to do" column
34+
35+
### Working
36+
37+
This is the phase where the idea becomes reality and is typically when code is being written.
38+
39+
These are the data types that would define this phase:
40+
- Issue labeled as "in progress"
41+
- Project Card moved to an "in progress" column
42+
- Branch created
43+
- First Push to main branch
44+
45+
### Merge
46+
47+
This is the phase where work on the task has been completed.
48+
49+
These are the data types that would define this phase:
50+
- Issue labeled as "Done"
51+
- Project Card moved to a "Done" column
52+
- Pull Request created
53+
- Last Push to main branch
54+
55+
### Review
56+
57+
This is the phase where a code change would be under review. The change would be complete but not ready for testing or release. This may or may not include CI testing or manual code reviews.
58+
59+
These are the data types that would define this phase:
60+
- Issue labeled as "under review"
61+
- Project Card moved to a "under review" column
62+
- Pipeline/Workflow execution on a Pull Request begins
63+
- Pull Request created
64+
65+
### Testing
66+
67+
This is the phase where code is undergoing automated testing through a CI process. This is distinct from the Review phase as it should be part of the release testing, not merge testing. This data is typically found within the CI tools being used.
68+
69+
These are the data types that would define this phase:
70+
- Pipeline execution starts/ends
71+
72+
### Pending
73+
74+
This is the phase where code has been created, reviewed, tested, and approved and is typically measured more by the separation of events than any specific data point.
75+
76+
These are the data types that would define this phase:
77+
- Pipeline execution complete
78+
- Deployment started
79+
80+
### Released
81+
82+
This is the phase where the task is complete and is being used.
83+
84+
These are the data types that would define this phase:
85+
- Issue closed
86+
- Project Card moved to "released" column
87+
- Kubernetes deployment
88+
- Artifact uploaded
89+
- Container pushed to registry
90+
- Other customer specific markers

0 commit comments

Comments
 (0)