• 검색 결과가 없습니다.

소프트웨어 설계사업과 구현사업의 노력 분포 분석

N/A
N/A
Protected

Academic year: 2022

Share "소프트웨어 설계사업과 구현사업의 노력 분포 분석"

Copied!
10
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

소프트웨어 설계사업과 구현사업의 노력 분포 분석

김 우 제

*†

, 김 소 영

**

*서울과학기술대학교, 산업공학과

**서울과학기술대학교, 기초교육학부

Analysis on effort distribution for a software design project and a software implementation project

Woo-Je Kim

*

, Soyoung Kim

**

*

Department of Industrial Engineering, Seoul National University of Science and Technology, Seoul, Korea

**

School of Liberal Arts, Seoul National University of Science and Technology, Seoul, Korea

(Received : Jan. 29, 2021, Revised : Feb. 22, 2021, Accepted : Mar. 15, 2021)

Abstract : The purpose of this paper is to analyze the effort distribution of a software design project and a software implementation project to determine the cost of the software design project and the cost of the software implementation project. To this end, we first analyzed the software engineering characteristics and established the basic concept of determining the effort distribution for the software design project and the software implementation project. Next, we analyzed the effort distribution data from the overseas literature survey, effort analysis data by ISBSG data, effort distribution data from the software project repository, and additional survey data comprehensively. Finally, we developed the final effort distribution for the software design project and the software implementation project.

Keyword : Effort distribution, Software project, Design project, Implementation project

1. 서 론

1)

소프트웨어 개발 단계는 요구사항 분석(Requirement Analysis), 설계(Design), 구현(Implementation), 테스트 (Test), 배포(Deployment)의 단계로 구성된다. 소프트웨 어 개발 단계별 노력 분포(Effort Distribution)라는 것은 각 개발 단계별로 노력(Effort)이 얼마나 소요되는지를 측 정하여 각 개발 단계별 비중을 산정한 결과이다. 즉, 소프 트웨어 개발 각 단계에서 노력 분포를 산정한다는 의미는 소프트웨어 개발 각 단계에서 노력의 비중을 각 단계별로 산출한다는 의미이다. 여기서 각 단계별 노력은 통상적으

Corresponding Author 성 명 : 김 우 제

소 속 : 서울과학기술대학교 산업공학과

주 소 : 서울 노원구 공릉로 232 서울과학기술대학교 전 화 : 02-970-6449

E-mail : [email protected]

로 공수(Man-Month)로 측정될 수 있다. 소프트웨어 개 발 프로젝트에서 각 단계 또는 활동별 노력 분포에 대한 정보는 소프트웨어 공학적으로 매우 중요한 정보이다. 해 외에서는 소프트웨어 개발 프로젝트의 각 단계별 노력 분 포에 관한 조사가 연구되었다. 해외 소프트웨어 개발 단 계별 노력 분포에 대한 연구로는 Papatheocharous(2017), Sommerville(2015), Safavi(2011), Yang(2008), Boehm(2008), Heijstek(2007), Zelkowitg(1978)등이 기존 소프트웨어 사업의 데이터를 분석하여 소프트웨어 개발 단계별 노력 분포에 대한 연구를 발표하였다 [1,2,6,10,11,12]. 그러나 국내에서는 소프트웨어 개발 프 로젝트에 대한 각 단계별 노력 분포에 관한 연구는 소프 트웨어 사업대가 기준의 각 단계별 대가 분포는 제시되어 있으나, 기존 소프트웨어 사업 데이터를 기반으로 하여 분석한 소프트웨어 개발 단계별 노력 분포에 대한 연구는 미진한 실정이다. 이에 국내 소프트웨어 개발 프로젝트에 대한 개발 단계별 노력 분포에 대한 연구가 필요한 실정 이다.

2020년 새로 개정된 소프트웨어 진흥법에는 소프트웨

(2)

어 사업을 소프트웨어 설계 사업과 소프트웨어 구현사업 으로 나누어 발주하는 소프트웨어 분할 발주의 개념이 포 함되어 있다. 소프트웨어 분할 발주는 소프트웨어 사업을 원활히 진행하고 계약목적물의 품질을 높이기 위하여, 하 나의 소프트웨어 사업에 대하여 요구사항을 분석하고 설 계하는 사업을 발주한 후, 그 결과를 토대로 소프트웨어 를 개발하는 사업을 발주하는 것을 의미한다. 여기서 요 구사항을 분석하고 설계하는 사업을 설계사업(Design Project)으로 정의하며, 소프트웨어를 개발하는 사업을 구 현사업(Implementation Project)으로 정의한다. 설계사 업은 소프트웨어 수명 주기상에서 요구사항분석과 기본설 계까지의 업무를 포함하며, 구현사업은 소프트웨어 수명 주기상에서 상세설계부터 구현, 시험 및 배포까지의 업무 를 포함한다 [13,14].

이러한 소프트웨어 분할 발주를 추진하기 위해서는 설 계사업과 구현사업에 대한 사업 대가를 산출할 수 있어야 한다. 이를 해결할 방법의 하나가 현재의 사업 대가를 설 계사업과 구현사업으로 나누어서 각각의 사업 대가를 산 정하는 방법이 있다. 즉, 설계사업과 구현사업에 대한 노 력 분포를 산출하여 이의 비중으로 소프트웨어 사업 대가 를 나누어 설계사업과 구현사업의 사업 대가를 산정할 수 있다.

