brunch

You can make anything
by writing

C.S.Lewis

by 더오픈프로덕트 Apr 13. 2024

Product에서 아키텍처가 중요한 이유


아키텍처란?


소프트웨어 아키텍처의 학술적인 정의는 소프트웨어를 구성하는 컴포넌트들, 이들 간의 상호작용 및 관계, 각 컴포넌트들의 특성 및 이들이 구성하는 소프트웨어의 설계 및 진화를 위한 각종 원칙들의 집합이라고 할 수 있다.



과거에서부터 아키텍처에 관한 내용은 기술에 발전이 있으면서 좀 저 좋은 방향으로 개선은 될지언정 언제나 중요한 문제로 자리 잡고 있습니다. 



소프트웨어 공학자 마틴 파울러는 소프트웨어 아키텍처에 대해 이렇게 얘기했습니다.


"아키텍처는 반드시 프로젝트가 시작되기 전에 잘 정의되어야 한다"


"올바른 결정은 더 빨리 내려지는 것을 원한다"


"한번 결정하면 변경하기가 매우 어렵다"



그렇기에 무엇이 중요한지 핵심가치에 대해 생각해야 하고 그 가치를 위한 결정들이 아키텍처에서 중요하다고 얘기합니다. 기준을 정한다는 일 자체가 어느 정도 시간을 투자해야만 하는 부분이기에 초반에는 결과물이 잘 안 나올 수 있습니다. 그렇다고 해서 그 단계를 건너 뛰고 품질을 무시한 채 단순히 더 많은 기능들을 짧은 시간 안에 만들어내려고 무작정 진행하게 되어 버리면 시간이 지날수록 설계하고 수정하는데 시간도 많이 소요되고 지출하는 비용도 점점 더 커질 것입니다.






잘 설계된 아키텍처의 역할을 생각해 보자면 개발자들 간의 협업을 좀 더 용이하게 하게 만들고 이슈가 발생했을 때 효과적으로 대응할 수 있으며 프로젝트의 일관성을 유지시켜 주는 가이드라고도 볼 수 있습니다. 그렇기에 비 개발 직군 이어도 아키텍처에 대해 어느 정도 지식이 있다면 개발 직군들과 소통할 때 좀 더 명확하게 이해하고 원활하게 소통할  수 있을 거라 생각합니다.








작가의 이전글 Figma 사용자들이 말하는 AI디자인의 미래
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari