3.9

View in English

3.9 Systems engineering

Overview and motivation

Systems engineering is the discipline of engineering a whole complex system from end to end, so that all its parts work together to meet a real need. The parts include much more than software. A modern system usually combines software, hardware, people, data, and processes, and it must operate in a messy real world. Systems engineering keeps all of these aligned across the whole life of the system.

This is different from software architecture. Software architecture (chapter 3.1) decides how software components are structured and how they talk to each other. Systems engineering sits one level up. It asks what the system as a whole must do, how software and hardware and human operators divide the work, and how you will prove the finished thing works. Its professional home is INCOSE, the International Council on Systems Engineering, and its anchor standard is ISO/IEC/IEEE 15288, which defines the processes for the life of a system.

This matters for large enterprise and government programmes because their systems are big, long-lived, and safety-critical or mission-critical. A defence platform, an air-traffic system, or a satellite constellation blends custom hardware, third-party parts, embedded and cloud software, and human operators, and no single team can hold the whole thing in their head. You also often build a system of systems: many independent systems, each useful on its own, that must cooperate to deliver a larger capability.

This chapter connects to software requirements (chapter 2.8), architecture fundamentals (chapter 3.1), software models and methods (chapter 2.12), interoperability and open standards (chapter 3.8), and project management (chapter 10.6).

Key principles

  • Engineer the whole, not the parts. A system succeeds or fails as a whole, so optimising one subsystem in isolation can make the whole worse.
  • Follow the lifecycle. A system has a life from first concept to final retirement. Plan for all of it, not just the build.
  • Trace every requirement. Every need should map to a requirement, a design element, and a test. If you cannot trace it, you cannot prove it.
  • Manage interfaces on purpose. Most failures happen at the boundaries between parts, so interfaces deserve explicit ownership and control.
  • Verify and validate separately. Building the thing right (verification) and building the right thing (validation) are different questions, and you need both answers.
  • Expect emergent behaviour. Combining parts creates behaviour no single part shows. Some of it is the point, and some is a nasty surprise.
  • Co-engineer hardware and software. When both are custom, decisions in one constrain the other, so plan them together.

Recommendations

Manage the full system lifecycle

Treat the system as having a whole life, and plan each stage. A common lifecycle runs: concept (understand the need and explore options), requirements (state precisely what the system must do), design (decide the architecture and the parts), integration (bring the parts together), verification and validation (prove it works and is the right system), operation (run and maintain it), and retirement (decommission it safely, including data and disposal). ISO/IEC/IEEE 15288 gives you a process framework for this. The stages need not be a rigid waterfall; you can iterate, prototype, and deliver increments. The point is that you consciously address every stage, including the expensive later ones that early plans often ignore.

Capture stakeholder needs and allocate requirements with traceability

Start from the people who care about the system: users, operators, owners, regulators, and the public. Gather their needs in plain language, then turn those needs into engineered requirements that are specific and testable (see chapter 2.8). Next comes requirements allocation: assigning each system-level requirement to a specific subsystem, so you know which part is responsible for meeting it. Keep a traceability matrix, a living record that links each need to its requirement, to the design element that satisfies it, and to the test that verifies it. It lets you prove at any moment that every need is covered and every part exists for a reason.

Manage interfaces explicitly

Interfaces are where parts meet, and where systems most often break. An interface can be a physical connector, a network protocol, a data format, or a human procedure. For each one, write an Interface Control Document (ICD): an agreed specification of exactly how two parts connect and exchange information. Give every interface a clear owner on each side. Relying on shared, published specifications rather than one-off connectors makes integration far easier, which is the interoperability argument in chapter 3.8. Freeze interfaces early where you can, because a late change ripples into every part that touches it.

Integrate and then verify and validate