따라서 본 연구의 목적은 소프트웨어 분할 발주의 설 계사업과 구현사업의 대가를 산정하기 위하여 소프트웨어 설계사업과 소프트웨어 구현사업의 노력에 대한 비중을 산정하여 각각 사업의 노력 분포를 산정하는 것이다.

본 논문은 소프트웨어의 생명주기 상의 각 단계별 노 력 분포를 산정하여 설계사업과 구현사업의 노력 비중을 산정하는 것으로, 본 논문의 구성은 다음과 같다. 2장에 서는 연구배경과 연구 프레임워크에 대하여 설명하였고, 3장에서는 국내외 자료에 대한 자료 분석을 실시하였고, 4장에서는 설계사업과 구현사업의 노력비중을 산정하는 방법에 관해 기술하며, 5장에서는 결론 및 추후 연구 방 향에 대해 제시하였다.

2. 연구배경 및 연구 프레임워크

2.1 설계사업과 구현사업

조달청과 소프트웨어정책연구소의 연구에 따르면 설계 사업은 요구사항분석, 요구사항 명세화, 제안요청서 작 성, 기능점수산정, 기본설계 등의 세부 프로세스를 포함하 며, 구현사업은 상세설계, 구현, 테스트, 배포 등의 세부 프로세스를 포함한다 [13,14].

본 논문에서는 설계사업과 구현사업의 노력 분포를 구 하는 것이 목표이다. 그런데 SEBOK(Systems Engineering Body of Knowledge)에 따르면 소프트웨 어는 복잡성(Complexity), 순응성(Conformity), 변경가 능성(Changeability), 비가시성(Invisivility), 시간 제약성 (Time Constraints), 예산 제약성(Budget Constraints), 보안성(Security) 등의 특성을 가지고 있다 [9]. 이 중 변 경가능성은 사용자 요구나 사용자의 요구에 따라 지속적 으로 변화하는 성질을 의미한다. 이러한 변경가능성 특성 때문에 소프트웨어의 개발 과정 중에도 요구사항의 변경 은 발생할 수 있다. 따라서 구현사업에서도 요구사항변경

에 따른 요구사항 명세 작업, 기본설계 수정 작업이 포함 될 수 있다. 실제로 Rational의 통합 프로세스 모델 (Unified Process Model)의 각 단계인 도입 단계 (Inception), 구체화 단계(Elaboration), 구축 단계 (Construction), 전이 단계(Transition)에서 각 활동별 노력 분포를 살펴보면, 그림 1과 같이 요구사항 정의 및 분석 설계가 모든 단계에서 발생하고 있다 [7].

이는 소프트웨어 특성 중 변경가능성 때문에 어느 단 계에서도 요구사항 변경과 설계가 이루어질 수 있음을 의 미한다. 통상적으로 도입단계에서 요구사항 정의가 10-20% 정도가 완성되며, 구체화 단계에서 요구사항 정 의가 대략 80% 정도 완성된다 [7].

따라서 설계사업과 구현사업을 구분하여 발주할 경우에 는 구현사업에서 발생 가능한 요구사항 변경과 기본설계 의 수정하는데 소요되는 노력을 추가로 고려하여야 한다.

본 논문에서는 이러한 기본 개념으로 설계사업과 구현사 업의 사업대가 산정을 위한 노력 분포를 산정하고자 한 다.

2.2 연구 프레임워크

설계사업과 구현사업의 노력분포를 구하기 위해 다음과 같이 6 종류의 데이터를 수집하고 분석한다. 먼저 해외 소프트웨어 생명주기상의 노력분포에 대한 연구문헌을 조 사하고 분석한다. 둘째, 전 세계적인 소프트웨어 사업에 대한 데이터를 축적하고 있는 ISBSG(International Software Benchmarking Standards Group)의 소프트 웨어 사업정보를 수집하고 이를 분석한다. 셋째, 국내 소 프트웨어 사업 정보를 보관하고 있는 소프트웨어사업정보 저장소 데이터를 조사하고 분석한다. 넷째, 소프트웨어 사 업대가 기준 상의 각 단계별 사업대가 비중 자료를 조사 하고 분석한다. 다섯째, 한국소프트웨어산업협회에서 조사 하였던 소프트웨어 개발사업 노력분포 실태조사 자료를 분석한다. 마지막으로 전문가집단에 대한 설문조사를 실 시하여 데이터를 수집하고 분석한다. 이러한 6개의 자료 를 조사하고 분석하고 구현사업에서 발생 가능한 요구사 항 변경 및 기본설계 변경에 대한 노력을 보정하여 소프 트웨어 설계사업과 소프트웨어 구현사업의 노력 분포를

Figure 1. Unified process model and effort distribution by activity.[7]

(3)

산정한다.

본 연구의 연구 프레임워크는 그림 2와 같다.

3. 자료 분석

3.1 해외 문헌 조사 및 분석

본 연구의 대상인 소프트웨어 생명 주기상 각 단계 별 노력 분포에 대해 조사를 실시한 해외 선행 연구 자료를 조사하였다. 총 9개의 해외 문헌에서 소프트웨 어 생명 주기상 각 단계별 노력 분포에 대한 조사 결 과는 표 1과 같다.

번호 저자 노력 분포(%)

1 Barry, Boehm[11]

요구사항분석 7

구현 33

기본설계 17

상세설계 25 시험 25

2 Heijstek 등[2] 요구사항분석 8 구현 38

설계 11 시험 12

3 Safavi[8] 요구사항분석 16 구현 40

설계 14 시험 30

4 Yang[11] 요구사항분석 16.1 구현 40.4 설계 14.9 시험 21.6

