개요
유튜브에 올라온 소프트웨어 아키텍처의 중요성 번역 동영상 살펴보기.
- 해당 동영상은 데브원영님이 번역해주었다.
- 동영상보고, 내용을 정리해서 글로 작성하였다. (잘못된 의견일 수 있으나, 개인 블로그라 남긴다.)
출처
프로젝트의 어디에 핵심 가치를 둘 것인가. 그리고 아키텍처에서는 이러한 핵심가치를 프로젝트에 올바르게 달성하기 위해서 아키텍처를 어떻게 설계할 것인가에 대한 결정이 중요하다.
여기서 더불어서 아키텍처의 중요성을 이야기할 때 단지 개발자로서 올바른 기술 수준을 가지고 제대로 적용해야 한다는 장인정신도 있지만, 이것보다 더 중요한 것은 경제라는 개념이고 아키텍처의 중요성을 설파할 때 경제와 같이 접목시켜야 한다.
일반적으로 우리가 재화를 필요로 할 때, 가령 값 싼 재화를 구매하지 않는다. 나름의 품질(quality) 를 고려하며 구매하게 된다. 이 때 그 품질이 높은 것에 대해선 좀 더 큰 금액을 지불하고 해당 재화를 구매한다. 마틴 파울러는 소프트웨어의 품질은 일반적인 재화의 품질과는 전혀 다르다고 이야기한다.
품질을 평가하는 사람은 내부의 사람들이 아닌 외부에서 구매한 사람들이 평가한다. 소프트웨어가 좋은 아키텍처 및 디자인을 가지고 있다고 하더라도 외부의 사람들은 내부의 품질을 직접적으로 살펴보지 못한다. 그래서 완전 동일한 기능의 소프트웨어를 내부적 품질이 좋은/나쁜 둘 중에 무엇을 구매할 것이냐고 묻는다면 대답은 품질이 나쁘지만 가격은 저렴한 소프트웨어를 구매하겠다고 말할 수도 있다.
이 때, 왜 내부적 품질이 좋은 소프트웨어를 구매해야하는지에 대한 설득이 필요하다.
- 장기적인 관점을 바라본다.
- 단순한 기능적인 추가에도 아키텍처가 잘 구축된 소프트웨어는 부가적인 리소스가 상대적으로 적다.
결과적으로 프로젝트를 꾸준하게 리팩토링하고, 기술부채를 줄여나가 좋은 아키텍처를 설계하는 것들이 중요한 이유는 경쟁사에 비해 고객에게 더 좋은 품질 (이 때의 품질은 내부/외부를 포함한 품질) 의 서비스를 꾸준하게 제공할 수 있는 것이다. (만일 기능하나 추가하는데 몇 주가 걸리는 문제가 아키텍처를 등한시하여 몇 달이 걸리면 그 서비스는 경쟁사의 서비스에 비해 상대적으로 외부에 노출되는 품질이 떨어진다고 할 수 있기 때문이다.)
단기적인 관점이 아닌 꾸준하게 좋은 서비스를 지속적으로 제공하는 하기 위함이 아키텍처의 핵심이다.
'Interest > 개발' 카테고리의 다른 글
2024-02 개발 : 자투리 기록 (1) | 2024.02.20 |
---|---|
2024-01 개발 : 자투리 기록 (0) | 2024.01.21 |
2023-11-25 개발 : 자투리 기록 (0) | 2023.11.25 |
2023-11-19 개발 : 자투리 기록 (0) | 2023.11.19 |
20201221 책 : 객체지향 사고 프로세스 (0) | 2020.12.22 |