snunc***
2023-09-24

새로운 시대, 애자일을 넘어선 진화적 소프트웨어 개발의 부상. 소프트웨어 개발 생태계에 혁신을 가져올 진화적 아키텍처
비즈니스 세계는 하루하루 변화한다. 이뿐만 아니라 고객의 요구 사항 역시 끊임없이 변경되며, 이러한 변화와 변경은 소프트웨어의 구조를 바꾸는 동인이 된다. 그런데 소프트웨어의 구조를 변화시키는 건 결코 쉽지 않은 일이다. 소프트웨어는 그 자체로서 복잡하고, 여러 구성 요소로 이뤄진 복합체이기 때문이다. 하나의 구성 요소가 변경되었을 때 그와 맞물린 다른 요소 역시 그에 따른 영향을 받을 수 있으며, 이는 곧 전체 시스템의 영향으로 파급되기도 한다.
본 서적에서 자주 접하게 되는 '피트니스 함수'라는 용어가 굉장히 낯설고 그 의미가 한번에 와닿지 않았지만, 입력과 출력을 통해 어떠한 값을 평가하는 함수의 본래 의미와 같이, 아키텍처의 특성을 평가하는 도구로 이해하고 나서야 그것의 중요성을 명료하게 인지할 수 있었다. 피트니스 함수를 통해 아키텍처의 컴포넌트와 제반 요소를 올바르게 평가하고, 아키텍처를 올바른 변화로 유도할 수 있을 때 비로소 아키텍처는 '진화'에 성큼 다가서게 된다.
진화적 아키텍처를 구현하기 위한 여러 담론이 책 전체를 관통하면서 끝내 머릿속에 남는 건 바로 '점진적 변화'였다. 애자일과 데브옵스 그리고 CI/CD가 지향하는 점진적 변화가 소프트웨어 아키텍처에도 적용되어, 궁극적으로는 아키텍처의 진화를 꾀하게 되고, 이는 곧 소프트웨어 전체의 가치 향상으로 이어지게 된다. 좋은 소프트웨어는 좋은 구조 위에서 꽃을 피우게 되고, 좋은 소프트웨어를 이용할 수 있는 고객은 행복해지게 되는 게 아닌가? 결국 진화적 아키텍처는 소프트웨어 생태계를 이루는, 모든 플레이어를 행복하게 만드는 공공선의 아키텍처다. 진화적 아키텍처를 뒷받침하는 여러 구성 요소와 이와 관련된 진지한 논의가 궁금한 이들에게 이 책에 대한 일독을 권한다.
P.S 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.