© 2022 ECSA.WORLD
Website Design

Architecture vs Design – what is the difference and why it is important (Bootcamp 101)

by Boris Taratine, Partner – Chief Architect

Intro

Organizations more and more rely on Information and Communication Technology (ICT). ICT systems are very complex, and complexity is a systems’ weakness, because it is hard to analyze, maintain, operate, identify a failure, or recover from one.  

Yet building secure and reliable systems, whether using commercial out of the shelf (COTS) on prem or those in Cloud, is very often an ad-hock process even in mature organizations. And it starts from a fundamental challenge: general lack of understanding of what System Development Life Cycle (SDLC), in general and architecture in particular, is and how it is important for success of the business in building complex systems. 

If you disagree, then here is starter for 10: “what is the difference between Architecture and Design?” If you answer is longer than 30 seconds – keep reading. 

NOTE: We did not want to be “precise” but rather wanted to be “accurate” and “accessible” to the wide audience that is not “skilled in the art”.

SDLC – let’s make it clear… 

We will provide formal definitions as we go but a picture is worth a thousand words:

No alt text provided for this image

There are some more questions to think about now: Where do we start? What step can we skip? Why should we do it differently in ICT / Security field? Most importantly, how can we formally define the terms?  

Definitions 

*Architecture*  

  • Architecture is the fundamental organization of a system through association of function and structure of its components, their relationships to each other and to the environment and the principles guiding its design and evolution.  

It is not difficult to notice that to achieve its goals a good system architecture should have a single philosophy and unified concepts, and it is persistent.  

*Design*  

  • Design (noun) is an instance or a configuration of architecture, the blueprint of what is to be built, and Design (verb) is making decisions to create a solution, the process of determining how an entity (system, subsystem, and element) meets its requirements.  

So, “design” is a “thing” and an “action” describing how to create it. 

*Implementation* 

  • Implementation is the result of the process of translating design into a solution.  

It’s simple like that.  

There are two important points to make: 

  1. Make sure each step defines what is required at the next one, and that each subsequent step verifies what the previous step has required. 
  2. Given that the four basic methods of verification are analysis, inspection, test, and demonstration, an implementation is necessary for test and demonstration. Analysis and inspection may be performed on a design.  

 “BADIO” – let’s put things together… 

System Engineering and System Development Life Cycle of a complex system is a “waterfall” model even if it is “agile”. Indeed, if you think about each agile sprint iteration it does go down and up as required. Each methodology is better suited to different types of development and that discussion is outside of the scope of this writing.  

Nevertheless, the levels of abstraction of the model, if followed, will give you advantage in either methodology. NOTE: the term “BADIO” was coined by the author’s former colleagues to refer to this diagram many years ago, so we thought – let it be! 

No alt text provided for this image

At the top of the picture is the “business”. The business defines the need, that is “a statement of a stakeholder desire for “something” to satisfy one or more of their operational business functions that they want to perform. Stakeholder needs may be very general and somewhat vague, and are difficult to implement directly. They are not solutions; they are opportunities or problems in search of a solution.” [Greg Hesse]  

The rest of this picture you should now interpret based on the previously provided definitions. 

Compare the roles of Architects and Designers 

One of the challenges in the industry is a general lack of understanding of what the Architecture and Design are (that we now helped you understand), as well as confusion in definition of those roles. Below table will provide you with better understanding how to do it better. 

No alt text provided for this image

Benefits of architecture and formal approach to SDLC 

  • It is never too late or too earlier to employ formal approach and architecture proper, especially in development and realization of complex business strategies that involve ICT. 
  •  This will drive best practice, synergies, and operational efficiency across the Organisation. 
  •  It will provide a single joined‐up view of the Organisation’s capabilities to align business and technology stakeholders. 
  •  It will also offer holistic long-term businesses and technology planning to maximize investment outcomes. 
  •  Not least, it will define a consistent framework to shape the change of the investment portfolio to meet the defined risk profile to build dependable and resilient businesses. 

PS: your feedback is welcome!