5 Papatheocharous 등[6]

요구사항분석 8.2

구현 42.4 기능명세 7.9

설계 11.9 시험 15.5

6 Zelkowitg[12]

요구사항분석 10

구현 20

기능명세 10

설계 15 시험 45

7 Sommerville [15]

요구사항분석 15 구현 20

설계 15 시험 40

8 Bundschuh [1]

요구사항분석 10

구현 25

기능명세 30

설계 30 시험 5

9 Bundschuh [1]

요구사항분석 10

구현 51

기능명세 11

기본설계 5

시험 12

상세설계 10

Table 1. Previous studies on effort distribution

표 1의 9개의 문헌에서는 소프트웨어 개발 단계인 요 구사항분석, 설계, 구현, 시험 단계의 노력 분포가 산정되 어 있다. 특히 Boehm의 연구와 Bundschuh의 2개의 조 사 연구에서는 설계 단계를 기본설계 단계와 상세설계단 계로 나누어서 노력 분포를 산정하였다.

3.2 ISBSG 자료 분석

ISBSG(International Software Benchmarking Standards Group)에서 제공하고 있는 소프트웨어 생명 주기상 각 단계별 노력 분포에 대한 데이터를 조사하였다 [3]. ISBSG의 데이터는 총 8,012건을 보유하고 있으며, 그림 3과 같이 전체의 31%가 신규개발에 해당하며, 기능 향상이 68%, 재개발이 102건 등이 비중을 차지하고 있다.

ISBSG 데이터의 연도별 자료 등록 건수를 보면 그 림 4와 같이 2004년에 가장 많이 수집된 후 계속 감 소하는 추세를 보인다.

Figure 4. ISBSG annual distribution 2000년 초반까지는 금융, 통신 사례가 등록되었다가, 이후 공공, 제조 사례가 등록되고 있다.

ISBSG 데이터의 산업유형은 그림 5와 같이 communication 영역이 1,533건으로 31%를 차지하며 공공영역은 773건으로 21%이다.

Figure 3. ISBSG data type Figure 2. Research Framework

(4)

Figure 5. ISBSG data distribution by industry type

ISBSG 데티터의 프로젝트 기간별 분포는 그림 6과 같이 전체 중 56%가 6개월 미만인 것으로 분석된다.

Figure 6. ISBSG data distribution by project period

ISBSG 데이터를 설계사업과 구현사업의 노력 분포를 구하기 위한 데이터로 활용하기 위해, 다음과 같은 기준 으로 데이터 정제를 하였다. 첫째, 데이터 품질 C등급과 D등급은 제외하였다. 둘째, 프로젝트 유형이 신규개발이 아닌 것은 제외하였다. 셋째로 기능점수 값이 없는 것과 전체 공정이 들어 있지 않은 데이터는 신뢰성 문제로 제 외하였다. 넷째로 노력(Effort) 값이 들어 있지 않은 것은 제외하였다. 다섯째로 측정단위가 hours로 동일 측정단위 가 아닌 것은 제외하였고, 마지막으로 특정 공정의 비중 이 90%가 넘는 것은 이상치로 제외하였다. 이러한 데이 터 정제과정을 거치게 되면 ISBSG에서 유효한 데이터 개 수는 표 2와 같이 371건이 된다.

대상 항목 기준 제외

건수(건) 대상 건수(건) Data quality

rate C, D 등급 제외 475 7,537 Development

type

신규개발(New Development) 이 아닌 것 제외

5,310 2,227

Function point 기능점수 값이

없는 것 제외 262 1,965 Project activity

scope 전체 공정이 없는

것 제외 903 1,062 Effort effort 값이 없는

것 제외 564 498 Recording

method

hours로 동일측정단위가

아닌 것 제외 77 421 공정 비중

check

특정 공정의 비중이 90%가

넘는 것은 제외 50 371 Table 2. Refined ISBSG data

유효한 371건의 데이터에 대해, 소프트웨어 생명 주 기상 각 단계별 노력분포를 산정하면, 표 3과 같이 계 획단계가 3.1%, 명세화 단계가 11.7%, 설계단계가 15.2%, 구현 단계가 43.8%, 시험단계가 21.0%, Implementation 단계가 5.2%로 분석되었다. 즉, 분석 과 설계단계의 비중이 30.1%를 차지하였으며, 구현 및 시험단계의 비중이 69.9%를 차지하였다.

분석설계 비율(%) 구현시험 비율(%) 데이터

품질 수준

개수 비율 Plan Speci fy Desi

gn Build Test Imple menta tion A 64 17.3 2.4 21.5 6.9 2.09 20.9 3.2 B 307 82.7 3.3 9.7 16.9 21.0 21.0 5.6 총합계 371 100.0 3.1 11.7 15.2 21.0 21.0 5.2

Table 3. ISBSG effort distribution

3.3 소프트웨어 사업정보 저장소 자료

정보통신산업진흥원에서는 국내 소프트웨어 프로젝트에 대한 정보를 수집하여 소프트웨어 사업정보저장소를 운영 하고 있다 [16]. 본 연구에서는 소프트웨어 사업정보저장 소에서 총 861건의 데이터를 수집하여 분석하였다.

이들 자료는 표 4와 같이 대기업군의 자료가 284건으 로 33%를 차지하였으며, 중소기업군의 자료는 63.9%를 차지하였다.

(5)

기업 규모 개수 비율(%)

대기업 284 33.0

중소기업 550 63.9

기타 27 3.1

