The purpose of this brief discussion is to highlight a significant and useful overlap between core Systems Engineering principles and Program/Project design and subsequent management.
First some definitions best described with the aid of a picture:
Typically, programs are managed to coordinate a set of interrelated projects such that a phased set of capabilities are delivered to the business. The business then absorbs these capabilities to realise the planned benefits over time and deliver the performance enshrined in the Portfolio objectives.
The key here is that the decomposition of the work to be performed when designing a program (or project) will significantly benefit from adhering to the same rules that apply for designing systems.
A key early output from systems engineering is the functional decomposition of the analysed requirement space and the subsequent mapping into the solution space. This work embraces physical, software and human aspects of the solution. What emerges is a solution architecture that defines and isolates the key artefacts that make up the system.
The similarities should be immediately apparent:
1. The hierarchy represents everything that is required
2. Each element represents something that needs to be: (a) developed or procured, (b) verified against requirements (c) integrated with other items, (d) validated against the operational objectives, (e) accepted by the client and (f) supported (incl. training, maintenance, spares etc)
3. Each element, therefore, represents a necessary package of work that must be managed
Within the systems engineering discipline, a key consideration when building this solution architecture is to keep related functions together [strong cohesion] whilst keeping these groups of functions as separate as possible from each other [loose coupling].
This approach will add value to any program (or project) design. It will enable the work packages to be easily allocated to those in the best position to deliver them whilst isolating these work packages from each other; except through well-defined interfaces. Designing for low levels of interdependence (loose coupling) between work packages limits the degree to which changes in one area of the program (or project) will impact another. At the same time, strong cohesion within a work-package maximises the level of independent development and verification that can be achieved prior to integration with other system artefacts.
Together these two core principles of systems engineering best practice facilitate more effective management overall and particularly with respect to decisions about sourcing, phasing and the management of risk.