Re
Requirements
Elicitation
The following table is my personal collection of most important and fundamental elements of software engineering.
It may serve as a guideline what a software engineer or programmer should learn, know and most of them practice.
Some are small topics and/or methods, others are huge knowledge areas..
5
Ri
Risk
Analysis
10
Exm
Ra
Dc
Bcs
Sa
Ut
Rca
At
Requirements
Analysis
Component
Design
Basic Coding
Skills
Static Code
Analysis
Unit
Testing
Defect
Root Cause
Analysis
Code
Analysis
Tools
Expectation
Management
11
12
13
14
15
16
17
18
Requirements
Infrastructure
Testing
Design
Basics
Usability
Lean IT
Implementation
Tools
Maintenance
Code Analysis
Management
Ar
Dbd
Atomic
Requirements
Database
Design
19
20
21
22
23
Rt
Dp
Sc
Rg
Requirements
Attributes
Design
Patterns
Scrum
37
38
39
Cr
Da
It
Uid
Ct
Tam
Code
Refactoring
Dynamic
Code
Analysis
Integration
Testing
User
Interface
Design
Continuous
Integration
Tools
Task
Management
31
32
33
34
35
36
Cp
Vm
Se
Ua
Rt
Prb
26
27
28
Ol
Scb
Scc
Algorithm
Design
Object
Oriented
Languages
Software
Security
Basics
Scientific
Computing
Parallel
Computing
Numerical
Mathematics
Code Peer
Reviews
Volume
Metrics
Service
Testing
User
Acceptance
Requirements
Management
Tools
Project
Management
Basics
42
43
44
45
46
47
48
49
50
51
52
53
54
Dbs
Gat
Rob
Cco
Cm
Pt
Ul
Ide
Est
Code
Comments
Complexity
Metrics
Performance
Testing
Usability
Labs
Integrated
Development
Environments
Estimations
81
82
83
84
85
86
Bi
25
26
Reengineering
Bo
Ad
Basics of
ITIL
Big-O
Notation
40
41
29
Pac
30
Nm
Rr
Ap
Ka
Rv
Do
Bm
Ds
Fl
Eb
Requirements
Reviews
Architecture
Pattern
Kanban
Reverse
engineering
DevOps
Build
Management
Data
Structures
Functional
Languages
Encryption
Basics
Database
Systems
Game
Theory
Robotic
Basics
55
56
57-71
72
73
74
75
76
77
78
79
80
Tm
Lsd
Pc
Mo
Ade
Aop
Dl
Np
Dis
Sma
Pac
Cf
Cc
St
Tt
Pt
Moa
Traceability
Management
Large-scale
System
Design
Agile
Methods
Program
Comprehensi
on
Monitoring
Automated
Deployment
Aspect
Oriented
Programming
Declarative
Languages
Network
Protocols
Distributed
Computing
State
Machines
Parallel
Computing
Code
Format
Standards
Code
Coverage
Stress
Testing
Test
Automation
Tools
Profiling
Tools
Measurement
of Activities
87
88
89-103
104
106
105
107
108
109
110
111
112
113
114
115
116
117
118
Mp
Icm
Tdm
Dc
Pl
Ws
Ml
Ai
Sdp
Cr
Dea
Ex
Mt
Vc
Pc
Soft
Skills
Maintenance
Planning
IT Change
Management
Test Data
Management
Distributed
Computing
Procedural
Languages
Web
Application
Security
Machine
Learning
Artificial
Intelligence
Software
Development
Process
Code Reuse
Dependency
Analysis
Exploratory
Testing
Modeling
Tools
Version
Control
Systems
Project
Controlling
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Agp
Pp
Td
Dd
Cd
Cy
Us
Bam
Sm
Sp
Pg
No
Co
Tl
Sr
Agile
Planning
Pair
Programming
Test Driven
Development
Definition of
Done
Continuous
Integration
Continuous
Delivery
User
Stories
Backlog
Management
Stand-up
Meeting
Spike
Solutions
Planning
Game
No
Overtime
Collect. Code
Ownership
Travel
Light
System
Metaphor
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
Prs
Ts
Em
Crr
Cm
Ns
Lea
Training
Skills
Conflict
Management
Negotiation
Skills
Marketing
Basics
Leadership
Basics
Gom
Im
Phf
Empathy
Creation of
Relationships
Rh
Ma
Presentation
Skills
Good
Manners
Intrinsic
Motivation
Physical
Fitness
Rem
Dn
Management of
Requirements
Portfolio
Design
Notations
Rhetoric
Is
Intercultural
Skills
Crt
Creativity
Techniques
St
Stop
Talking