Monday, October 27, 2008

Architecture evaluation attititude

When faced with a task of architectural evaluation of an existing system a software architect may make an assumption that something must be wrong with the architecture. Of course if someone asks you to perform such task your first question is to understand what is implied by “evaluating the software architecture of an existing system.” Before any work of technical nature commences the business purpose of the evaluation task needs to be established.

The goal of an evaluation is not to determine what is right or what is wrong. The goal of an evaluation is to gain an understanding of how a system is constructed. It’s always healthy to be skeptical – we advocate this strongly as it’s the mantra of the Firebrand Architect® blog – but also give a “benefit of the doubt” and try to understand why a solution was architected one way or another. Remember that the system was designed and implemented under constraints that may no longer be true today.

As a public service announcement, please do your colleagues a favor and methodically document your solutions, and most importantly the thinking process behind your decisions. If someone has to conduct architectural reconstruction on a system you've architected (instead of architectural evaluation based on existing documentation), then you've done this discipline a disfavor. Thank you in advance for being considerate.

Constantin K.
Firebrand Architect®

Tuesday, October 14, 2008

Architect-as-contractor model in building architecture

In the October 10th 2008 Wall Street Journal article, House Designers Don Hard Hats, the author describes the architect-as-contractor model called design-build. This approach is the unquestionable standard in the software engineering world. This article vividly demonstrates some well known parallels between building and software architecture.

Some points to note. The design-build model works only when the design documents are extremely detailed - down to the last screw or caulking decision. There are upward of thirty different architectural views for a $5M project. And of course an architect is playing the role of a developer by participating in the day-to-day building activities.

The article offers interesting reaction to this approach from former customers. Since there has been some isolated discussions in the software architecture community of the separation of high level design from implementation it’s worth a look.

Constantin K.
Firebrand Architect®

Blockchain learning path for Enterprise Software colleagues

I wrote this post to document my learning path of blockchain concepts and Ethereum technologies while keeping my “new to blockchain” collea...