System integration combines subsystems into the working whole, usually in stages rather than all at once, so you find problems while they are still small. After integration comes verification and validation (V&V), two distinct checks. Verification asks: did we build the system right, meaning does it meet its specified requirements? You verify through inspection, analysis, demonstration, and test. Validation asks: did we build the right system, meaning does it meet the stakeholders’ real needs in real use? A system can pass verification (it meets the spec) yet fail validation (the spec was wrong). Plan both early, and write requirements and interfaces so they can be verified in the first place.

Adopt model-based systems engineering

Traditional systems engineering produced mountains of documents that drifted out of sync. Model-based systems engineering (MBSE) replaces that pile with a single, shared, formal model of the system, from which views and reports are generated. The common modelling language is SysML (Systems Modelling Language), a graphical language for describing a system’s requirements, structure, behaviour, and constraints. Because everything lives in one connected model, a change updates everywhere, and traceability becomes a query rather than a manual chase. MBSE connects to the modelling ideas in chapter 2.12. Adopt it gradually, starting with the highest-risk parts where a shared model pays off fastest.

Apply systems thinking to emergent behaviour

Practice systems thinking: reason about the whole and the relationships between parts, not just the parts one at a time. This is how you anticipate emergent behaviour: properties that appear only when parts combine and that no single part shows. Good emergence is often the purpose of the system (a flock of drones covers an area no single drone could). Bad emergence is the surprise failure (two safe subsystems interact to create a dangerous state). You cannot test emergence out of a system you never modelled, so use simulation and structured hazard analysis to find it before operation.

Co-engineer hardware and software

When a system includes custom hardware, engineer the hardware and software together, a practice called hardware/software co-design. Decisions bind each other: the hardware sets timing, memory, and power limits the software must live within, and the software’s needs shape what the hardware must provide. Long hardware lead times also drive the schedule. Decide early which functions live in hardware and which in software, and revisit that split as constraints emerge.

Trade-offs: pros and cons

ApproachProsCons / cost
Full systems engineering rigourFewer late surprises, strong traceability, safer and auditableHigh upfront cost, slower start, heavy process
Lightweight / software-only approachFast, cheap, flexible for small scopeBreaks down on large multi-discipline systems, misses interfaces and emergence
Model-based (MBSE)Single source of truth, easy traceability, consistent viewsTooling and training cost, culture change, learning curve
Document-based systems engineeringFamiliar, low tooling cost, easy to shareDocuments drift out of sync, traceability is manual and error-prone

The central trade-off is rigour versus speed. Full systems engineering front-loads effort into concept, requirements, and interface work. That effort repays itself many times over on large, long-lived, safety-critical systems, where a defect found in operation can cost thousands of times more than the same defect found in requirements. On a small, short-lived, software-only product, that rigour is overkill. Match the weight of your process to the size, lifespan, and risk of the system. The failure mode is applying throwaway-project habits to a system that will run for thirty years and carry real-world risk.

