Architecture

팀이 가야할 이정표

Architecture

목표하는 대상에 대한 구성과 동작원리, 구성 요소간의 관계, 시스템 외부와의 관계 등을 설명하는 설계도

  • 어디에 어떤 코드가 있고, 내가 어느 부분의 코드를 확인하고 작성해야 하는지 알 수 있는 가이드라인

  • 앞으로 더욱 발전하기 위해 어떤 구조를 어떻게 개발해야 하고, 얼마나 개발되어 있는지 알 수 있는 수단이 된다.

  • 크게는 인프라 설계, 작게는 코드를 작성하는 방법(컨벤션)이 될 수 있다.

  • 아키텍처가 없다면 서로가 추구하는 미래가 다를 수 있으므로 같은 그림을 그려나가기 힘들어진다.

  • 주기적으로 시스템을 정비하고 나아갈 방향을 미리 정해놓아야 한다.

그림을 통해 아키텍처를 나타내보자.

사람은 글보다 그림을 통해 더 쉽고 직관적으로 이해할 수 있다.

아키텍처는 위계 구조를 가지고 있기 때문에 각 부분이 어디에 위치해 있고 어떻게 연결 되어있는지, 어떤 개념을 포함 하는지를 직관적으로 나타낼 수 있다. 또한 각 연결 지점들의 문제점들을 인식하고 효율적으로 개선사항을 정리하여 전파할 수 있다. (주니어 개발자들에게 더욱 효과적)

아키텍처 그리는 도구

As-Is, To-Be

  • As-Is, To-Be 형태로 이전과 이후에 어떻게 되어야하는지 그림으로 표현

  • 아키텍처는 줄글로 상하관게를 표현하기 어렵기에 그림으로 표현하는것이 효과적 (플로우차트, 다이어그램)

  • 이전, 이후 그림을 만든 후 이후의 그림이 어떻게 더 좋은지 차이를 설명하는 것이 대략적인 아키텍처를 그리고 설득하는 과정

온라인 툴

  • draw.io: 솔루션 아키텍처를 그릴 수 있는 여러 템플릿 제공

  • excalidraw.com: 여러 템플릿은 제공이 안되지만 캐쥬얼 느낌으로 그릴 수 있는 툴

Last updated