Table 4. Software project repository data distribution by enterprise size

소프트웨어 사업정보저장소 데이터는 표 5와 같이, 신규개발은 540건으로 전체의 63%이었으며, 재개발이 133건으로 15.4%, 유지관리사업이 188건으로 21.8%

를 차지하였다.

사업 유형 개수 비율(%)

신규개발 540 62.7

재개발 133 15.4

유지관리 188 21.8

Table 5. Software project repository data distribution by business type

소프트웨어 사업정보저장소 데이터를 산업유형별로 구 분하여 보면, 표 6과 같이 공공, 농수산업, 의료/건강 및 컴퓨터/소프트웨어 산업유형이 전체의 74%를 차지하고 있었다.

사업 유형 개수 비율(%)

공공행정 312 46.4

농수산업 63 9.4

의료/건강 61 9.1

컴퓨터/소프트웨어 59 8.8

기타 50 7.4

전문서비스 31 4.6

교통 15 2.2

에너지 10 1.5

부동산 10 1.5

건설 9 1.3

국방 8 1.2

수자원 7 1.0

보험 7 1.0

은행 4 0.6

제조 4 0.6

물류 4 0.6

항공 4 0.6

자동차 4 0.6

커뮤니티 서비스 3 0.5

전기가스 3 0.5

광업 2 0.3

기타 3 0.5

Table 6. Software project repository data distribution by industry type

소프트웨어 사업정보저장소 데이터에서 소프트웨어 생 명주기상의 각 단계별 노력분포를 구하기 위해, 다음과 같은 기준으로 데이터 정제를 하였다. 첫째 신규개발 대 상이 아닌 사업은 제외하였다. 둘째, 특정 공정의 노력 비 중이 70%가 넘는 것은 이상치로 제거하였다. 데이터 정 제를 한 후 소프트웨어 사업정보저장소의 유효한 데이터 의 수는 표 7과 같이 515건이었다.

기준 제외건수(건) 대상건수(건)

신규개발 대상임 321 540

공수 중복 등 이상 제거 25 515

최종 유효데이터 515

Table 7. Refined software project repository data

515건의 유효데이터에 대하여, 소프트웨어 생명 주기 상 각 단계별 노력 분포를 산정하면, 표 8과 같이 요구사 항 분석 단계가 14.3%, 설계단계가 17.8%, 구현 단계가 40.6%, 시험단계가 15.3%, 전개 단계가 11.8%를 차지하 였다. 즉, 분석과 설계단계의 비중이 32.2%를 차지하였으 며, 구현 및 시험단계의 비중이 67.8%를 차지하였다.

기업유형 개 수 비율

(%) 분석 (%) 설계

(%) 구현 (%) 시험

(%) 전개 (%)

설계사업 비중(%)

구현사업 비중(%)

대기업 161 31.3 13.7 17.4 42.1 16.0 10.8 31.1 68.9 중소기업 341 66.2 14.6 18.1 40.2 14.9 12.1 32.7 67.3

기타 4 0.8 8.4 12.3 56.7 13.9 8.7 20.7 79.3 (비어 있음) 9 1.7 16.8 19.2 23.9 18.4 21.6 36.1 63.9

총합계 515 100 14.3 17.8 40.6 15.3 11.8 32.2 67.8 Table 8. Effort distribution based on software

project repository

3.4 소프트웨어 사업 대가 기준

소프트웨어 산업협회에서는 소프트웨어 사업 대가 기준 을 관리하고 있다. 소프트웨어 사업 대가 기준에서 소프 트웨어 생명 주기상의 각 단계별 업무 활동 비중은 다음 표 9와 같이 정의되어 있다 [15].

요구사항 분석 단계의 비중이 19%, 설계단계의 비중이 24%, 구현 단계의 비중이 32%, 시험단계의 비중이 25%

로 정의되어 있다.

(6)

요구사항

분석 설계 구현 시험 합계

단가(원) 98,648 124,609 166,145 129,801 519,203

비중(%) 19 24 32 25 100

Table 9. Effort distribution based on software cost estimation guide

3.5 소프트웨어 개발사업 노력 분포 실태조사

2018년에 소프트웨어정책연구소와 한국소프트웨어산업 협회(KOSA)가 수행한 소프트웨어 개발사업 설계비용 실 태조사에 대해 소프트웨어 분할발주 단계별 노력분포 분 석을 실시하였다.

소프트웨어 개발사업 설계비용 실태조사에서 수집된 총 데이터의 수는 97건이었으며, 이중 대기업군 자료가 47 건으로 48.5%를 차지하고 있었으며, 중견기업 3건, 중소 기업 44건을 차지하였다.

산업유형별로는 공공과 금융, 정보통신 산업유형이 전 체의 65%를 차지하고 있었다.

개발유형이 신규개발인 것은 68건으로 70%를 차지하 고 있었으며, 재개발은 30%를 차지하였다.

소프트웨어 개발사업 설계비용 실태 조사 데이터에서 다음과 같은 기준으로 데이터 정제를 실시하였다. 첫째 신규개발만을 대상으로 하였다. 둘째, 특정 공정의 노력 비중이 70%가 넘는 것은 이상치로 제거하였다. 데이터 정제를 한 후 소프트웨어 개발사업 설계비용 실태 조사의 유효한 데이터의 수는 59건이었다.

