공공 정보화 사업, 성공적인 테일러링과 체계적인 산출물 관리 비법 (feat. 폴더 및 네이밍 규칙)
안녕하세요, 여러분의 든든한 수다쟁이PM입니다! 👋
오늘은 공공 정보화 사업에서 프로젝트의 성공을 좌우하는 중요한 요소 중 하나인 '테일러링(Tailoring)'에 대해 이야기해보고자 합니다. 특히 PM, PMO, QA 역할을 수행하시는 분들께 실질적인 도움이 될 수 있도록, 테일러링의 개념부터 실제 산출물 관리 시 필요한 폴더 생성 및 네이밍 규칙까지 자세히 다뤄볼게요.
참고로 오늘 제가 드릴 이야기는 NIPA의 'SW단계별 발주 가이드'와 NIA '전자정부지원사업 사업관리매뉴얼' 같은 공공 사업의 공식 가이드라인(룰북)을 기반으로, 현장에서의 경험을 더해 풀어나가는 내용이랍니다! 💡
그럼, 본격적인 테일러링에 앞서 '사업관리 방법론'부터 알아볼까요? 🧐
프로젝트를 성공적으로 이끌기 위해서는 명확한 나침반 역할을 할 '사업관리 방법론'이 필수적입니다. 이 방법론은 프로젝트의 시작부터 끝까지, 어떻게 계획하고 실행하며 통제할 것인지에 대한 큰 그림을 제공하죠. 사업관리 방법론에 대해서는 사업관리 방법론! 개발 방법론! 에 아주 잘 정리되어 있으니, 해당 내용을 먼저 참고하시면 이해에 큰 도움이 될 거예요!
공공기관에서는 자체적인 방법론이 없다면, 바로 위에서 언급한 NIA의 '전자정부지원사업 사업관리매뉴얼'을 기반으로 사업관리 방법론을 적용하는 것이 일반적입니다. 대부분의 방법론이 그러하듯 '전자정부지원사업 사업관리매뉴얼' 역시도 여러 가지 프로젝트에서 두루 사용할 수 있도록 만들어졌기 때문에 우리가 지금 진행하고 있는 프로젝트에는 딱 알맞지 않을 수 있어요. 그렇기 때문에 테일러링이라는 단계를 거쳐서 우리의 프로젝트에 딱 알맞게 재단(테일러링)을 하는 것이죠~ ✂️
1. 공공 정보화 사업, 왜 테일러링이 중요할까요?
'테일러링'이란 사전적 의미처럼 '재단하다', 즉 표준적인 프로세스나 방법론을 특정 프로젝트의 특성과 상황에 맞게 최적화하고 조정하는 것을 의미합니다. 소프트웨어 개발 표준 프로세스는 "소프트웨어 산업진흥법 제23조에 따르는 '소프트웨어 프로세스 품질인증 기준'에 따라서 규정될 수 있다"고 명시되어 있습니다. 그러나 모든 프로젝트에 획일적인 기준을 그대로 적용하기는 어렵죠.
특히 공공 정보화 사업은 다음과 같은 고유한 특성 때문에 테일러링이 필수적입니다.
- 복잡한 이해관계: 다양한 부처, 유관기관, 국민 등 복잡한 이해관계자들이 얽혀 있어 의사소통 및 요구사항 관리가 까다롭습니다.
- 엄격한 규제 및 법률 준수: "국가를 당사자로 하는 계약에 관한 법률" 등 다양한 법령과 지침을 준수해야 하며, "전자정부지원사업 사업관리 매뉴얼"과 같은 구체적인 가이드라인이 존재합니다.
- 정해진 예산과 기간: 한정된 예산과 명확히 정해진 사업 기간 내에 사업을 완료해야 하는 제약이 있습니다.
- 보안 및 안정성 중시: 대국민 서비스인 경우가 많아 "전자정부 보안 및 개인정보보호 대책" 등 높은 수준의 보안성과 안정성이 요구됩니다.
- 표준 프레임워크 활용: 전자정부 표준 프레임워크 등 표준화된 환경을 기반으로 개발되는 경우가 많습니다.
이러한 특성을 고려하지 않고 무조건적인 표준 프로세스 적용은 오히려 비효율을 초래하고 프로젝트 실패 위험을 높일 수 있습니다. 프로젝트의 규모, 특성, 예산, 기간, 참여 인력의 역량 등을 종합적으로 고려하여 가장 효율적이고 효과적인 방식을 찾아 적용하는 것이 바로 테일러링의 핵심입니다.
2. 테일러링 단계에서 고려할 사항
성공적인 테일러링을 위해서는 다음 사항들을 고려해야 합니다.
- 요구사항 분석의 심화: 사업의 "개념 및 요구사항을 상세화"하고 "필요한 제도 및 기술을 검토"하는 과정이 중요합니다. "11개 유형별 상세 요구사항 작성 가이드"와 같은 자료를 활용하여 요구사항을 명확히 정의합니다.
- 단계별 프로세스 정의: "SW단계별 발주 가이드"처럼 각 단계에 맞는 "수·발주 표준 프로세스"를 정의하고, 사업의 특성에 따라 생략하거나 통합할 단계를 결정합니다.
- 산출물 범위 및 수준 결정 (⭐핵심 중의 핵심!⭐): 프로젝트에서 생산될 산출물의 종류와 세부 수준을 명확히 하는 것이야말로 테일러링의 가장 중요한 부분이라고 할 수 있습니다! 🎯 저 수다쟁이 PM도 이 부분에 격하게 동의합니다! 👏 불필요한 산출물은 '문서 작성을 위한 문서 작성'이라는 함정에 빠지게 하고, 이는 곧 과도한 문서 작업으로 이어져 개발 리소스 낭비와 비효율을 야기하거든요. 반대로 필요한 산출물이 누락되면 나중에 감리나 유지보수 시 큰 문제가 될 수 있습니다. 프로젝트의 특성에 맞춰 '어떤 문서를 만들고, 어디까지 상세하게 만들 것인가'를 명확히 정의하는 것이 성공적인 프로젝트의 시작이자 끝이랍니다! 💡
- 역할 및 책임 명확화: 각 단계별 참여 주체(발주기관, 수행사업자, 감리 등)의 역할과 책임을 명확히 정의합니다. "프로젝트 보고 및 산출물" 등 정기적인 보고 체계를 구축하는 것이 중요합니다.
3. 효율적인 산출물 관리를 위한 폴더 생성 및 네이밍 규칙
테일러링을 통해 확정된 산출물은 체계적으로 관리되어야 합니다. 특히 공공 사업은 프로젝트 종료 후에도 감사, 유지보수, 인수인계 등을 위해 산출물이 장기간 보관되므로, 명확한 관리 규칙이 필수적입니다.
3.1. 폴더 생성 규칙 (계층형 구조)
프로젝트 전반의 라이프사이클을 반영하여 직관적이고 표준화된 폴더 구조를 제안합니다. 아래의 폴더구조는 기본적인 공공SW개발사업의 CBD 방법론이 적용된 예시화면 입니다.(적용 방법론 및 프로젝트의 특성에 따라서 폴더 구조는 달라져야 합니다. 이게 테일러링의 핵심이죠!)
[프로젝트명]_YYYYMMDD_[발주처명]_[수행사명]
├── 01. 계획 (Planning)
│ ├── 01.01 사업계획 (Project Plan)
│ ├── 01.02 WBS (Work Breakdown Structure)
│ └── 01.03 자원관리 (Resource Management)
├── 02. 분석 (Analysis)
│ ├── 02.01 현황 분석 (As-Is Analysis)
│ ├── 02.02 요구사항 정의 (Requirements Definition)
│ │ ├── 02.02.01 기능 요구사항
│ │ ├── 02.02.02 비기능 요구사항
│ │ └── 02.02.03 요구사항 추적성 매트릭스
│ └── 02.03 업무 프로세스 재설계 (To-Be Process Design)
├── 03. 설계 (Design)
│ ├── 03.01 시스템 아키텍처 설계 (System Architecture Design)
│ ├── 03.02 데이터베이스 설계 (DB Design)
│ ├── 03.03 화면 설계 (UI/UX Design)
│ ├── 03.04 프로그램 설계 (Program Design)
│ └── 03.05 인터페이스 설계 (Interface Design)
├── 04. 구현 (Implementation)
│ ├── 04.01 소스코드 (Source Code)
│ ├── 04.02 개발 환경 설정 (Dev Environment Setup)
│ └── 04.03 단위 테스트 (Unit Test)
├── 05. 시험 (Testing)
│ ├── 05.01 통합 테스트 (Integration Test)
│ ├── 05.02 시스템 테스트 (System Test)
│ ├── 05.03 성능 테스트 (Performance Test)
│ ├── 05.04 사용자 인수 테스트 (UAT)
│ └── 05.05 테스트 결과 보고서
├── 06. 전환 및 운영 (Transition & Operation)
│ ├── 06.01 데이터 전환 (Data Migration)
│ ├── 06.02 시스템 오픈 (System Open)
│ ├── 06.03 사용자 교육 (User Training)
│ └── 06.04 운영 매뉴얼 (Operation Manual)
└── 07. 관리 (Management)
├── 07.01 품질 관리 (Quality Management)
├── 07.02 형상 관리 (Configuration Management)
├── 07.03 위험 관리 (Risk Management)
├── 07.04 변경 관리 (Change Management)
├── 07.05 주간/월간 보고 (Weekly/Monthly Report)
└── 07.06 회의록 (Meeting Minutes)
폴더 생성 시 유의사항:
- 숫자 접두사: 폴더명 앞에 숫자를 붙여 순서를 명확히 합니다.
- 직관적인 이름: 해당 폴더의 내용이 무엇인지 바로 알 수 있도록 명확하고 간결한 이름을 사용합니다.
- 다국어 지원 (선택): 영문명을 병기하여 글로벌 협업이나 외주 개발 시 혼란을 방지할 수 있습니다.
- 버전 관리: 주요 단계 완료 시 전체 폴더 구조를 복사하여 백업하거나, 형상 관리 시스템을 적극 활용합니다.
3.2. 산출물 네이밍 규칙
산출물은 단순히 파일명만으로도 해당 문서의 프로젝트, 단계, 종류, 버전 등을 파악할 수 있도록 체계적인 규칙을 적용합니다.
추천 형식: [프로젝트약어]_[단계코드]_[문서종류코드]_[세부내용]_[버전]_[작성일자]_[작성자약어].확장자
예시:
- PRJ_PL_PM_V1.0_20250627_KIM.docx
- PRJ: 프로젝트 약어 (예: 전자정부지원사업의 경우 'EGOV', 특정 사업명 약어)
- PL: 단계 코드 (PL: 계획, AN: 분석, DE: 설계, IM: 구현, TE: 시험, TR: 전환, OP: 운영, MA: 관리)
- PM: 문서 종류 코드 (PM: 프로젝트 관리, RE: 요구사항 정의, SD: 시스템 설계, DD: 데이터 설계, UI: 화면 설계, TC: 테스트 케이스, TR: 테스트 결과, UM: 사용자 매뉴얼, OM: 운영 매뉴얼, MM: 회의록 등)
- V1.0: 버전 정보 (자세한 규칙은 아래 '버전 규칙' 참조)
- 20250627: 작성 또는 최종 수정일자 (YYYYMMDD)
- KIM: 작성자 이니셜 또는 약어
- .docx: 파일 확장자
네이밍 규칙 유의사항:
- 일관성 유지: 모든 팀원이 동일한 규칙을 따르도록 교육하고 강제합니다.
- 버전 관리의 중요성: "산출물 검토 및 검증" 단계에서 특히 버전 관리는 필수적입니다. 변경 이력을 명확히 남겨 혼란을 방지합니다.
- 간결성과 정보성: 너무 길지 않으면서도 핵심 정보를 담도록 합니다.
- 특수문자 사용 지양: 파일명에 한글, 공백, 특수문자 사용을 최소화하여 시스템 호환성 문제를 예방합니다.
3.3. 산출물 '버전 규칙' 똑똑하게 정하기! 🚀
산출물의 버전 관리는 '언제든 과거로 돌아갈 수 있는 타임머신'이자, '변경 이력을 한눈에 보여주는 투명 유리창' 같은 중요한 역할이에요. 🔍 특히 공공 사업에서는 감사와 인수인계를 위해 더 철저해야 하죠!
명확한 버전 규칙으로 혼돈을 방지하고, 프로젝트의 투명성과 안정성을 확보해 보세요! 😉
- V0.x (작업 중, 초안 단계): 삐빅! 아직 작업 중입니다~ 🚧
- 문서의 초기 작성이나 내부 검토가 활발할 때 사용해요. V0.1, V0.2처럼 소수점 뒤 숫자를 올려주세요. 아직 외부에 보여주기엔 살짝 부끄러운(?) 상태랍니다. 😉
- V1.0 (최종 확정, 공식 등판!): 짜잔! 고객에게 제출하는 최종 산출물 버전! 🏁
- 해당 문서가 최종적으로 확정되어 고객에게 제출하거나 공식 승인을 받는 시점에 부여하는 '마스터 버전'이에요. 👑 이 버전부터는 변경 이력을 꼼꼼히 기록해야 해요.
- 1.0 이후 버전 (운영 중, 변경 관리 단계): 업그레이드는 계속된다! ⬆️
- V1.x (마이너 업데이트): V1.0 이후, 경미한 내용 변경이나 오탈자 수정 등 가벼운 업데이트일 때 사용해요 (예: V1.1, V1.2). 마치 앱의 버그 수정 패치 같죠? 🐞
- V2.0, V3.0... (메이저 업데이트): 문서 내용이 대폭 변경되거나, 사업 범위가 확장되는 등 중대한 변화가 있을 때 사용해요. 마치 새로운 시즌 시작처럼요! 💥 (예: V2.0)
버전 관리 시스템(VCS) 활용: 소스코드뿐만 아니라 문서 산출물도 Git과 같은 똑똑한 버전 관리 시스템(DVCS)이나 SVN을 활용하여 관리하는 것이 요즘 트렌드예요! 💻 이를 통해 누가, 언제, 무엇을, 왜 변경했는지에 대한 명확한 기록을 남길 수 있답니다.
4. 결론: PM/PMO/QA의 역할 – 특히 QA의 주도적인 역할!
테일러링과 체계적인 산출물 관리, 그리고 견고한 버전 관리는 단순히 서류 작업을 넘어, 프로젝트의 성공적인 목표 달성과 품질 확보에 직결되는 중요한 활동입니다.
- PM/PMO: 프로젝트의 전반적인 방향을 설정하고, 이해관계자 간의 조율을 통해 테일러링의 큰 틀을 마련합니다. 산출물 관리와 버전 관리의 중요성을 팀원들에게 인지시키고, 필요한 자원과 환경을 지원하여 효율적인 프로세스가 운영되도록 돕습니다. "전자정부지원사업 사업관리매뉴얼" 같은 표준 가이드를 숙지하고 프로젝트에 맞게 적용하는 것은 PM/PMO의 핵심 역할입니다.
- QA: 프로젝트의 품질 전문가로서 테일러링 단계에서부터 주도적인 역할을 수행해야 합니다. 특히 산출물의 품질 기준과 범위, 그리고 산출물 명세(네이밍, 포함 내용 등)에 대한 가이드라인을 수립하는 데 있어 QA가 핵심적인 리더십을 발휘해야 합니다. QA는 "품질 관리"의 관점에서 산출물과 프로세스가 프로젝트 특성에 맞게 최적화되고 검증 가능한 형태로 정의되도록 이끌어야 합니다. 이러한 명확한 기준과 근거를 QA가 주도적으로 만들었기 때문에, 추후 감리 대응 시에도 QA가 프로젝트의 산출물과 프로세스 적정성을 가장 잘 설명하고 방어할 수 있는 주체가 됩니다. QA는 수립된 테일러링 기준이 잘 지켜지는지, 산출물 관리 규칙에 따라 문서가 정확하고 완전하게 작성되고 있는지, 그리고 버전 관리가 체계적으로 이루어지고 있는지 검토하고 피드백을 제공하여, 최종적인 시스템 품질을 보증하는 데 결정적인 역할을 수행합니다.
이러한 노력들이 모여 공공 정보화 사업이 더욱 투명하고 효율적으로 추진될 수 있습니다. 다음번에는 더 유익한 정보로 찾아오겠습니다!
'기본기 탄탄' 카테고리의 다른 글
감리 대응 필승법 (감리는 공동운명체!) (1) | 2025.07.02 |
---|---|
위험 및 이슈관리, PM의 심장을 쫄깃하게 만드는 '지뢰찾기'!💣 (3) | 2025.06.30 |
PM도 알아야 하는 개발 상식 깨알톡: JAVA 기반 프레임워크! (Spring, Spring Boot, 전자정부 표준 프레임워크) 🚀 (7) | 2025.06.13 |
쳇GPT(LLM) 파헤치기: 인공지능(AI)이 이렇게 똑똑해진 비밀! 🕵️♀️ (7) | 2025.06.12 |
사업관리 방법론? 개발 방법론? 도대체 방법론이 뭔데? PM의 나침반! 🧭 (6) | 2025.06.08 |