본문 바로가기

지식/프로젝트 관리 및 생성

소프트웨어품질보증기준

소프트웨어품질보증기준

[정보통신부고시 제1998-123호 '98.11. 3]


1장 총 칙

1조(목적) 이 기준은 소프트웨어산업진흥법 제8조의 규정에 의하여 소프트웨어 의 품질보증 기준(이하 "기준"이라 한다)을 정하고 이의 사용을 권장함으로써 소프트웨어의 신뢰성과 품질을 확보하고자 함에 그 목적이 있다.

2조(용어의 정의) ① "소프트웨어"라 함은 특정한 결과를 얻기 위하여 컴퓨터등 정보처리 능력을 가진 장치 내에서 직접 또는 간접으로 사용되는 일련의 지시·명령으로 표현된 프로그램과 이를 작성하기 위하여 사용된 설계서·기술서 및 기타 관련 자료를 말한다.

② "소프트웨어 품질"이라 함은 발주자가 제시한 명시된 요구사항 및 내재된 요구사항을 충족할 수 있는 소프트웨어 특성의 총체를 말한다.

③ "소프트웨어 품질 목표"라 함은 소프트웨어 품질이 달성하고자 하는 설정치를 말한다.

④ "소프트웨어 품질보증"이라 함은 소프트웨어의 품질목표를 달성하기 위하여 개발자와 발주자가 수행하는 일련의 계획적이고 체계적인 모든 활동을 말한다.

⑤ "소프트웨어 품질보증요소"라 함은 소프트웨어 품질보증활동 수행시에 추진되어야 할 활동이나 항목을 말한다.

3조(적용범위) ① 이 기준은 소프트웨어개발의뢰자(이하"발주자"라 한다)가 소프트웨어개발자(이하 "개발자"라 한다)에게 의뢰하는 소프트웨어의 개발 및 유지보수 등(이하"소프트웨어 개발"이라 한다) 소프트웨어의 개발공정에 관하여 적용한다.

4조(품질보증요소) ① 소프트웨어 품질보증요소는 품질보증 책임 및 조직, 품질보증활동으로 이루어진다.

1. 품질보증 책임 및 조직 : 발주자의 책임, 발주자의 품질보증 조직, 개발자의 책임, 개발자의 품질보증 조직으로 이루어진다.

2. 품질보증활동 : 계약검토, 발주자 요구 명세, 개발계획 수립, 품질보증계획 수립, 개발단계별 품질보증활동, 구성관리, 문서관리, 품질기록, 외주관리, 합동검토, 검증 및 확인, 시정조치로 이루어진다. 다만, 개발단계별 품질보증활동은 사용되는 개발단계 모형의 특징에 따라 계획되고 시행되며 특정 개발단계로 한정하지 아니한다.

② 발주자와 개발자가 상호 합의 한 경우, 당해 소프트웨어의 규모, 특성 및 중요도 등을 고려하여 품질보증요소의 일부를 선택적으로 적용할 수 있다.

5조(품질보증 활동의 심사) ① 발주자는 개발자의 품질보증활동이 이 기준에 적합한지를 심사하기 위하여 별첨1의 품질보증활동점검표를 활용할 수 있다. 다만, 당해 프로젝트의 특성 등을 고려하여 발주자와 개발자가 상호 합의한 경우 점검표의 항목을 추가 또는 삭제하거나 항목의 내용을 조정할 수 있다.

② 발주자는 자체적으로 품질보증활동의 적합여부를 심사하기 어려운 경우에는 전문가로 구성된 심사위원회를 두거나 외부감리기관에 심사를 의뢰할 수 있다.

6조(품질보증기준적용에 따른 추가 기술료 지급) 발주자가 이 기준의 적용을 요구할 경우에는 예정가격 산정시 소프트웨어 사업대가기준에서 규정한 바에 따라 추가 기술료를 반영하여야 한다.

2장 품질보증 조직 및 책임

7조(발주자의 책임) ① 발주자는 개발자가 필요로 하는 정보를 적시에 제공하고 미해결 사항을 해결하기 위해 개발자와 협력하여야 한다.

② 발주자의 외주관리 책임자는 다음 각호의 의무를 가진다.

1.개발자에게 요구사항 결정 방법을 명확히 제시하고, 개발자로부터의 질문에는 적시에 회답한다.

2. 개발자로부터의 제안사항이 있으면 성의를 갖고 검토하고 승인한다.

3. 개발자와의 합의사항을 명확히 하여 그것을 준수한다.

4. 중도 성과물에 문제가 발견된 경우에는 개발자와 함께 문제를 해결한다.

5. 개발자에게 검수 기준, 검수 절차를 명확히 제시한다.

③ 발주자는 각 단계에서의 검토에 적극적으로 참가하여 검증을 하고, 그 결과로서의 합의사항을 문서화하여야 한다.

8조(발주자의 품질보증 조직) ① 발주자는 계약사항에 관해 개발자와 거래 책임을 지는 외주관리 책임자를 임명하여야 한다.

② 발주자는 품질보증활동을 원활히 추진할 수 있도록 담당조직 또는 담당자를 두어야 한다.

9조(개발자의 책임) ① 개발자는 품질에 관한 방침과 목표를 구체적으로 제시하여야 하며, 품질보증에 관련된 모든 사람들의 책임, 권한 및 상호관계를 명확히 정하여야 한다.

② 개발자는 내부 검증에 관한 요구사항을 명확히 하고 검증활동에 대하여 적절한 수단을 준비하고 훈련된 인원을 할당하여야 한다.

제10조(개발자의 품질보증 조직) ① 개발자는 이 기준의 요구사항이 확실히 이행, 유지되도록 하기 위해 권한 및 책임을 갖는 품질보증책임자를 임명하여야 한다.

② 개발자는 품질보증활동을 원활히 추진할 수 있도록 담당 조직 또는 담당자를 두어야 한다.

③ 품질보증 조직은 다음 각 호의 기능을 수행한다.

1. 품질보증계획 수립

2. 품질문제의 제기

3. 품질보증 활동의 문서화, 기록 및 보관

4. 품질문제에 대한 해결방안 제시, 조언, 권고 및 관련정보 제공

5. 해결책의 실시 검증

3장 품질보증 활동

제11조(계약 검토) ① 개발자는 계약을 검토·확인하며 그 기록을 유지하여야 한다.

② 개발자는 계약 검토시에 소프트웨어 품질에 관한 다음 각호의 사항을 검토하여야 한다.

1. 합격 판정 기준

2. 개발단계 동안의 발주자 요구사항 변경에 대한 처리

3. 품질에 관한 이의신청 등 검수 후 발견되는 문제점의 처리

4. 개발자에 의해 수행되는 활동, 설치 및 검수에서 발주자의 역할

5. 발주자가 제공하는 설비, 도구 및 소프트웨어 항목

6. 사용되는 표준 및 절차

제12조(발주자 요구명세) ① 발주자는 완전하고 명확한 요구사항을 제시하여야 하며, 개발자는 이러한 요구사항을 제품검수 중에 확인이 가능할 정도로 정확하게 기술하여야 한다.

② 발주자의 요구사항은 일련의 기능적 요구사항 외에 성능, 안전성, 신뢰성, 보안성 등의 관점을 포함하여야 한다.

③ 발주자 요구명세를 확정하기 위해 쌍방은 책임자를 지명하고 상호협력하여야 한다. 개발자가 발주자의 요구명세서를 작성할 경우에는 개발을 시작하기 전에 발주자의 승인을 받아야 한다.

제13조(개발계획 수립) ① 개발자는 소프트웨어 개발계획을 수립하고, 개발계획은 실행하기 전에 발주자의 검토 및 승인을 받으며, 개발이 진전됨에 따라 갱신하여야 한다.

② 개발 계획에는 다음 각호의 사항이 포함되어야 한다.

1. 프로젝트의 목적 등을 포함하는 프로젝트 정의

2. 프로젝트 자원 및 작업의 할당

3. 개발 단계(Phase) 및 입출력물

4. 각 작업에 필요한 자원과 시간 및 작업사이의 상호관계를 명확히 하는 일정계획

5. 품질보증, 구성관리, 통합 및 시험에 관한 계획

제14조(품질보증 계획 수립) ① 개발자는 품질보증 계획을 수립하고, 실행하기 전에 발주자와 검토하고 합의하며, 개발이 진전됨에 따라 이를 갱신한다.

② 품질보증 계획에는 다음 각호의 사항이 포함되어야 한다.

1. 가급적 측정 가능한 용어로 표현된 품질목표

2. 개발 단계별 입출력 기준

3. 실시될 시험유형, 검증 및 확인 활동에 관한 계획

4. 검토 및 시험, 구성관리 및 변경관리, 결함관리 및 시정조치 등 품질보증 활동에 대한 책임

제15조(개발단계별 품질보증 활동) ① 개발자는 발주자의 요구사항에 맞게 조정된 개발 공정을 설정하여야 한다.

② 개발자는 별첨1의 해당 품질보증활동점검표에 따라 품질보증활동을 수행하여야 하며, 개발단계별 품질보증활동을 관련된 검증 및 확인, 합동검토 활동들과 조화되도록 하여야 한다.

③ 개발자는 품질보증 활동 기록을 발주자가 이용할 수 있도록 하여야 한다.

제16조(구성 관리) ① 개발자는 중요 소프트웨어 항목의 구성을 관리하기 위한 구성관리 계획을 수립한다. 구성관리 계획에는 다음 각호의 사항이 포함되어야 한다.

1. 구성관리를 담당하는 조직과 각 조직에 할당된 책임범위

2. 실시되어야 할 구성관리 활동

3. 사용될 구성관리 도구, 기법 및 방법론

4. 소프트웨어 항목이 구성관리에 들어가는 단계

② 개발자는 구성관리 계획에 따라 다음 각호의 사항을 포함한 구성관리 활동을 수행하여야 한다.

1. 모든 개발단계에서 소프트웨어 항목을 식별하는 절차의 확립과 유지

2.구성관리의 대상이 되는 소프트웨어 항목의 변경을 식별, 문서화, 재검토 및 승인하는 절차의 수립과 유지

3.소프트웨어 항목의 상태, 변경요구사항 및 승인된 변경구현등 구성상태를 기록, 관리, 보고하는 절차의 수립과 유지

제17조(문서관리) ① 개발자는 관련 문서를 관리할 수 있는 절차를 수립하고 그 절차를 유지한다.

② 문서관리절차에는 문서관리 대상문서의 결정, 문서의 발행, 폐기 및 변경 절차 등을 포함한다.

③ 문서관리 절차는 다음을 포함한 관련문서에 적용한다.

1. 개발계획, 품질보증계획 등과 같은 활동계획문서

2. 소프트웨어 개발단계에 적용되는 각종 절차서

3. 소프트웨어 개발단계별 산출문서

④ 문서의 발행 및 변경은 권한을 위임받은 담당자의 검토와 승인을 받아야 한다.

제18조(품질기록) ① 개발자는 품질기록을 관리하기 위한 절차를 수립하고 유지하여야 한다.

② 개발자는 다음 각호의 사항을 품질 기록으로 유지하여야 한다.

1. 각 단계의 검토 기록, 특히 발주자 승인 기록

2. 시험 결과

3. 검수 결과

4. 시정조치 내역

③ 품질기록은 발주자 또는 발주자의 외주관리 책임자가 소프트웨어의 품질을 평가하기 위하여 이용할 수 있도록 하여야 한다. 이 경우 이용기간은 개발자와 발주자(또는 발주자의 외주관리 책임자)가 상호 합의한 기간으로 한다.

제19조(외주관리) ① 개발자가 소프트웨어의 전부 또는 일부분을 외주에 의해 개발하는 경우 납품되는 소프트웨어가 규정된 요구사항과 일치함을 확인하여야 한다.

② 개발자는 외주계약시 외주품의 합격 판정 시험 요건을 포함한 검토· 확인 사항을 명시하여야 한다.

제20조(합동검토) 개발자는 발주자와 함께 정기적으로 다음 각호의 사항에 대한 검토 계획을 수립하고 검토 결과는 합의 후 문서화하여야 한다.

1. 발주자 요구명세에 대한 소프트웨어 부합성

2. 검증 결과

3. 검수시험 결과

제21조(검증 및 확인) ① 개발자는 각 단계의 소프트웨어 제품이 이전 활동에서의 요구사항 및 조건에 맞추어 제작되었는지를 검증하기 위한 검증계획을 수립하고, 다음 각호의 사항을 포함하는 검증 활동을 수행하여야 한다.

1. 공정 검증

2. 요구사항 검증

3. 설계 검증

4. 코드 검증

5. 통합 검증

6. 문서화 검증

② 개발자는 소프트웨어 제품이 요구사항 및 품질표준에 따라 제작되어 의도한 대로 사용될 수 있는지를 확인하기 위한 확인계획을 수립하고, 다음 각호의 사항을 포함하는 확인 활동을 수행하여야 한다.

1. 요구사항 확인을 위한 시험명세서의 준비

2. 시험명세서 및 시험요구사항에 따른 시험 수행

3. 소프트웨어 제품이 의도한 용도를 만족하는지를 확인

4. 목표 환경에서의 적절한 소프트웨어 제품 시험

제22조(시정 조치) ① 개발자는 시정요구된 사항에 대하여 시정방안을 수립하여 이를 이행한다.

부 칙

이 고시는 고시한 날로부터 시행한다.

※ 별첨[ HWP]