59건의 유효데이터에 대하여, 소프트웨어 생명 주기상 각 단계별 노력분포를 산정하면, 표 10과 같이 요건 정의 단계가 12.7%, 기본설계가 18.0%, 기본설계 이후 단계에 서의 설계 변경 비중이 5.5%를 차지하였다. 즉, 설계사업 의 비중이 36.3%를 차지하였으며, 구현사업의 비중이 63.7%를 차지하였다.

3.6 노력 분포에 대한 설문조사

본 연구에서는 추가적인 데이터를 확보하기 위하여 소 프트웨어 분할발주 관련 소프트웨어 사업 현황에 대한 설 문조사를 실시하였다. 설문 문항은 4가지로 구분되어 있 다. 첫 번째 문항에서는 응답에 근거가 되는 프로젝트명 을 기술하게 하였으며, 수행사명, 수행기간, 수행 투입인 력, 총 기능점수, 지연일수, 공공/민간 구분 등 소프트웨 어 사업의 특성을 질문하는 문항과 본 응답의 근거가 과 거 관리하였던 투입인력에 근거하여 데이터 기반으로 응 답한 결과인지, 경험에 의한 응답인지를 밝히는 문항으로

구성되어 있다. 두 번째 문항에서는 분석, 기본설계, 상세 설계, 구현, 시험 단계에서의 노력 분포를 질문하였다. 세 번째 문항에서는 구현단계에서 일어나는 요구사항 변경에 관한 투입인력 규모에 관한 질문을 하였으며, 마지막으로 분할발주에 의한 구현사업 이후의 요구사항 변경률의 축 소에 관한 응답자의 견해를 질문하였다.

총 15개의 데이터가 수집되었으며, 공공사업 데이터가 11건, 민간사업 데이터가 4건 수집되었다. 이중 데이터에 근거하여 응답한 사업의 개수는 8건이었으며, 경험에 기 반하여 응답한 사업의 개수는 7건이었다.

총 15개의 데이터 중 1개의 데이터가 구현단계 이후의 요구사항 변경률이 130%로 응답하여 이상치로 제거하였 다.

총 14개의 유효한 데이터로 분석하였으며, 데이터에 기반한 응답과 경험에 기반한 응답의 가중치를 달리하여 각각 0.7과 0.3의 가중치를 부여하여 가중평균을 산출하 였다. 이 가중치는 소프트웨어 측정 전문가 들이 모인 전 문가 회의에서 AHP 기법에 의해 설정하였다.

분석 단계와 기본설계 단계, 상세설계 단계, 구현 단계, 시험 단계의 노력 분포는 다음 표 11과 같이 산출되었다.

분석 단계의 비중은 15.1%, 기본설계 단계의 비중은 10.0%, 상세설계 단계의 비중은 15.3%, 구현 단계의 비 중은 34.1%, 시험단계의 비중은 25.4%로 분석되었다.

가중치 분석(%) 기본설계 (%) 상세설계

(%) 구현 (%) 시험

(%) 데이터 기반 0.7 13.9 9.5 15.3 34.6 26.8

경험 기반 0.3 18.0 11.1 15.6 33.0 22.3 가중평균 - 15.1 10.0 15.3 34.1 25.4 Table 11. Effort distribution by a new survey.

구현 단계 이후의 요구사항 변경률은 16.7%로 조사 되었다. 이중 신규 요구사항은 41.6%를 차지하였으며, 삭제 또는 변경 요구사항은 56.1%에 해당하였다.

분할발주 시행 시 구현 단계 이후에서 발생하는 요구 사항 변경의 비중이 어느 정도 줄어들 것으로 기대하느냐 의 질문에는 평균적으로 33.9%가 줄어들 것으로 기대하 였다.

4. 설계사업과 구현사업의 노력 분포

4.1 기본설계와 상세설계 비중

소프트웨어 생명 주기상의 각 활동별 노력 분포에 대 한 데이터 조사를 실시한 결과, 대부분의 연구 및 자료가 설계사업의 비중으로 나타나 있다. 본 연구에서 설계사업 과 구현사업의 노력 분포를 산정하기 위해서는 설계사업 의 비중을 기본설계와 상세설계로 구분하여야 한다. 이를 위해서 설계의 노력 중 기본설계와 상세설계의 노력 비중 이 조사된 자료를 수집하였다.

Boehm의 COCOMO II에서의 노력 분포 연구에서 기 본설계와 상세설계의 비중이 각각 17%와 25%로 조사되 개발유형 개수 비율

(%) 요건정의 (%) 기본설계

(%) 설계변경 (%) 설계사업

(%) 구현사업 (%) 신규개발 59 69.4 12.7 18.0 5.5 36.3 63.7

Table 10. Effort distribution based on a survey by SPRi and KOSA

(7)

었으며, Bundschuh의 연구에서는 기본설계와 상세설계 의 비중이 5%와 10%로 조사되었다 [1,11].

추가적으로 기본설계와 상세설계에 대한 설문조사 데이 터가 있다. 설문조사에서 15개의 데이터에 대하여 조사한 결과, 기본설계와 상세설계의 비중은 10.0%와 15.3%로 조사되었다.

이 3개의 데이터에 대해 설계 비중에 대한 기본설계와 상세설계의 비중을 구하고, 평균값을 구하면, 표 12와 같 이 기본설계와 상세설계의 상대적 비중은 각각 37.8%와 62.2%로 분석되었다.

COCOMO II Bundschuh 설문조사 평균 기본설계(%) 40.5 33.3 39.5 37.8 상세설계(%) 59.5 66.7 60.5 62.2 Table 12. Weight for basic design and detailed

design

4.2 기존 연구의 기본설계와 상세설계 비중 산정

