본문 바로가기

책을 보다

[리뷰] 아키텍처 실용 가이드 <이펙티브 소프트웨어 아키텍처>

 

 

소프트웨어 아키텍처(이하 아키텍처) 관련 자료를 보다 보면 자주 마주치는 상황이 있습니다.

'프로젝트에 참여하여 고민하고 시행착오를 겪을 때 보았더라면 더없이 좋았을 텐데.'라는 생각이 들 때입니다.

그렇다고 아키텍처에 대한 내용을 배워서 미리 알고 있으면 수월하느냐 하면 그렇지도 않은 것 같습니다.

지식으로 알고 있다고 문제를 해결해 나갈 수 있는 건 아니니까요.

경험을 통해 깨닫고 체화하는 과정을 거쳐야 한다는 일반적인 결론에 다다릅니다.

그렇더라도, 아키텍처를 알려주는 책은 있으나마나 하다는 쪽으로 가시면 더 힘들어집니다.

아키텍처를 알려주는 책은 반드시 있어야 하며, 많을수록 좋다는 게 제 생각입니다.

 

의학 드라마를 보면 레지던트들은 끊임없이 공부합니다.

기본 지식이나 증상, 질환을 더욱 잘 알기 위해서이기도 합니다만,

더욱 중요한 것은 책이나 논문을 통해 간접적으로 수많은 사례를 만나기 위해서입니다.

소프트웨어가 직접 생명을 다루는 일에 비할 바는 아닙니다만,

아키텍처도 이와 비슷하게 많은 경험과 사례가 많이 공유될수록 더욱 좋다고 생각합니다.

 

 

저는 책을 읽고 아키텍처를 표현하는 단어로 시간과 커뮤니케이션, 두 단어를 뽑아 보았습니다.

그리고 이 두 가지를 떠받치는 도구로 문서(기록)를 사용하고 있습니다.

더하여, 많은 부분에서 미처 몰랐던 시각을 볼 수 있었습니다. 책을 통해 얻는 즐거움 가운데 하나죠.

 

언젠가부터 소프트웨어에서 시간 개념을 언급하는 책들이 늘어나고 있습니다.

타당하다고 생각합니다.

골통품이나 건물처럼 원래의 모습을 간직한 채로 시간을 견디는 형태와 달리,

소프트웨어는 시간이 흐름에 따라 바뀌는 환경에 대응하고 변화하는 유연함을 가지고 있습니다.

이 부드러움을 가능하게 하는 구조인 아키텍처에 대해 얘기합니다.

 

은총알이 없는 것처럼 아키텍처에도 비록 정답은 없지만,

다양한 사례와 경험에서 우러난 통찰을 만날 수 있습니다.

아키텍처를 바라보는 시야를 넓힐 수 있는 좋은 기회라고 생각합니다.

 

반응형