Architecting vs. Engineering

Nowadays a lot is written about the discipline architecting. A lot of people use this term whenever it sounds good. In this post I will make a clear distinction between the field of architecting and the field of engineering.

In general, engineering is a deductive process, while architecting is an inductive process. In other words: engineering deals almost entirely with measurables using analytic tools derived from mathematics and hard sciences. Architecting deals more with unmeaserables. It uses nonquantitative tools and experience derived from practical lessons.

I will make this more clear with an overview [1] of the characteristics


of both fields.

Situation/goals
Architecting: Ill-Structured, satisfaction
Engineering: Understood, Optimization
In engineering you almost always have to deal with problems which can be understood very well. In most cases it is possible to get all the information you have to know from, by example, your client. The goal you have to aim at is optimization of the solution for, as already stated, a well understood problem. In architecting however the requirements (if we talk in software engineering terms) could be very vague. Goals and means are not known whith much certainty. A simple explanation for this is that, in most cases, you are hired to advise and assist in such a resolution. Because of this ill-structured sitation the goal cannot be optimization. The architect has to seek for satisfactory and feasible problem-solution pairs.

Methods
Architecting: Heuristics, Synthesis, Art and Science
Engineering: Equations, Analysis, Science and Art
Both architecting and engineering has to do with art and science. Both are based on some scientific methods and both needs a creative process for solving several problems during the process. However engineering is more based on analysis and the solving of equations while architecting deals with a kind of problems that cannot be solved in such a way. Therefor in architecting the focus is more on heuristics and synthesis. Heuristics are abstract representations of experiences, in other words: practical lessons.

Interfaces
Architecting: Focus on "misfits"
Engineering: Completeness
It is clear that in engineering an inteface has to be complete, otherwise the system will not work properly. In contrast, during architecting it is necessary only to identify interfaces that cannot work, the misfits. These misfits must be eliminated during the process and then interfaces should be resolved in order of criticality and risk.

System integrity maintained through
Architecting: "Single mind"
Engineering: Disciplined methodology
In engineering the integrity of a system will be maintained through disciplined methodologies. If we look at software engineering for example there are a lot of methodologies involving the software development process in order to make the end product more reliable. For example Test-Driven Development. In architecting its more difficult to standardize this process because we are dealing with creative processes. The 'art' element of architecting can´t be replaced by some abstract methodologies. Descisions will be made based on personal experiences or practical lessons learned from others (by example heuristics).

Management issues
Architecting: Working for client, Conceptualization and certification, Confidentiality
Engineering: Working for builder, Meeting project requirements, Profit vs. cost
Working for client and working for builder sounds very strict. In practice this situations are more mixed based on the situation. But an architect must not get involved in building issues. The challenge for people with an engineering background walking into the field of architecting is to make a clear separation between functional design and the specifiaction of the actual system. In other words: making a clear separation between black-box modeling and white-box modeling.

It may be clear that architecting and engineering are whole different professions, dealing with different problems. Therefor different methodologies and different people are needed.

[1] Maier, Mark W. and Rechtin, Eberhardt. The art of systems architecting, second edition. CRC Press LLC, Boca Raton, 2002.

3 Comments Added

Join Discussion
  1. sufiyan April 6, 2010 | Reply

    thnx a lot…very well summarized…can u elaborate more on the job market contrast between the two fields…nd the respective employement opportunities???

  2. Elsp May 23, 2011 | Reply

    I would say you missed out the key point that engineering involves a huge of amount of design without maths and analysis. Structural analysis is obviously extremely important, but much more a step taken after initial design concepts. The most experienced engineers can design a structure for the most part without mathematical analysis, and this analysis will simply be a check. We must conceptualise when designing and have to deal with real life issues not solvable by maths when we are out on contract.
    Also, I disagree that it is necessary to have one kind of people in either job. In fact, I would say it is necessary that we have more people in each field who understands the other. The negative feeling between architects and engineers continue because each has preconceived ideas about the other. Perhaps if we had engineers who saw the benefits of good architecture we would get better engineering. And of course vice versa.

  3. Nick Donkor July 22, 2015 | Reply

    Hi John, would you still consider this to be true. With the advent of Architecture Frameworks and a consideration of Technology and Infrastructure domains, Architects are getting more involved in the physical model which deals with the implementation of the system considering the technologies and the infrastructure required.

    I’m relatively new to the Architecture role and my experience thus far suggests that these disciplines are very similar. Often the distinction comes from what level in the enterprise the individual operates as to whether they are architecting or engineering. Due to the level at which they work the tools and expected outputs then differ accordingly. Architecting creates many of the the inputs to the engineering stream and the engineering provides many of the insights that fuel the architecture stream.

Leave a Reply to Nick Donkor Cancel reply