Saturday, December 05, 2009

The Systems Engineering delusion

"Division of labour or economic specialisation is the specialisation of cooperative labour in specific, circumscribed tasks and roles, intended to increase the productivity of labour. Historically the growth of a more and more complex division of labour is closely associated with the growth of total output and trade, the rise of capitalism, and of the complexity of industrialisation processes."(Wikipedia, Division of labour).

Systems Engineering is an attempt to uplift engineering into the information economy. It is predicated on the notion that because complex engineering projects are really 'systems of systems', it is necessary to create a separate discipline, with its own group of practitioners, which specialises in the abstract, top-down analysis of such systems of systems.

As John Morton, Chief Executive of the Engineering and Technology Board, asserted in 2007, "projects are increasingly complex and some climate-change solutions will cross the traditional branches of engineering. If you wanted to extract carbon dioxide from the atmosphere you’d need aerospace, IT, electronical, mechanical and civil engineers." The solution to this complexity, however, does not reside in the creation of "systems engineers who can coordinate big, complex projects like the building of Heathrow Terminal 5," as the subsequent debacle of Terminal 5 demonstrated.

The alternative ethos, the default attitude before the rise of Systems Engineering, and the philosophy which naturally follows from the principle of economic specialisation, is that the productivity and efficiency of an engineering project or company, is maximised by engineers specialising in concrete disciplines, and by those specialist engineers cooperating on complex projects. Such cooperation requires a combination of bottom-up and top-down methods, depending upon the circumstances. There is no need for Systems Engineers, just specialist mechanical engineers, aerodynamic engineers, electronic engineers etc, organised in hierarchies with heads of department, and coordinated by project managers and technical directors, who cooperate with business managers, accountants etc.

The need for complex interaction between different specialists is not a new economic phenomenon, and in engineering it does indeed require project managers and technical directors who can take a multi-disciplinary overview. This, however, is quite distinct from the Systems Engineering ethos, which attempts to legitimise the creation of a separate discipline which specialises in the top-down analysis of engineering projects in terms of requirements, capabilities and stakeholders, abstracted from concrete engineering issues.


Hans said...

I am sympathetic to the view that most value in complex systems is provided by the individual specialty engineering elements, and that important attributes of systems are domain-specific. Believing that generic system engineering applied to complex systems without a great deal of domain knowledge somehow guarantees good results is dangerous (one of the problems with CMMI). On the other hand the core argument of the blog post is that increased specialization of labor is the primary driver of capitalism. This suggests a counterargument that one form of specialization in engineering is indeed understanding and dealing with the phenomena of different perspectives by the different 1st order "specialty engineering" disciplines and how to facilitate communication and collaboration among them. Just saying they need to collaborate is arguing that there is no particular need for translation between specialty perspectives or that there is no domain knowledge of significance associated with managing the relationships among the specialities.And when it comes to managing relationships between two or more systems built by different groups, there typically is no one project manager or system owner. So imbuing an externally focused perspective on each group of engineers to allow systems to work better with each other is itself an engineering specialty. That's not the kind of "requirements driven", top-down system engineering that the author seems to be railing against, but it is nonetheless and engineering "specialty".

Gordon McCabe said...

Thanks for that comment Hans.

I obviously agree that there is a need for people to manage the relationships between two or more systems built by different groups, but I don't see why you think that isn't effectively done by project managers and technical directors. I agree that people can and should specialise at being project managers and technical directors.

The notion that such a task should be the responsibility instead of systems engineers, pre-supposes that there is an abstract, general set of rules for how systems should be integrated. I dispute this, and therefore reject the notion that there is a genuine field of understanding here in which one can specialise.