Wednesday, February 28, 2007

Business Improvement Through Better Software Architecture

In the 10th edition of The Architecture Journal, published by Microsoft, a son & father pair have done an outstanding job describing architect roles in business software development. It’s not very often that you come across such a well written, eloquent, yet terse piece of writing that energetically captures the responsibilities of architect roles and the relationships between those roles.

The authors, Sten & Per Sundblad, state in the opening paragraph that “business software exists for one reason only: to support the business and its activities … there is no other reason for business software.” This is the premise of their philosophy and a fact that software architects often forget. Countless articles have been written over the past five years on lack of alignment between IT and business. Few of those articles presented the issues and solutions with proper level of abstraction that made reading this article equivalent to reading a really book that you don’t want to end.

The article is authors’ perspective and by no means a standard, but it’s a good use of your time and deserves placement in the Essential Selection.

Firebrand Architect on duty: CK

Sunday, February 25, 2007

Asking for help - a mature decision

A software architect is in charge of the overall technical solution – there is no question about that. But a good software architect also knows his limits and requests assistance from subject matter experts on the issues outside of his or her knowledge base. Technical skills are only 49% of software architect’s skill set.

For example, a software architect with experience in web portal development is assigned to lead a project for a web based case management system. If similar technology and the same web based paradigm are used on the new project this is a reasonable request on behalf of the business management.

After studying case system requirements and after examining the quality attributes an architect sees that the system will require a highly sophisticated authorization system in order to ensure that the right users get access to the right parts of a case at the right time. If complex resource authorization is not architect’s technical strength, then a subject matter expert must be brought on board for consultation. This is not an insult to architect’s competency or ability to perform her job; it’s a mature decision that will improve the odds of designing the right functionality that serves users’ needs.

There are cases when financial constraints prohibit acquisition of external subject matter experts. Then it’s up to architect to make the best of the situation, but such decision should be documented as risk. It’s a well known fact that it’s not possible to retrofit security into a system without breaking system architecture.

Firebrand Architect on duty: CK

Sunday, February 18, 2007

EA pillars - a view

Enterprise Architecture is probably one of the most overloaded technical terms. There are many groups wrestling for control of the definition and its associated taxonomy. This of course causes architectural mismatch between systems, concepts, departments, and organizations.

The following post by Paul T. Preiss, President of IASA, calls for examination of the essence of certain architecture specialties (software, infrastructure, and business) to derive an objective list of knowledge foundation blocks. This post is a great start to future collaborative work on building bridges between different frameworks and methodologies.

Wednesday, February 14, 2007

Duties of a Software & Solution Architect

What does it mean to be a software architect? How about a solution architect? There are as many opinions as definitions of software architecture. It is clear that a software architect is not simply a senior software engineer. Responsibilities of a software architect cover a wide array of skills outside of technical field of knowledge. The listing below is a series of opinion pieces by various bloggers and web sites on the definition of a software and solution architects.

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...