Software Architecture Discipline Splits

We dreamed about the software architecture discipline becoming a mature discipline similar to the way civil engineering has evolved over time. To a certain degree this has become true: a unique set of skills is not required to develop a basic accounting back-office suite or a large scale eCommerce site. Banal solutions are reproducible by anyone with basic software design knowledge. This is good, because seasoned architects are now reaching out to solve more challenging problems.

Up until now software architects were doing two jobs under the same title: mature software engineer and mature software designer. [Note that the word 'mature' is used over 'senior' since age does not equate to seniority or ability to design complex solutions.] The software architecture discipline will eventually split into those who concentrate on the art of the discipline and those who specialize in the science of the discipline. This is inevitable due to the ever-growing complexity of responsibilities a person with a software architect title.

All software architects need to have experience from the trenches (working on serious projects in the real world) doing programming, design, and experience in all other parts of the SDLC experience. However, the architects concentrating on the 'art' aspects of the discipline will find themselves spending more time understanding and eliciting the business problem and conceptualizing the solution. The architects concentrating on the 'science' aspects of the discipline will provide cross-check the concept and provide insight on concrete implementation options. The soft side of the architecture discipline will deal with the human aspects, while the hard side of the architecture will address technical aspects.

The need for further concentration by means of splitting architecture responsibilities into soft and hard sides comes from increased demand from the business users to develop solution that solve a business problem, as well as the need to deal with the continuously growing complexity of implementations and overflow of new technologies and tools.

Constantin Kostenko
Firebrand Architect®
SoftwareArchitectures.com
FirebrandArchitect.com

Comments

Anonymous said…
Very good point! The evolution of the discipline...

Popular posts from this blog

Why we do agile

Quality Attribute Refinement