이해관계자 인터뷰·비기능 요구 정리·컴포넌트 분리로 시스템 설계결
요구 분석에서 제가 제일 먼저 하는 것은 이해관계자 인터뷰입니다. 사용자, 운영 팀, 개발 팀이 같은 기능에 대해 다른 기대를 갖는 경우가 많습니다. 각 관점을 별도로 수집하고 나서 겹치는 부분과 충돌하는 부분을 정리합니다.
기능 요구사항과 함께 비기능 요구사항도 초기에 명확히 합니다. 응답 시간, 처리량, 장애 허용 범위 같은 조건이 나중에 추가되면 설계를 크게 바꿔야 하는 경우가 생깁니다. 성능 요구와 신뢰성 요구를 요구 분석 단계에서 같이 잡으면 아키텍처 선택이 훨씬 명확해집니다.
아키텍처 설계에서는 컴포넌트 간 의존성을 최소화하는 방향을 씁니다. 한 컴포넌트의 변경이 다른 곳에 연쇄로 영향을 주면 유지보수가 어렵습니다. 인터페이스로 분리하고 내부 구현은 교체 가능하게 설계하는 것이 장기적으로 안정적인 시스템을 만드는 방법입니다.