-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsoftware-development-life-cycle-vocabulary.yml
More file actions
251 lines (229 loc) · 7.23 KB
/
Copy pathsoftware-development-life-cycle-vocabulary.yml
File metadata and controls
251 lines (229 loc) · 7.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
vocabulary:
name: Software Development Life Cycle Vocabulary
description: >-
Normative vocabulary and taxonomy for the Software Development Life Cycle (SDLC),
covering phases, methodologies, roles, artifacts, and quality dimensions used
in modern software engineering practices.
version: '1.0'
created: '2026-05-02'
modified: '2026-05-02'
phases:
- term: Requirements Analysis
definition: >-
The process of identifying, documenting, and validating the needs and
constraints of stakeholders to produce a specification that the software
must fulfill.
aliases:
- Requirements Gathering
- Requirements Engineering
related:
- User Story
- Acceptance Criteria
- Use Case
- term: System Design
definition: >-
The process of defining the architecture, modules, interfaces, and data
flow to satisfy the specified requirements. Includes high-level and
low-level design.
aliases:
- Software Design
- Architecture Design
related:
- Architecture
- Design Pattern
- UML
- term: Implementation
definition: >-
The phase where developers write, review, and integrate source code
according to the design specification, following coding standards
and practices.
aliases:
- Coding
- Development
related:
- Source Control
- Code Review
- Pull Request
- term: Testing
definition: >-
The process of evaluating software to detect defects and verify that
it meets specified requirements. Includes unit, integration, system,
and acceptance testing.
aliases:
- Quality Assurance
- QA
- Verification
related:
- Unit Test
- Integration Test
- Test Automation
- term: Deployment
definition: >-
The process of releasing software to a production or end-user environment,
including release packaging, environment configuration, and rollout strategies.
aliases:
- Release
- Rollout
- Go-Live
related:
- CI/CD
- Blue-Green Deployment
- Canary Release
- term: Maintenance
definition: >-
Ongoing activities after deployment to correct defects, improve performance,
adapt to environmental changes, and add new capabilities while preserving
system integrity.
aliases:
- Operations
- Support
related:
- Bug Fix
- Patch
- Hotfix
methodologies:
- term: Agile
definition: >-
An iterative and incremental approach to software development that emphasizes
collaboration, customer feedback, and small, rapid releases. Guided by the
Agile Manifesto principles.
related:
- Scrum
- Kanban
- Sprint
- term: Scrum
definition: >-
An agile framework for managing and completing complex projects using fixed-length
iterations called sprints, daily stand-ups, retrospectives, and dedicated roles
including Scrum Master and Product Owner.
related:
- Sprint
- Backlog
- Retrospective
- term: Kanban
definition: >-
A visual workflow management method for defining, managing, and improving
services that deliver knowledge work, using a board with columns representing
workflow stages.
related:
- Work In Progress
- WIP Limit
- Kanban Board
- term: Waterfall
definition: >-
A linear and sequential software development approach where each phase must
be completed before the next begins, with minimal iteration between phases.
related:
- Sequential Development
- Gantt Chart
- term: DevOps
definition: >-
A set of practices and cultural philosophies that combine software development
and IT operations to shorten the development life cycle and deliver features,
fixes, and updates frequently.
related:
- CI/CD
- Infrastructure as Code
- Site Reliability Engineering
- term: DevSecOps
definition: >-
An extension of DevOps that integrates security practices throughout the
software development life cycle rather than applying security only at the
end of the development process.
related:
- Static Analysis
- SAST
- DAST
artifacts:
- term: User Story
definition: >-
A short, simple description of a feature told from the perspective of the
person who desires the new capability, typically following the format
"As a [role], I want [feature] so that [benefit]."
related:
- Acceptance Criteria
- Epic
- Backlog
- term: Sprint
definition: >-
A fixed time period (typically 1-4 weeks) during which a defined set of
work is completed and made ready for review in Scrum methodology.
related:
- Sprint Planning
- Sprint Review
- Sprint Retrospective
- term: Pull Request
definition: >-
A mechanism for submitting contributions to a codebase that allows for
peer review, discussion, and approval before merging into the main branch.
aliases:
- Merge Request
- Code Review
related:
- Branch
- Code Review
- Merge
- term: CI/CD Pipeline
definition: >-
An automated sequence of steps that code changes must pass through from
development to production, including build, test, and deployment stages.
aliases:
- Build Pipeline
- Deployment Pipeline
related:
- Continuous Integration
- Continuous Delivery
- Continuous Deployment
- term: Test Coverage
definition: >-
A metric measuring the degree to which source code is tested by automated
tests, typically expressed as a percentage of lines, branches, or functions
exercised by the test suite.
related:
- Unit Test
- Code Quality
- Technical Debt
quality-dimensions:
- term: Code Quality
definition: >-
A measure of how well source code conforms to coding standards, design
principles, and best practices, typically assessed through static analysis,
code reviews, and quality metrics.
related:
- Technical Debt
- Code Smell
- Refactoring
- term: Technical Debt
definition: >-
The implied cost of additional rework caused by choosing an easy but
limited solution now instead of a better approach that would take longer.
related:
- Refactoring
- Code Quality
- Maintainability
- term: Velocity
definition: >-
An agile metric that measures the amount of work a team completes during
a sprint, used for planning future sprints and estimating project timelines.
related:
- Sprint
- Story Points
- Capacity Planning
- term: Mean Time to Recovery
definition: >-
The average time it takes to restore a service after an incident or
failure, a key reliability metric for production systems.
aliases:
- MTTR
related:
- Incident Response
- Reliability
- SLA
- term: Lead Time
definition: >-
The time elapsed from when a work item is created to when it is delivered
to the end user, encompassing all development, testing, and deployment stages.
related:
- Cycle Time
- Throughput
- Flow Metrics