소프트웨어 아키텍처의 중요성🧑‍💻

최근 저희 팀에서는 새로운 프로젝트의 아키텍처에 대한 논의와 스터디가 한창입니다. 개발자에게 이런 이야기를 하면 고개를 끄덕이지만 개발자를 제외한 제품팀(특히, PO/PM)에게 아키텍처의 중요성을 설명하는 일은 꽤 땀이 나는 상황일 수 있습니다. 마틴 파울러의 발표를 정리하며 소프트웨어 아키텍처의 중요성에 대해서 정리해봤습니다. “아키텍처”의 사전적 의미는 구성 요소 간의 관계, 환경, 설계와 발전을 관리하는 원칙으로 이루어진 시스템의 근본적인 구조를 말합니다. 사실 이 개념은 소프트웨어 아키텍처가 무엇인지 설명하기엔 거시적이며 포괄적인 컴포넌트 개념으로 정의했습니다. 소프트웨어 아키텍처를 정의한다는 것의 의미는 “시스템 디자인에 대한 지식을 공유” 한다고 할 수 있습니다. 지식을 공유한다는 의미에서 사회적 요소가 굉장히 중요합니다! 소프트웨어 프로젝트를 진행하고 특히, 소프트웨어 프로젝트가 지속해서 성장하고 있을 때를 생각해보면 프로젝트를 주도하고 있는 제품팀이 프로젝트에 대한 이해도가 잘 공유되고 있을 때와 같습니다. 또한, 아키텍처 디자인은 우선으로 진행되어야 합니다. 프로젝트 시작 전에 잘 정의가 돼야 함. 한번 결정하면 매우 바꾸기 어렵기 때문입니다! 지식을 공유하는 것과 바꾸기 어려운 디자인의 결정이 잘 어우러질 때 비로소 아키텍처에 대한 정의를 정할 수 있습니다. 그래서 소프트웨어 아키텍처가 왜 중요하냐고 물어본다면 “경제적 관점”을 도입해야 합니다. 지속적인 기능 추가의 관점에서 제품 내부 품질, 아키텍처는 굉장히 중요합니다. 단기간 개발하고 더 이상 기능 추가를 하지 않는 수준의 제품이라면 아키텍처는 그리 중요하지 않습니다. 하지만 지속적인 기능(carrying capacity와 같은)은 경제적 관점과 직접적인 연관이 있기 때문에 아키텍처의 중요성은 여기서 나타납니다. https://www.youtube.com/watch?v=4E1BHTvhB7Y

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 11월 30일 오전 4:14

 • 

저장 7조회 2,247

댓글 0