Questions to discuss with your team

  1. Where have you built exactly what the spec demanded and still shipped the wrong system, and what would have caught it? Verification (did we build it right) and validation (did we build the right thing) answer different questions, and a system can pass every verification test while failing validation because the spec itself was wrong. On large programmes the two get collapsed into “testing”, so no one validates against real operator need until late, when a fix costs thousands of times more than a requirements change. Bring a past example where the delivered system met its requirements yet missed the actual need, and ask what validation activity (a simulation with real operators, an early prototype in the field) would have surfaced it sooner. Plan both checks from the start, and write requirements and interfaces so they can be verified at all. The distinction decides where you spend scarce review effort.

  2. How do you hunt for bad emergent behaviour before the system is in operation, not after? Combining safe subsystems can create dangerous states no single part exhibits, and you cannot test emergence out of a system you never modelled. For a safety-critical or mission-critical programme, the surprise interaction is the one that injures someone or fails the mission, so it has to be found before live operation. Bring your approach to modelling the whole (simulation, structured hazard analysis, a SysML model that captures interactions) and ask which cross-subsystem behaviours you have actually explored versus assumed away. Good emergence is often the system’s purpose and worth designing towards; bad emergence is the failure you must engineer against. If your only integration strategy is to wire the parts together and see what happens, you are planning to discover emergence in production.

  3. When do the long-lead hardware decisions have to be frozen, and how does that deadline drive your software schedule? When a system includes custom hardware, the two must be co-engineered: the chip sets timing, memory, and power ceilings the software lives within, and hardware lead times often dominate the whole schedule. Teams that treat software as separable optimise locally and then collide with hardware constraints at integration, losing months. Bring the hardware lead times and the date by which the hardware/software function split must be decided, and revisit that split as constraints emerge rather than freezing it blind. The earlier you decide which functions live in silicon and which in software, the fewer expensive reversals you face. Interfaces between the two deserve an Interface Control Document and an owner on each side, because a late change there ripples through everything that touches it.

  4. Can you trace a single stakeholder need all the way to the requirement, the design element, and the test that proves it, and who keeps that link alive? Traceability is what lets you show at any moment that every need is covered and every part exists for a reason, yet on a large programme the matrix rots the instant no one owns it. The competing pull is real: engineers experience traceability as bureaucratic overhead, and a matrix maintained by hand drifts out of date faster than the design changes. Bring one genuine thread from a current programme and try to walk it end to end in the room, from a named stakeholder need, to the allocated requirement, to the subsystem and design element that satisfies it, to the verification test, and note where the chain breaks. Decide who owns the matrix and whether it should live in a model where traceability is a query rather than a manual chase. For enterprise and government programmes, the matrix is also the audit artefact regulators and acquisition authorities demand, so a broken chain does more than slow engineering; it can stall certification or payment.

  5. Is a model-based approach worth its tooling and culture cost for you, or would it become expensive shelfware? Document-based systems engineering is familiar and cheap to tool, but its documents drift out of sync and its traceability is manual and error-prone; MBSE replaces the pile with one connected model, at the price of tooling, training, and a genuine culture change. Either extreme is expensive: skip MBSE on a large multi-discipline programme and you pay in integration surprises, adopt it without the discipline to keep the model current and it rots into shelfware worse than no model at all. Bring an honest read of your tooling maturity, who on the team can actually author and maintain a SysML model, and which one high-risk subsystem could pilot the approach where a shared model pays off fastest. Decide gradually rather than mandating the whole organisation at once. For a large enterprise or government programme with many suppliers, weigh whether a shared model is the only realistic way to keep requirements, interfaces, and tests consistent across contractors who otherwise exchange stale documents.

  6. Does your lifecycle plan seriously fund operation and retirement, or does it quietly stop at launch? The stages that dominate a long-lived system’s total cost, running it for decades and decommissioning it safely, are the ones early plans routinely ignore, because the pressure is always to ship. The competing consideration is that money and attention are scarcest exactly when these later stages feel most distant, so operation, maintenance, data migration, and disposal get deferred until they become an expensive, risky scramble. Bring the current lifecycle plan and check whether it names owners, budgets, and exit criteria for operation and retirement, or whether it treats launch as the finish line. Ask what happens to the data and the hardware at end of life, and who pays for the years of maintenance in between. For enterprise and government systems that must run for twenty or thirty years and then retire under public scrutiny, an unplanned decommissioning can breach regulatory, environmental, or records-retention obligations, so retirement belongs in the plan and the budget from the first concept review.

Sector lens

Startup. A tiny team cannot run a formal systems-engineering programme and should not try, but it can still treat firmware, app, and cloud as one system rather than three separate projects. Write one short interface document that pins how the parts talk, keep a simple table linking each customer need to the part that satisfies it, and skip the heavy process. Your scarcest resource is engineering attention, so spend traceability effort only where a wrong assumption at a boundary would quietly break the product in the field.

Small business. With no dedicated systems engineer and a tight budget, lean on published standards and bought subsystems rather than bespoke integration you have to design and verify yourself. Favour vendors who expose clear interface specifications so the parts fit without a custom connector you must own forever. Frame the build-versus-buy choice around which interfaces you can realistically control and verify over the life of the product, and buy the rest.

Enterprise. At scale the problem is consistency across many teams and suppliers: a shared lifecycle process aligned to ISO/IEC/IEEE 15288, an Interface Control Document and a named owner for every supplier boundary, and end-to-end traceability so one component change does not trigger a programme-wide scramble. Invest in MBSE where a shared model keeps requirements, interfaces, and tests aligned across contractors. Govern the process so verification and validation stay distinct and every requirement is allocated to a responsible part.

Government. Procurement rules, transparency, and public accountability shape every choice. Specify systems-engineering process, traceability, and V&V evidence in the contract, require suppliers to deliver interface control documents and lifecycle artefacts you can audit, and reserve safety and mission validation for independent review with real operators before any live cut-over. Plan and fund operation and retirement explicitly, because a public programme is answerable for the full lifecycle, including safe decommissioning and records retention.

Examples

Startup. A four-person hardware startup building a connected sensor cannot afford a formal systems-engineering programme, but it still treats the product as one system of firmware, a mobile app, and a cloud backend rather than three separate projects. They write one short interface document that pins how the device, app, and server talk (message formats, units, error codes) and keep a simple table linking each customer need to the part that satisfies it. When a cheaper sensor chip forces a firmware change, that shared interface shows immediately what the app and backend must adjust, so a component swap does not quietly break the product in the field.

Enterprise. A global automotive manufacturer builds a new electric vehicle platform: a system of software (battery management, driver assistance, infotainment), hardware (motors, sensors, chips), and human factors, plus many suppliers each delivering subsystems. The company runs a systems engineering programme. Stakeholder needs feed allocated requirements, every supplier interface has an Interface Control Document, and a SysML model ties requirements to design to tests. When a battery-cell supplier changes a component, the traceability model shows exactly which requirements, interfaces, and tests are affected, so the change is contained instead of triggering a programme-wide scramble.

Government. A national air-navigation authority modernises its air-traffic management system, a safety-critical system of systems spanning radars, controller workstations, communications, and software, operated around the clock. The programme follows ISO/IEC/IEEE 15288 across the full lifecycle. Verification proves each subsystem meets its specification, and validation through simulation with real controllers proves the integrated system supports safe operations before any live traffic depends on it. Rigorous V&V lets the authority cut over in stages, with fallback at every step, because here an untested emergent failure is a public-safety event.

Business case: motivations, ROI, and TCO

The motivation is that defects get exponentially more expensive the later you find them. A requirement error caught during the requirements stage costs almost nothing to fix. The same error caught in operation can cost thousands of times more, and on a safety-critical system it can cost lives, recalls, or a failed mission. Systems engineering shifts defect discovery into the cheap early stages.

For return on investment (ROI, value gained compared to cost spent), the payoff is avoided rework, fewer integration failures, and programmes that hit schedule and budget instead of overrunning. Industry studies of large programmes repeatedly find that strong systems engineering effort correlates with smaller overruns. For total cost of ownership (TCO, the full lifetime cost of building, running, and retiring a system), systems engineering accounts for the operation and retirement stages that dominate long-term cost but that ad hoc projects ignore. Designing for maintainability, interfaces, and disposal from the start lowers the cost of the decades the system spends in service. See project management (chapter 10.6).

Anti-patterns and pitfalls

  • Big design up front with no iteration. Treating the lifecycle as a rigid one-way waterfall, so you learn the requirements were wrong only after building everything.
  • Requirements with no traceability. A pile of requirements no one links to design or tests, so you cannot prove coverage or justify any part.
  • Ignoring interfaces. Assuming subsystems will just fit together, then losing months at integration to boundary mismatches no one owned.
  • Verification without validation. Proving the system meets its spec while never checking the spec matched real needs, then shipping the wrong system.
  • Treating software as separate. Software teams optimising locally while ignoring hardware constraints, timing, and human operators.
  • MBSE as shelfware. Building a model once, then letting it rot out of sync so it becomes worse than no model.
  • Skipping retirement planning. No plan for decommissioning, data migration, or disposal, so end-of-life becomes an expensive, risky scramble.

