지연된 프로젝트를 넘겨받을 때 가장 위험한 행동은 곧바로 기능 개발을 다시 시작하는 것입니다. 문서에 적힌 진척률과 실제 실행 가능한 상태는 다를 수 있습니다. 먼저 현재 상태를 재현하고, 무엇을 신뢰할 수 있는지 확인해야 일정과 비용을 다시 계산할 수 있습니다.
인수 첫 단계: 현재 상태 재현
새 팀의 컴퓨터에서 저장소를 내려받고, 문서에 적힌 절차만으로 실행하고, 검수 환경에 배포할 수 있어야 합니다. 여기서 막히는 지점 자체가 인수 위험 목록입니다.
다음 접근 권한을 첫날 확인합니다.
- 소스 저장소와 모든 활성 브랜치
- 클라우드, 서버, DNS, 인증서, CDN 계정
- 개발·검수·운영 데이터베이스와 백업
- 앱스토어, 메시지, 메일, 결제 등 외부 서비스 계정
- 환경변수와 비밀정보의 보관 위치
- 오류 추적, 로그, 모니터링과 배포 기록
접근 권한은 받았다는 확인보다 실제 로그인이 가능한지, 누가 소유자이며 복구 수단은 누구에게 있는지까지 검증해야 합니다.
계약상의 완료와 기술적 완료 분리
기존 산출물에는 완료로 표시됐지만 실제로는 화면만 존재하거나 임시 데이터로 동작하는 기능이 섞여 있을 수 있습니다. 기능별 상태를 완료, 부분 완료, 미착수, 확인 불가로 다시 분류합니다.
완료의 기준도 구체화해야 합니다. 화면이 열리는 것, 정상 시나리오가 동작하는 것, 권한과 예외 처리가 끝난 것, 운영 데이터로 검증된 것은 서로 다른 단계입니다. 기존 계약의 검수 기준과 새 팀이 판단한 기술 상태를 한 표에 나란히 두면 책임 공방과 남은 개발량을 분리할 수 있습니다.
코드 품질보다 실행 경로 우선
초기 코드 리뷰에서 모든 파일을 읽는 것은 효율적이지 않습니다. 사용자에게 중요한 흐름 하나를 골라 화면, API, 데이터베이스, 외부 연동, 배포 설정까지 수직으로 추적합니다.
이 과정에서 확인할 것은 다음과 같습니다.
- 빌드와 테스트가 반복 가능하게 실행되는가
- 환경별 설정이 코드와 분리되어 있는가
- 데이터 구조 변경 이력이 마이그레이션으로 남는가
- 임시 우회 코드와 하드코딩된 값이 핵심 경로에 있는가
- 오류가 사용자에게만 표시되고 서버에는 기록되지 않는 구간이 있는가
- 코드와 실제 운영 버전이 일치하는가
정적 분석 결과나 테스트 커버리지 숫자만으로 정상화 범위를 정하지 않습니다. 사업상 중요한 흐름이 실제로 어디에서 끊기는지가 우선입니다.
별도의 인수 대상인 데이터
코드는 다시 작성할 수 있지만 운영 데이터의 의미와 이력은 복구하기 어렵습니다. 테이블 구조만 보지 말고 데이터가 생성·변경·확정되는 경로를 확인합니다.
- 운영 스키마와 저장소의 마이그레이션이 일치하는가
- 필수값 누락, 중복 식별자, 고아 데이터가 있는가
- 시간대, 통화, 소수점, 상태 코드의 의미가 일관적인가
- 수동 SQL로 보정한 이력과 담당자가 남아 있는가
- 백업이 실제로 복원되는지 시험했는가
운영 데이터에 바로 정리 쿼리를 실행하지 말고, 읽기 전용 진단 결과와 복구 계획을 먼저 만듭니다. 보정이 필요하면 원본 보존, 대상 산출, 검토, 실행, 결과 검증 단계를 분리합니다.
외부 연동과 배포 경계 확인
지연 프로젝트에서는 결제, 인증, 알림, 파트너 API 같은 외부 연동이 테스트 환경에서만 동작하거나 특정 개발자 계정에 묶여 있는 경우가 많습니다. 각 연동마다 계약 주체, 키 소유자, 허용 IP, 호출 한도, 오류 코드, 재처리 방식을 기록합니다.
배포도 실행 파일을 올릴 수 있다는 수준으로 끝나지 않습니다. 직전 버전으로 돌아가는 방법, 데이터 마이그레이션과 애플리케이션 배포 순서, 배포 중 구버전 요청의 처리, 장애 확인 지표가 필요합니다.
정상화 우선순위 재정의
모든 미완료 기능을 동일하게 처리하면 일정이 다시 무너집니다. 다음 순서로 나누는 것이 현실적입니다.
- 데이터 손실, 보안, 결제처럼 즉시 차단할 위험
- 로그인부터 핵심 업무 완료까지의 주요 사용자 흐름
- 배포·로그·백업처럼 변경을 안전하게 만드는 기반
- 운영팀의 수작업을 줄이는 관리자 기능
- 편의 기능과 시각적 개선
각 항목에는 완료 조건, 담당 의사결정자, 선행 작업, 확인 방법을 붙입니다. 추정치는 상태 재현과 핵심 흐름 진단 이후에 제시해야 의미가 있습니다.
인수 기록 필수 항목
좋은 인수 보고서는 문제 목록만 길게 나열하지 않습니다. 의사결정에 필요한 구조를 제공합니다.
- 현재 실행·배포 가능한 버전과 재현 절차
- 자산과 계정의 소유권 및 누락 항목
- 기능별 실제 상태와 근거
- 데이터 무결성 및 복구 가능성
- 즉시 조치할 위험과 임시 통제 방법
- 유지, 수정, 교체할 영역과 선택 이유
- 단계별 일정, 의존성, 검수 기준
- 아직 확인하지 못한 항목과 확인 방법
지연 프로젝트의 정상화는 기존 팀의 잘못을 찾는 작업이 아닙니다. 불확실성을 증거가 있는 상태로 바꾸고, 다시 예측 가능한 개발 흐름을 만드는 작업입니다. 현황 파악 없이 새 납기를 먼저 약속하면 같은 실패가 반복될 가능성이 큽니다.