Home > Resources > Thought-pieces > Engineering Compared

Engineering Compared

15 March 2007

Recently, several people have asked me to explain the difference between systems engineering and software engineering. My answer was rather longer than I expected...

For our purposes, if we define systems engineering as the construction of a system composed of smaller units - some of which contain specialist / bespoke hardware. This hardware will require software to be written or configured for it, so that it makes sense to talk here about this activity as software engineering from a systems-engineering perspective.

Although there are some grey areas, here goes:  

Systems Engineering

Software Engineering

*Google is an interesting exception as this company modifies the hardware in commercial off-the-shelf PCs in order to increase performance. Using the criteria above,  Google's services fall under the category of systems engineering.

General Thoughts

In both software and system engineering, fracture points, inflexibility and dispute often occur at the contractual boundaries - “where contingency budgets congregate.” A radical way forward to minimise these in shown in the recent groundbreaking T5 Contract. A less dramatic way of reducing risk is to use a technique known as Evolutionary or Progressive Acquisition. This technique allows a buyer to acquire services incrementally, allowing both parties to focus on delivery rather than confrontation.

A modelling language that is gaining in popularity that is specifically designed for use in systems engineering projects – the System Modelling Language (SysML).  SysML takes the most-commonly used notation in UML [the Unified Modelling Language that is nearly ubiquitous in software-engineering projects] and adds additional elements which, for example, allow requirements to be integrated into a model in a way that UML does not.

Even without using the SysML notation, we have found that many systems-engineering programmes include elements of software engineering. In these cases, Agilier has successfully introduced Agile techniques within the overall programme, reducing risk and minimising waste work.