Maturity model

Level 1: Initiate. Systems engineering is ad hoc and reactive. Requirements live in scattered documents, interfaces are discovered at integration, and verification is whatever testing happens to get done. Large programmes regularly overrun and surprise the team late.

Level 2: Develop. Basic practices exist on major programmes. Requirements are captured and baselined, key interfaces have control documents, and there is a verification plan. Practice is inconsistent between teams and depends on individuals rather than a shared method.

Level 3: Standardise. Systems engineering is a documented, organisation-wide discipline aligned to ISO/IEC/IEEE 15288 and enforced across teams. The full lifecycle is planned, traceability is maintained end to end, interfaces are formally controlled, and verification and validation are distinct and planned. MBSE is used on complex programmes.

Level 4: Manage. Systems engineering is measured and controlled with data. The organisation tracks metrics against baselines: requirements volatility and traceability coverage, interface defects found at integration, verification and validation pass rates, and defect leakage by lifecycle stage (how many defects escape each stage to be caught later at higher cost). Reviews steer programmes on these numbers, and thresholds trigger corrective action rather than after-the-fact firefighting.

Level 5: Orchestrate. Systems engineering is continuously improved and integrated across the organisation. A living MBSE model is the single source of truth, traceability is automated, simulation predicts emergent behaviour before build, and metrics from past programmes feed the next. Hardware and software are co-engineered as a matter of course, and the process adapts as programmes, suppliers, and risks shift.

Ideas for discussion

  • Where is the line between systems engineering and software architecture in your organisation, and who owns the space between them?
  • On your largest programme, can you trace a single stakeholder need all the way to the test that verifies it? If not, what would it take?
  • Which of your recent failures happened at an interface, and who owned it?
  • Would MBSE pay off for you, or would it become expensive shelfware given your culture and tooling?
  • Does your lifecycle plan seriously address operation and retirement, or does it quietly stop at launch?

Key takeaways

  • Systems engineering engineers the whole system (software, hardware, people, and processes) end to end, and is distinct from software architecture.
  • Plan the full lifecycle, from concept through requirements, design, integration, V&V, operation, and retirement.
  • Trace every need to a requirement, a design element, and a test, and allocate each requirement to a responsible part.
  • Manage interfaces explicitly with clear ownership and control documents, because boundaries are where systems break.
  • Verification (built it right) and validation (built the right thing) are different checks, and you need both.
  • Use MBSE and SysML for one connected source of truth, and use systems thinking to anticipate emergent behaviour.
  • Match the weight of your process to the size, lifespan, and risk of the system.

References and further reading

  • INCOSE, INCOSE Systems Engineering Handbook: A Guide for System Life Cycle Processes and Activities
  • ISO/IEC/IEEE 15288, Systems and Software Engineering: System Life Cycle Processes
  • ISO/IEC/IEEE 29148, Systems and Software Engineering: Requirements Engineering
  • Sanford Friedenthal, Alan Moore, and Rick Steiner, A Practical Guide to SysML: The Systems Modelling Language
  • NASA, NASA Systems Engineering Handbook (NASA/SP-2016-6105)
  • Andrew P. Sage and William B. Rouse, Handbook of Systems Engineering and Management
  • Dennis M. Buede and William D. Miller, The Engineering Design of Systems: Models and Methods
  • Donella H. Meadows, Thinking in Systems: A Primer
  • Eberhardt Rechtin and Mark W. Maier, The Art of Systems Architecting
  • U.S. Department of Defence, Defence Acquisition Guidebook (systems engineering guidance)