[실전 공공 프로젝트 바로 투입~] 🚀 다섯 번째 이야기: 결전의 시간! 시험을 통한 품질 확보와 오픈 리허설 (5개월차: 시험 & 전환 준비)
안녕하세요! 여러분의 든든한 수다쟁이 PM입니다! 👋
지난 4개월간 '구현의 엔진'을 뜨겁게 달렸던 우리 팀! 이제 우리가 만든 시스템이 얼마나 튼튼하고 똑똑한지, 세상에 나갈 준비가 되었는지 직접 확인하는 '결전의 시간'이 다가왔습니다. 이름하여 프로젝트 5개월차, '시험 및 품질 확보' 단계입니다! 🥳
하지만 제가 여러 프로젝트를 겪어보니, 이 단계는 단순히 테스트만 하는 우아한 시간이 아니더군요. (현실은 언제나 드라마틱하죠! 😉) 이전 구현 단계에서 생긴 작은 지연들이 파도처럼 밀려와 여기서 ‘make up’ 해야 하고, 정신없이 테스트를 진행하는 와중에 대망의 '오픈 준비'까지 해야 하는, 그야말로 프로젝트의 모든 압박이 응축되는 '압력솥' 같은 시기입니다. 💥
너무 겁먹지는 마세요! 좋게 생각하면 개발팀에게는 약간의 버퍼가 생기는 마지막 기회이기도 하니까요. 자, 그럼 25주차로 예정된 대망의 오픈을 향해, 한 달간 어떤 일들이 펼쳐지는지 함께 달려가 봅시다!
프로젝트 5개월 차: 모든 길은 '오픈'으로 통한다! (21~24주차)
21주차: 첫 번째 조립! '통합 테스트' 1차 ⚙️
각자 만들었던 레고 블록들을 처음으로 합쳐보는 순간입니다. 따로 있을 땐 완벽했던 블록들이 서로 맞물려 거대한 성이 될 때, 어딘가 삐걱거리진 않는지 확인하는 과정이죠. 이 단계의 주인공은 단연 QA입니다! QA의 주도 아래, 모든 팀이 한 방향을 보고 움직여야 해요.
✨ 수다쟁이PM 찐팁! ✨ 이 단계에서 가장 중요한 건, 우리끼리만 북 치고 장구 치고 하면 안 된다는 거예요. 반드시! 실제 업무를 담당할 '현업 고객'과 사업을 책임지는 '사업담당 고객'을 꼭 참여시키세요. "이 버튼은 왜 여기 있어요?", "이 계산 결과가 이상한데요?" 같은 날카로운 질문들이 쏟아져야 진짜 숨어있는 문제들을 잡을 수 있답니다. 미리 매를 맞는 게 나중에 덜 아파요! 😂
- QA: 명실상부한 이번 주의 지휘자! 👨✈️ '통합 테스트 시나리오'를 기반으로 테스트를 주도적으로 이끌며, 고객들의 테스트 참여를 독려하고 현장에서 가이드합니다. 발견된 결함을 명확하게 등록하고, 개발팀에 전달하여 수정 과정을 추적하는 결함 관리의 마에스트로가 됩니다.
- PM: QA가 테스트를 원활히 진행하도록 지원하고, 고객 참여를 독려하는 역할을 합니다. 고객이 제기한 이슈가 '결함'인지 '추가 요구사항'인지 명확히 판단하고, 후자일 경우 정중하게 범위 관리(Scope Management)에 들어가는 협상의 달인이 되어야죠. 🤼♂️
- PL & 개발팀: QA와 고객이 발견한 결함들을 겸허히(?) 받아들이고 신속하게 수정합니다. 수정 후에는 단위 테스트를 꼭 다시 하고 QA에 재테스트를 요청하는 것이 기본 매너! 다른 모듈과의 연동 문제는 혼자 끙끙 앓지 말고, 관련자들과 커피 한잔하며 머리를 맞대고 풀어봅시다. ☕
- PMO: 결함 관리 시스템의 데이터를 바탕으로 일일/주간 결함 추이 보고서를 작성하여 PM과 고객에게 현황을 공유합니다. "와~ 우리 결함이 줄어들고 있어요!" 같은 긍정적인 데이터를 시각화해서 팀의 사기를 북돋우는 역할도 중요하죠. 📊
<주요 산출물>
- 통합 테스트 시나리오(1차): 고객의 업무 흐름까지 고려한 촘촘한 시나리오.
- 통합 테스트 결과서(1차): 테스트 결과와 함께 고객의 확인 서명을 받아두면 금상첨화!
- 결함 관리 보고서: 우리 시스템이 얼마나 건강해지고 있는지 보여주는 건강검진표!
22주차: 더 넓고 깊게! '통합 테스트' 2차 & '시스템 테스트' 시작 🔍
1차 통합 테스트의 상처(?)를 모두 치유했다면, 이제는 시스템 전체를 하나의 유기체로 보고 테스트하는 '시스템 테스트'에 돌입합니다. 기능은 물론, 숨겨진 속살 같은 성능, 보안, 사용성까지 모두 검증하는 단계죠.
- PM: 시스템 테스트를 최종 승인합니다. 특히 성능이나 보안 테스트는 전문 분야라 우리 팀만으로 부족할 수 있어요. 가급적 외부 전문 인력이나 상용 솔루션을 활용하는 게 오히려 비용과 시간을 아끼는 지름길일 수 있습니다! 물론 사업비가 부족하다면... 😥 방법이 없는 건 아니에요. AI에게 도움을 받아 오픈소스를 활용하는 방법도 충분히 가능합니다. 중요한 건 '어떻게든 요구사항의 기준을 통과 하도록 만든다!'는 의지죠!
- QA: 시스템의 기능/비기능 요구사항을 검증하는 '시스템 테스트 시나리오'에 따라 테스트를 수행합니다. 특히 성능 테스트나 보안 테스트처럼 전문성이 필요한 영역은 PM과 협력하여 외부 리소스를 활용하거나, 오픈소스 도구를 능숙하게 다루며 테스트를 이끌어갑니다.
- PL & 개발팀: 시스템 전체 관점에서 발견되는 까다로운 결함들을 해결합니다. 특히 "느려요!"라는 성능 이슈는 SQL 쿼리 튜닝, 아키텍처 점검 등 깊이 있는 분석이 필요하죠. 개발팀으로서 진정한 실력을 보여줄 때입니다! 💻
- PMO: 전자정부지원사업 사업관리매뉴얼에 의거, 사업 관리의 중요한 근거 자료가 될 테스트 결과 및 결함 데이터를 체계적으로 아카이빙합니다.
<주요 산출물>
- 통합 테스트 시나리오/결과서(2차)
- 시스템 테스트 시나리오/결과서
- 결함 관리 보고서
23주차: D-Day를 위한 작전 지도! '오픈(전환) 계획' 수립 및 리허설 📜
"전쟁은 계획에서 승리하고, 전투에서 확인한다"는 말이 있죠. 시스템 오픈이야말로 한 치의 오차도 없어야 하는 '전쟁'입니다. 오픈 당일, 누가 무엇을 어떻게 할지 분 단위로 쪼갠 작전 지도를 만들고, 실제처럼 리허설을 해보는 단계입니다.
- PM: 오픈(전환) 계획 수립을 총괄하며, 모든 이해관계자를 모아 리뷰하고 최종 승인을 받습니다. 리허설은 최소 2회 이상! 실패했다면 성공할 때까지! 를 외치며 팀을 독려하는 카리스마를 보여줍니다.
- PL & 개발팀: 실제 운영 환경에 시스템을 배포하는 스크립트를 작성하고, 데이터 이관 절차를 기술적으로 검증합니다. 리허설의 주인공으로서, 땀 흘리며 실제 상황처럼 절차를 수행합니다.
- QA: 리허설이 계획서대로 수행되는지 매의 눈으로 지켜보며 절차상의 문제점을 기록하고 개선을 요구합니다. "이때 연락이 안 되면 어떡하죠?" 같은 꼼꼼한 질문은 필수!
- PMO: PM을 도와 '상세 오픈 절차서'를 시각화하여 모든 참여자가 자신의 역할을 명확히 인지할 수 있도록 돕습니다.
<주요 산출물>
- 이행 계획서(전환 계획서): 공공정보화사업 단계별 사업관리 가이드에서 강조하는 핵심 산출물! 여기에는 전환 목표 및 범위, 상세 일정, 담당자별 역할과 책임(R&R), 시스템 배포 및 데이터 이관 절차, 예상 문제 발생 시를 대비한 비상 계획(Rollback Plan), 그리고 비상 연락망 등 오픈에 필요한 모든 것을 담은 종합 계획서입니다.
- 상세 오픈 절차서 (Timeline): 오픈 당일, PM의 지휘 아래 모든 팀원이 일사불란하게 움직일 수 있도록 만드는 분 단위 행동 지침서!
24주차: 최종 관문! '인수 테스트' & 산출물 총점검 ✅
드디어 프로젝트의 주인인 '사용자(발주기관)'가 직접 시스템을 검수하는 마지막 시험, '인수 테스트'입니다. 사용자가 "OK!" 사인을 줘야만, 우리는 비로소 이 긴 여정의 마침표를 찍을 수 있습니다.
- PM: 인수 테스트 시작을 공식 선언하고, 고객 옆에 거의 상주하며 발생하는 모든 질문과 이슈에 직접 대응합니다. 테스트 완료 후, '인수 확인서'에 최종 서명을 받기 위해 그동안 쌓아온 모든 친화력과 신뢰를 총동원합니다. 🙏
- QA: 사용자가 인수 테스트를 원활히 진행할 수 있도록 1:1 과외 선생님처럼 현장에서 직접 가이드하며 지원합니다.
- PL & 개발팀: 인수 테스트 중 발견된 결함은 '묻지도 따지지도 않고' 최우선으로 즉시 수정합니다. 속도는 생명!
- PMO: 시험 단계에서 생성된 모든 산출물을 최종 검토하고, 최종 검수 제출을 위해 완벽한 상태로 정리합니다.
<주요 산출물>
- 인수 테스트 시나리오/결과서
- 최종 결함 관리 보고서
<수다쟁이PM의 Know-How!💎>
- 리허설은 최대한 많이 하세요! 제가 장담하는데, 리허설을 아무리 완벽하게 했어도 오픈 당일에는 상상도 못 한 문제가 꼭 터지거든요. 사전에 충분한 리허설을 해놔야 그나마 예상 범위 안에서 우아하게(?) 대처하며 약간의 여유라도 가질 수 있습니다.
- 오픈과 관련된 업체들은 최종 리허설에서는 꼭 참석시키세요. 오픈 당일에는 분명 여러 업체들과 사람들로 인해서 우왕좌왕하게 됩니다. 오픈 당일에 지원 나오는 실제 사람들로 최종 리허설에 참석시켜서 오픈 당일을 대비하세요~
<수다쟁이 PM의 AI 활용 꿀팁!> 🤖
복잡한 테스트 단계, AI에게 도움을 요청해 보세요!
- AI 기반 테스트 시나리오 확장: 요구사항 정의서를 AI에게 학습시킨 후, "사용자가 실수할 만한 엣지 케이스(Edge Case) 시나리오 10가지를 추천해줘"라고 요청해 보세요. 사람이 미처 생각하지 못한 테스트 케이스를 확보하여 품질을 높일 수 있습니다.
- AI 로그 분석으로 성능 병목 찾기: 성능 테스트 후 발생하는 방대한 서버 로그를 AI에게 분석시켜 보세요. "응답 시간이 5초 이상 걸린 트랜잭션들의 공통적인 패턴을 찾아줘" 와 같이 요청하면, 성능 저하의 원인을 훨씬 빠르게 찾아낼 수 있습니다.
- AI와 함께 오픈소스 활용하기: "오픈소스 부하 테스트 도구인 JMeter 설치부터 기본 스크립트 작성 방법까지 단계별로 알려줘" 와 같이 요청하여, 부족한 예산 속에서도 전문가처럼 시스템 테스트 환경을 구축하고 실행하는 데 도움을 받을 수 있습니다.
자, 이렇게 숨 가쁘게 5개월 차를 달려왔습니다. 이제 우리 시스템은 수많은 검증을 거쳐 품질이라는 갑옷을 단단히 챙겨 입었습니다. 다음 이야기에서는 드디어 이 시스템을 세상에 내보내는, 가장 떨리고 감격적인 순간! '시스템 오픈과 안정화' 과정을 함께하겠습니다.
기대해주세요!
Peace out~! ✌️😎