위에서 분석된 기본설계와 상세설계의 비중을 3절에서 조사된 해외 문헌 및 국내에서 조사된 데이터에 적용하 여, 요구사항분석 단계, 기본설계 단계, 상세설계 단계, 구현 단계 및 시험 단계의 각 단계별 비중을 산정하였다.

먼저 해외논문 자료들에 대해 요구사항분석 단계, 기본 설계 단계, 상세설계 단계, 구현 단계 및 시험 단계의 각 단계별 비중을 산정한 결과는 다음 표 13과 같다. 9개 문헌에 대한 평균 비중은 요구사항분석 단계가 18.8%, 설계 단계가 7.4%, 상세설계 단계가 12.1%, 구현 단계가 37.4%, 시험단계가 24.3%로 분석되었다.

ISBSG 데이터, 소프트웨어 사업정보저장소 데이터, 소프트웨어 개발사업 설계비용실태조사 데이터, 소프 트웨어 사업대가 기준 데이터 및 추가적으로 조사된 설문조사 데이터에 대한 요구사항분석 단계, 기본설계 단계, 상세설계 단계, 구현 단계 및 시험 단계의 각 단 계별 비중을 산정한 결과는 다음 표 14와 같다.

단계 ISBSG 데이터

소프트웨어사업정 저장소 보 데이터

소프트웨어 개발사업 설계비용 실태조사

소프트웨어 사업 대가 기준

설문조사

요구사항분석 (%) 15.6 14.3 15.0 19.0 15.1 기본설계(%) 5.7 6.8 21.2 9.1 10.0 상세설계(%) 9.5 11.1 35.0 14.9 15.3

구현(%) 49.0 40.7 16.1 32.0 34.1 시험(%) 21.0 27.2 12.6 25.0 25.4 Table 14. Effort distribution at each phase of

software life cycle

4.3 소프트웨어 활동별 비중 산정

최종적인 요구사항분석 단계, 기본설계 단계, 상세설계 단계, 구현 단계 및 시험 단계의 각 단계별 비중을 산정 하기 위하여, 각 자료원에 대한 가중치를 고려하였다. 6 가지 종류의 노력 분포 데이터에 적용된 가중치는 소프트 웨어 전문가 집단 9명이 AHP 기법을 통하여 결과를 산 출하였다. AHP 결과 산정된 가중치는 표 15와 같이 해 외 데이터의 비중을 30%로 산정하였으며, 국내 데이터의 비중을 70%로 산정하였다. 해외 데이터 중 ISBSG 데이 터는 10%, 해외논문의 데이터는 모두 20%를 적용하였다.

그러면 1개의 해외논문의 노력 분포에 대한 가중치는 2.2%를 가지게 된다. 국내 데이터는 소프트웨어 사업 대 가 기준 데이터가 23%, 소프트웨어사업정보저장소 데이 터가 17%, 소프트웨어개발사업 설계비용 실태조사 데이 터가 13%, 본 연구에서 새로 조사된 설문조사 데이터는 17%의 가중치를 적용하였다.

자료원 가중치

(%) 세부자료원 가중치(%)

해외 30.0

ISBSG 10

해외논문 및 자료 20 1개 논문 가중치:

1.8

국내 70.0

소프트웨어

사업 대가 기준 23 소프트웨어

사업정보저장소 17

소프트웨어 개발사업설계비용

실태조사 13

설문조사 17

Table 15. Weights for 6 effort distribution data

표 15의 가중치를 적용하여 소프트웨어 생명주기상의 각 활동별 비중을 산정하면 다음 표 16과 같다. 즉, 요구 사항분석의 비중이 16.5%, 기본설계의 비중은 9.7%, 상 세설계의 비중은 15.8%, 구현의 비중이 34%, 시험의 비

번호 1 2 3 4 5 6 7 8 9 평균

요구사항 분석(%)

6.5 11.6 16.0 17.4 18.7 20.0 16.7 40.0 22.0 18.8

기본설계(%) 14.8 6.0 5.3 6.0 5.2 5.7 6.3 11.3 5.7 7.4 상세설계(%) 24.4 9.9 8.7 10.0 8.6 9.3 10.4 18.7 9.3 12.1

구현(%) 30.8 55.1 40.0 43.4 49.4 20.0 22.2 25.0 51.0 37.4 시험(%) 23.4 17.4 30.0 23.2 18.0 45.0 44.4 5.0 12.0 24.3 Table 13. Effort distribution at each phase of

software life cycle for previous studies

(8)

중이 23.8%로 분석되었다.

단계 노력 분포(%)

요구사항 분석 16.5

기본설계 9.7

상세설계 15.8

구현 34.0

시험 23.8

Table 16. Total effort distribution at each phase of software life cycle

4.4 설계사업과 구현사업의 비중

6가지 소프트웨어 생명 주기상의 각 활동, 즉, 요구 사항분석 단계, 기본설계 단계, 상세설계 단계, 구현 단계 및 시험 단계의 가중평균 된 종합적 단계별 비중 을 산정한 후, 설계사업과 구현사업의 비중을 산정하 면 다음 표17과 같다. 설계사업의 비중은 26.3%, 구현 사업은 73.7%로 산정된다.

단계 가중평균

업무비중(%)

설계사업과 구현사업

비중(%) 비고

요구사항

분석 16.5

26.3 설계사업

기본설계 9.7

상세설계 15.8

73.7 구현사업

구현 34.0

시험 23.8

Table 17. Effort distribution for software design project and software implementation project

