본문 바로가기
Architecture/AA기본설계요소

AA의 업무는 언제까지인가

by 죄니안죄니 2026. 1. 7.
반응형

이 주제는 **AA를 ‘계속 붙잡아 둘 것인가, 언제 놔줘야 하는가’**라는

SI 현실의 갈등을 정리하는 글이라서, 단계별로 아주 명확하게 선을 그어줘야 한다.


“AA가 SI 프로젝트에서 언제까지 개입해야 하나?”

— 착수·중간·종료 단계별 AA 역할 정리

이 질문에 대한 틀린 답부터 말해보자.

  • ❌ “AA는 프로젝트 끝날 때까지 있어야 한다”
  • ❌ “초기 설계만 하고 빠지면 된다”

둘 다 틀렸다.

정답은 이거다.

AA는 ‘결정이 필요한 시점까지만’ 개입해야 한다.
그 이후는 SA와 개발팀의 영역이다.

그래서 AA의 개입 시점은
프로젝트 단계로 나눠서 봐야 한다.


1️⃣ 착수 단계: AA가 가장 강하게 개입해야 하는 시점 (필수)

⏱ 시점

  • 사업 착수 직후
  • 요구사항 정의/분석 단계
  • 설계가 아직 종이에 있을 때

🎯 이 단계의 핵심 질문

“이 프로젝트에서
나중에 되돌릴 수 없는 결정은 무엇인가?”

이 질문에 답하는 게 AA의 1차 임무다.


✅ 이때 AA가 반드시 해야 할 일

① 구조적 원칙 확정

  • 상태 기반 vs 이벤트 기반
  • 마감/정산의 정의
  • 재고·매출의 진실 원본
  • 수정/재처리 허용 범위

👉 이건 이 시점 아니면 못 정한다.


② 서비스/모듈 경계 확정

  • 판매 vs 재고
  • 정산 vs 리포트
  • 온라인 vs 배치
  • 프론트 vs 백엔드

👉 이 경계가 흐릿하면
중반 이후 구조는 무조건 무너진다.


③ DB “금지선” 설정

  • INSERT ONLY 테이블
  • 직접 UPDATE 금지 영역
  • 트리거 금지 정책

👉 이게 없으면
후반에 운영이 DB를 만지기 시작한다.


📌 이 단계의 산출물

  • 아키텍처 원칙 문서
  • 경계 다이어그램
  • 금지/허용 규칙

👉 SI에서 말하는 ‘AA 역할의 70%’는 여기서 끝난다.


2️⃣ 중간 단계: “판정자”로 제한적 개입 (선택적·간헐적)

⏱ 시점

  • 상세 설계
  • 본격 개발 진행
  • 기능 구현이 쌓이기 시작할 때

이 단계에서 AA가 계속 붙어 있으면 문제가 생긴다.

“왜 아직도 설계 얘기해요?”
“이건 SA가 결정할 문제 아닌가요?”

그래서 역할을 바꿔야 한다.


✅ 이 단계에서 AA의 역할은 딱 이것뿐이다

👉 “이 결정이 초기 원칙을 깨는가?” 판정

개발 중에 반드시 이런 질문이 나온다.

  • “이건 그냥 상태로 처리하면 안 될까요?”
  • “트리거 하나 쓰면 훨씬 쉬운데요?”
  • “이번 기능만 예외로 하면 안 되나요?”

AA는 여기서:

  • 구현 방법 ❌
  • 코드 리뷰 ❌

대신,

“이건 우리가 합의한 구조 원칙을 깨는가?”
→ YES / NO 판정만 한다.


📌 이 단계의 AA 개입 방식

  • 정기 회의 ❌
  • 상주 ❌
  • 이슈 발생 시 호출 ⭕
  • 설계 변경 요청 시 검토 ⭕

AA는 설계의 법원이지
현장의 관리자가 아니다.


3️⃣ 종료 단계: “운영 가능성” 최종 검증 (필수, 짧게)

⏱ 시점

  • 개발 막바지
  • 통합 테스트
  • 운영 이관 직전

여기서 AA가 다시 한 번 등장한다.

하지만 목적은 단 하나다.

“이 구조로
운영팀이 실제로 일할 수 있는가?”


✅ 종료 단계에서 AA가 보는 것

① 숫자 사고 시나리오

  • 재고 안 맞으면 어디서 확인?
  • 마감 후 수정은 어떻게?
  • 과거 데이터 재정산 가능?

② 금지선이 실제로 지켜졌는가

  • 트리거 슬그머니 들어갔나?
  • 상태 플래그로 우회했나?
  • 원본 테이블 직접 수정 가능한가?

③ 운영 언어로 설명 가능한가

  • 이벤트 = 원장
  • 재정산 = 다시 계산
  • 보정 = 이벤트 추가

📌 이 단계의 산출물

  • 운영 시나리오 검증 결과
  • 위험 요소 리스트
  • “이 구조로 운영 가능/불가” 판단

👉 이걸 끝으로 AA의 공식 역할은 종료다.


4️⃣ AA가 “끝까지 붙어 있으면” 생기는 문제

이건 정말 중요하다.

❌ AA가 계속 개입하면

  • SA 권한 약화
  • 개발자 판단력 저하
  • 모든 결정이 AA에게 몰림
  • 일정 지연

AA는 구조를 만드는 사람이지,
프로젝트를 끌고 가는 사람이 아니다.


5️⃣ SI에서 가장 이상적인 AA 개입 곡선

정리하면 이렇다.

 
개입 강도
▲
│   ██████████  ← 착수 (최대)
│        ███    ← 중간 (판정자)
│   ███████     ← 종료 (운영 검증)
│
└─────────────────▶ 시간

6️⃣ 한 문장으로 최종 정리

AA는
‘결정이 필요한 순간에 가장 강하게 개입하고,
결정이 끝나면 가장 빨리 빠져야 하는 역할’이다.

이 기준을 지키면:

  • SA와 충돌하지 않고
  • 개발팀이 자율적으로 움직이고
  • 구조는 끝까지 유지된다
반응형

댓글