« Welcome | Home | The art of Object-Ori… »

Architecting vs. Engineering

13 September 2006 - 10:16

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.

Did you like this post?
Subscribe to the article RSS feed or get articles by email and follow @JohanDenHaan on Twitter!

Read more about: , ,


Share on LinkedIn Share on Facebook Post to del.icio.us Post to Google Buzz

1 comment:

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

sufiyan () - 06 04 10 - 11:09


Be nice. Keep it clean. Stay on topic. No spam.

  
Remember personal info?

Emoticons / Textile

To prevent automated commentspam we require you to answer this silly question
 

  (Register your username / Log in)

Notify:
Hide email:

Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.

Powered by Pivot - 1.40.4: 'Dreadwind'