Core activities
Specification defines need and constraints. Development designs and implements. Validation checks fitness. Evolution adapts after delivery.
Software engineering applies systematic, disciplined, measurable practices to building and evolving software. The management challenge is to choose a lifecycle, expose uncertainty early, and create feedback fast enough to steer.
A product delivers continuing value; a project is a temporary effort that creates or changes it; a process is the repeatable way work flows. Confusing them causes local optimization—finishing a project while leaving an unmaintainable product.
Specification defines need and constraints. Development designs and implements. Validation checks fitness. Evolution adapts after delivery.
Scope, time, and cost interact; quality and risk sit across all three. A changed constraint requires an explicit trade-off, not wishful compression.
Maintainability, dependability/security, efficiency, and acceptability influence architecture and the definition of done.
| Approach | Best fit | Strength | Main risk |
|---|---|---|---|
| Waterfall / predictive | Stable requirements, regulated gates | Up-front plan and traceability | Late feedback, costly change |
| Incremental | Value can ship in slices | Earlier benefit and learning | Architecture can erode |
| Iterative | Solution needs refinement | Repeated feedback improves fit | Convergence is not automatic |
| Spiral | Large, high-risk work | Risk-driven cycles and prototypes | Complex and management-heavy |
| Agile / adaptive | High change, close customer access | Frequent value and reprioritization | Needs discipline and engagement |
No plan, no documentation, or no architecture. Planning is continuous; documentation is sufficient and valuable; design evolves with feedback.
DevOps joins development and operations through shared ownership, automation, measurement, and learning. The pipeline turns every change into evidence.
Integrate small changes frequently; each integration triggers an automated build and test suite.
Every passing change is deployable. Production release remains a business decision.
Passing changes move automatically to production; monitoring and rollback are essential.
Lead time, deployment frequency, change failure rate, and recovery time reveal delivery-system health.
Identify a measurable problem and a small experiment.
Run it with limited scope; capture evidence.
Compare observed results with the hypothesis.
Standardize, adapt, or abandon—and repeat.
Retrospectives, root-cause analysis, value-stream mapping, and process metrics support learning. Metrics should improve decisions, never become targets that invite gaming.