소프트웨어 개발 산출물의 이해

1. 산출물의 정의

소프트웨어 개발 프로젝트, 특히 RPA 프로젝트를 진행하면서 다양한 산출물들이 만들어집니다. 이러한 산출물은 요구사항 정의서, 설계도, 코드 등으로 구성되며, 개발 조직 내부의 이해관계자들 간 의사소통을 위해 문서화됩니다. 다시 말해, 산출물은 소프트웨어 개발 프로세스와 관리의 주요 매체로서 프로젝트 내의 이해관계자 간 의사소통을 돕습니다. IEEE의 SWEBOK Project에서는 이를 "개발된 소프트웨어와 소프트웨어 개발 중 또는 유지보수에서 사용되는 모든 사항"으로 정의하고 있습니다.

2. WBS(Work Breakdown Structure)

작업분류체계(WBS)는 프로젝트의 전체 범위를 체계적으로 구성하고 정의하는 방법입니다. 미국 프로젝트 관리 협회(PMI)는 이를 "프로젝트 요소인 산출물 중심의 분류 체계"로 정의합니다. 최종 결과물 또는 요소 작업을 체계적으로 구분하고 정의하여, 프로젝트 전 업무를 계층적으로 분할합니다. WBS는 프로젝트의 목표물과 구성 요소를 피라미드 형태로 계층적으로 표현하여, 최하위 단계의 작업 활동까지 규명하여 상위 요소와 연계시킵니다. 이를 통해 계획과 관리를 위한 계층적 구조체계를 제공합니다. WBS의 주요 기능은 다음과 같습니다:

  • 프로젝트 목표를 달성하기 위한 모든 작업 정의
  • 최종 생산물(Hardware, Software)로 구성
  • 관리업무(Level-of-Effort) 포함
  • 프로젝트 내 작업 누락 및 중복 방지
  • 프로젝트 매니저와 참여자 간의 공통 언어 역할
  • 프로젝트 원가 및 일정 관리의 기본 도구 제공
  • 프로젝트 원가와 일정의 연계성 측정
  • 프로젝트 진행 중 계획/실적/변경의 체계적 관리
  • 품질 및 위험의 체계적 계획 및 추적 관리

산출물의 분류

1. MaRMI-III 개발방법론의 산출물

MaRMI-III 개발방법론은 한국전자통신연구원(ETRI)에서 개발한 CBD 기반 소프트웨어 개발방법론입니다. 이 방법론은 총 4개의 공정과 30개의 활동으로 구성되며, 각 활동들은 약 100개의 입력 및 출력 산출물을 포함합니다. MaRMI-III 개발방법론에서 제시하는 산출물 지침에 따라 프로젝트를 수행하면, 내외부 이해관계자 간의 커뮤니케이션이 원활해집니다. 각 단계에서 세부 작업과 산출물 작성에 참여해야 하는 이해관계자들을 지침합니다.

2. 객체지향 및 CBD(Component-based software) 산출물

한국정보화진흥원은 “CBD SW개발 표준 산출물 가이드”를 통해 객체지향 및 CBD 개발의 분석, 설계, 구현, 시험 단계별 산출물을 제시하였습니다. 총 25개의 필수 산출물은 산출물 간 체계를 정립하고 연관성을 확보하여 방법론의 일관성, 완전성 및 추적성을 유지합니다.

3. 주요 산출물의 세부정의

분석 단계

  • 요구사항 정의서: 개발자가 의뢰인의 요구를 정리한 문서입니다. 이 단계에서 의뢰인과 개발자의 합의가 필요합니다.
  • 기능차트: 요구 분석을 토대로 내용을 시각적으로 정리한 문서입니다.
  • 정의서: 업무 프로세스 및 인터페이스 등 프로젝트 전반에 필요한 정의를 내린 문서입니다.

설계 단계

  • UI(화면) 설계서: 사이트 맵 및 화면 시나리오 등의 웹 기획 문서입니다.
  • ERD: 데이터베이스와 테이블 간의 관계를 표현하는 문서입니다.
  • 테이블 목록: 데이터베이스 테이블을 문서화한 목록입니다.
  • 프로그램 목록: 개발에 사용될 프로그램 목록입니다.
  • 개발표준 정의서: 소스 코드 규칙 등을 정의한 문서입니다.
  • 테스트 시나리오: 테스트 항목을 정의한 문서입니다.

개발 단계

  • 소스코드: 개발 완료된 코드입니다.
  • 테스트 결과서: 테스트 시나리오에 따라 수행한 결과를 정리한 문서입니다.
  • 결함/오류 보고서: 테스트에서 발견된 문제점을 정의한 문서입니다.
  • 오류코드 정의서: 오류 코드를 정리한 문서입니다.
  • 시스템 이행 계획서: 시스템 이행 계획을 정리한 문서입니다.

시험 단계

  • 시스템 이행 결과서: 시스템 이행 결과를 확인하는 문서입니다.
  • 사용자 매뉴얼: 기능 사용 설명서입니다.
  • 운영자 매뉴얼: 관리자 시스템 사용 설명서입니다.
  • 교육 명세서: 교육 관련 명세서입니다.
  • 개발 산출물별 검사 리스트: 산출물 확인 리스트입니다.
  • 프로젝트 완료 보고서: 프로젝트 최종 보고서입니다.

산출물 표

단계 코드 산출물
분석 R1 사용자 요구사항 정의서
분석 R2 유스케이스 명세서
분석 R3 요구사항 추적표
설계 D1 클래스 설계서
설계 D2 사용자 인터페이스 설계서
설계 D3 컴포넌트 설계서
설계 D4 인터페이스 설계서
설계 D5 아키텍처 설계서
설계 D6 통합설계 계획서
설계 D7 시스템 설계 시나리오
설계 D8 엔터티 관계 모델 기술서
설계 D9 데이터베이스 설계서
설계 D10 통합시험 시나리오
설계 D11 단위시험 케이스
설계 D12 데이터 전환 및 초기 데이터 설계서
구현 I1 프로그램 코드
구현 I2 단위시험 결과서
구현 I3 데이터베이스 테이블
시험 T1 통합시험 결과서
시험 T2 성능시험 결과서
시험 T3 사용자 검증서
시험 T4 시험계획서
시험 T5 시스템 설치 결과서
시험 T6 인수시험 시나리오
시험 T7 인수시험 결과서