다음으로 소프트웨어 특성상 변경 가능성 때문에 구 현사업 이후에 발생하는 요구사항분석 및 기본설계의 변경 비중은 구현사업으로 보정하여야 한다.

이 보정을 위해 적용된 데이터는 2개의 데이터이다.

먼저 소프트웨어 개발사업 설계비용 실태조사에서 조사된 기본설계 이후의 요구사항 및 설계 변경의 비중 데이터와 본 연구에서 새롭게 조사된 설문조사 데이터가 있다.

먼저 소프트웨어 개발사업 설계비용 실태조사 데이 터를 기반으로 구현사업 이후로 보정해야 하는 요구사 항 분석 및 기본설계의 변경분에 대한 비중을 산정하 면, 기본설계 이후의 요구사항 변경률은 총 요구사항 노력 비중 15% 중 2.3%에 해당되므로, 기본설계 이후 의 요구사항 변경률은 표 19와 같이 15.2%

(=2.3%/15.0%)로 산정된다.

요구사항분석(%) 기본설계 (%)

기본설계 요구사항 및 이후의

변경(%)설계

기본설계 상세설계, 이후 시험(%)구현,

비중 12.7 18.0 5.5 63.7

변경노력

배분 2.3 3.2 - -

총 비중 15.0 21.2 - -

Table 18. Requirement change rate based on the previous survey after basic design phase

또한, 추가적으로 조사된 설문조사 데이터에 의하면, 데이터에 기반하여 응답한 7개의 데이터와 경험에 기 반하여 응답한 7개의 데이터가 있었다. 이들에 대해 데이터에 기반한 자료에 70%의 가중치를 설정하고 경 험에 기반한 자료에 30%의 가중치를 설정하여 구현 단계 이후에 발생하는 요구사항 변경률을 산정한 결과, 구현 단계 이후에 발생하는 요구사항 변경률은 16.7%

로 분석되었다.

요구사항

변경률 1 2 3 4 5 6 7 평균 가중치 총평 균 데이터기반

설문 20 33 15 9.2 9.1 10 15 15.9 70%

경험 16.7

기반 설문 28 20 16 15 12 15 25 18.7 30%

Table 19. Requirement change rate based on a new survey after basic design phase

소프트웨어 개발사업 설계비용 실태조사 자료와 설 문조사 자료의 기본설계 이후의 요구사항 변경률을 평 균하면 15.9%가 산정된다.

따라서 설계사업의 요구사항 비중 중 15.9%를 구현 사업으로 보정하면, 표 20과 같이 소프트웨어 설계사 업의 비중은 22.1%가 되며, 소프트웨어 구현사업의 비 중은 77.9%로 산정된다.

변경률 적용 전 기본설계 이후의 요구사항 변경률 변경률 보정 후

설계사업 26.3% 15.9% 22.1%

구현사업 73.7% - 77.9%

Table 20. Final effort distribution for software design project and software implementation project

4.5 자료원에 대한 가중치 민감도 분석

각 자료원에 대한 가중치를 변경하면서 민감도 분석을 실시하였다.

먼저 해외 자료와 국내 자료의 비중을 35%와 65%로

(9)

변경해 보았다. 이에 따라 ISBSG 데이터의 가중치는 20%로 설정되었으며, 해외논문의 총 비중은 15%로 1개 의 해외논문의 가중치는 1.6%이다. 그리고 국내 자료는 소프트웨어 사업 대가 기준 데이터가 23%, 소프트웨어 사업정보저장소 데이터가 15%, 소프트웨어 개발사업 설 계비용 실태조사 데이터가 12%, 본 연구에서 새로 조사 된 설문조사 데이터는 15%의 가중치로 설정하였다. 이 경우 기본설계 이후의 요구사항 변경률을 고려하여 보정 하는 경우에는 설계사업의 비중이 21.6%를 차지하였으며, 구현사업의 비중은 78.4%를 차지하였다. 기본설계 이후 의 요구사항 변경률을 고려하지 않는 경우에는 설계사업 의 비중이 25.8%를 차지하였으며, 구현사업의 비중은 74.2%를 차지하였다.

다음으로, 해외 자료와 국내 자료의 비중을 40%와 60%로 변경해 보았다. 이에 따라 ISBSG 데이터의 가중 치는 20%로 설정되었으며, 해외논문의 총 비중은 20%로 1개의 해외논문의 가중치는 2.2%이다. 그리고 국내 자료 는 소프트웨어 사업대가기준 데이터가 22%, 소프트웨어 사업정보저장소 데이터가 13%, 소프트웨어 개발사업 설 계비용 실태조사 데이터가 12%, 본 연구에서 새로 조사 된 설문조사 데이터는 13%의 가중치로 설정하였다.

이 경우 기본설계 이후의 요구사항 변경률을 고려하여 보정하는 경우에는 설계사업의 비중이 21.7%를 차지하였 으며, 구현사업의 비중은 78.3%를 차지하였다.

자료원의 가중치 변화에 따른 설계사업의 노력분포와과 구현사업의 노력분포에 대한 민감도 분석의 변화는 그림 7과 같다.

가중치에 대한 민감도 분석 결과, 그림 7과 같이 해외 자료의 비중을 30%에서 40%까지 늘려보았을 때, 설계사 업의 비중이 구현사업보다 더 많이 감소하는 것으로 분석 되었다.

5. 결 론

본 논문에서는 소프트웨어 분할 발주시 설계사업과 구 현사업의 대가를 산정하기 위하여 소프트웨어 설계사업과 소프트웨어 구현사업의 노력 분포를 산정하였다.

