rudfla4***
2023-03-23

소프트웨어 아키텍처 문제-해결을 위한 지식과 실용적 프레임워크를 다루는 안내서
다양한 프로그램의 개발과 빠른 진화로 인해서
우리는 더욱 편리한 삶을 살고 있습니다.
하지만, 프로그램이 사용자에게 편리해지고, 다양한 기능이 추가됨에 따라
그만큼 규모도 커지고, 복잡도도 높아지게 됩니다.
따라서 요즘 많은 IT 회사에서는 대규모 소프트웨어의
복잡성 문제를 해결하고 높은 품질의 소프트웨어를
생산하는 데에 많은 관심을 쏟고 있습니다.
전체 시스템의 구조를 생각하며
시스템을 조화롭게 설계하는
아키텍트라면 누구나 들어봤을 법한
『소프트웨어 아키텍처 101』의 후속작
『소프트웨어 아키텍처 The Hard Parts』를 읽어보았습니다.
왜 'The Hard Parts'일까요?
첫 번째 이유로는 어려움, 두 번째 이유로는 단단함을 들고 있습니다.
소프트웨어의 특성상 한 번 정해진 아키텍처는 추후 바꾸기가 굉장히 어렵기 때문입니다.
101에서 아키텍처에 대한 감을 잡았다면,
The Hard Parts에서는 실무에서 접할 수 있는 다양한 패턴을 연습하고
의사결정 과정에 대해 배울 수 있습니다.
이 책의 재밌는 점은
가상의 등장인물을 만들어 등장인물 간에 대화를 통해
문제 발발의 원인을 간접적으로 드러내어 흥미를 유발하며
트레이드오프를 더 나은 방안으로 결정할 수 있는 방법을 제시하고 있습니다.
소프트웨어에 따라 중점을 두고 있는 부분도 다르고,
소비자들의 요구도 다릅니다.
따라서 소프트웨어 아키텍처에는 정답이 없습니다..
'이것이 가장 옳은 아키텍처다'라는 말 대신
상황에 따라 최적의 아키텍처를 선택하는 방법을 제시하고 있다는 점이 좋았습니다.
* 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.