이를 위해 소프트웨어 공학 특성을 분석하여, 설계사업 이후의 구현사업에서도 요구사항의 변경이 소프트웨어 특 성인 변경가능성 때문에 불가피 하다는 것을 기존 문헌으 로 입증하였으며, 이를 기본으로 소프트웨어 설계사업과 소프트웨어 구현사업의 노력 분포를 산정하는 기본 개념 을 수립하였다.

다음으로 해외문헌조사에 의한 노력 분포 데이터, ISBSG 투입공수 데이터 분석에 의한 노력분석 데이터, 소프트웨어 사업정보저장소 투입공수 분석에 의한 노력 분포 데이터, 소프트웨어 사업대가 기준 노력 분포, 소프 트웨어 개발사업 노력 분포 실태조사의 노력 분포, 추가 적으로 실시된 설문조사에 의한 노력 분포 데이터를 종합 하여 성계사업의 노력 분포와 구현사업의 노력분포를 종 합적으로 산정하였다.

본 연구의 결과로 설계사업의 노력 비중은 22.1%로 분석되었으며, 구현사업의 노력 비중은 77.9%로 분석되 었다. 소프트웨어 분할 발주 시 설계사업과 구현사업의 대가를 산정할 때, 현재의 소프트웨어 사업대가 기준의 기능점수당 단가를 설계사업과 구현사업의 노력 비중을 기반으로 설계사업과 구현사업에 대한 사업대가를 산정할 수 있다.

본 논문에서 실시한 소프트웨어 각 단계에서의 노력 분포에 대한 연구는 국내에서는 처음으로 연구되었다는 데에 의의가 있다. 기존에는 각 단계별 투입공수의 제시 정도의 수준이었으나 종합적인 노력 분포에 대한 분석은 이 논문이 가질 수 있는 의의라 볼 수 있다.

또한, 설계사업과 구현사업에 대한 노력 분포를 연구함 으로서 설계사업과 구현사업에 대한 사업 대가를 산정할 수 있는 기틀을 마련하였다고 볼 수 있다.

본 연구의 추후 과제로는 추가적인 데이터 분석이 지 속적으로 필요하다. 또한. 설계사업과 구현사업에 대해서 는 각각의 투입공수를 별도로 산정하여 각각의 사업에 대 한 사업대가 산정 모형을 새로 연구하는 것이 필요하다.

감 사

이 연구는 서울과학기술대학교 교내연구비의 지원 으로 수행되었습니다.

참고문헌

1. Bundschuh, M., FESMA Workshop, 8 (1999).

2. Heijstek, W. and Chaudron, M.R.V., Proceedings of the 2nd workshop on Model Size Metrics, 1-13 (2007).

3. ISBSG, Basic ISBSG Data Analysis in Excel, International Software Benchmarking Standards Group, (2020).

4. Lenarduzzi, V., Morasca, S., and Taibi, D., Proceedings of the 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications, 305-308 (2014).

5. Mukherjee, R., Gupta, T., and Thirugnanam, Figure 7. Sensitivity analysis for effort

distribution of software design project and software implementation project

(10)

M., International Journal of Engineering and Techniques, 2(6), 59-63 (2016).

6. Papatheocharous, E., Bibi, S., Stamelos I., and Andreou A. S., Journal of Software: Evolution and Process, 29(1), 1-21 (2017).

7. Rational, Rational Unified Process, Rational Software, 3 (2001).

8. Safavi, S.A. amd Shaikh, M.U., Handbook of Research on E-Services in the Public Sector:

E-Government Strategies and Advancements, 270-277 (2011).

9. SEBOK, Guide to the Systems Engineering Body of Knowledge (SEBoK), V2.3 (2020).

10. Sommerville, I., Software Engineering, 10th ed., Pearson, 686 (2015).

11. Yang, Y., He, M., Li, M., Wang, Q., and Boehm, B., Proceedings of the 2nd International Symposium on Empirical Software Engineering and Measurement, 61-69 (2008).

12. Zelkowitz, M.V., Computing Surveys, 10(2) (1978).

13. SPRi, Guidelines for Placing Oders for SW Korea (2016).

14. Public Procurement Service, A Study on the Improvement of Placing Order Method for the Advancement of the Ecosystem of Public SW Projects, Korea (2015).

15. Korea Software Industry Association, A Guide for SW Cost Estimation, Korea (2020).

16. https://www.spir.kr/main/main.do,

참조

관련 문서

3D meshes were used to analyze the stress distribution of the distractor was analyzed using Finite element analysis software.. This research developed a intraoral

ABSTRACT This study analyzed the dietary conditions of Korean adolescents using the 2018 data from the Korea National Health and Nutrition Examination Survey KNHANES, Korea Youth

Based on this outcome, it was proposed that teacher trainingin early childhood software education should be madeavailable as part of the educational activity connected with the

Abstract This study provides results from the experiment on the rainfall distribution using a large Experimental rainfall simulator with fixed nozzle arrangement.. Results from

The software, MSAS, which can provide the functionality for MDPS Simulation, Analysis & Synthesis, is based on the steering system model, vehicle model and control logic.. As

Abstract This paper presents a framework for quantitative software development performance measurement and analysis based on characteristics of software in System on Chip

Drawing on data from the sixth wave of the elementary school year 1 panels taken from the Korean Children and Youth Panel Survey(KCYPS), this study analyzed

This study analyzed data sets of over 180 overseas construction projects for last 30 years of domestic contractor by using multiple-regression analysis