새소식

반응형
밥벌이/소프트웨어 공학

소프트웨어 프로세스 품질 표준

  • -
반응형
  • 프로세스의 개념
    • 프로세스의 정의
      • 프로세스 : 일정한 목적을 위해 수행되는 일의 순서(IEEE)
      • 소프트웨어 프로세스 : 사람들이 소프트웨어 및 관련 산출물을 개발하고 유지보수하기 위해 사용하는 일련의 활동, 방법, 실무 및 변형(CMM)
    • 소프트웨어 프로세스의 중요성
      • 소프트웨어 시스템의 품질은 시스템을 개발하는데 사용되는 프로세스의 품질에 의해 좌우됨(Watts S. humphrey)
      • 제품만을 중점 관리할 경우 단순한 측정으로 개선방법에 대한 지식 등을 간과하게 됨
      • 프로세스를 중점 관리할 경우 결과에 대한 반복 가능성 프로젝트 추이, 제품 특성 등을 예측할 수 있음
           
  • 소프트웨어 프로세스 모델
    • 소프트웨어 프로세스 모델의 특성
      • ISO 9001 : 제품이 아닌 조직의 시스템이 제대로 갖추어져야 그 조직의 제품도 품질을 갖출 수 있다는 취지에서 만들어진 국제 인증 모델
      • ISO/IEC 12207 : ISO 9001이 비즈니스에 무관한 조직의 경우 갖추어야 할 광범위한 요건을 다룸에 있어 IT 조직을 위한 가이드가 필요해짐에 따라 제정된 국제 규격
      • ISO/IEC 15504 : ISO/IEC 12207의 규격에 따라 IT조직의 프로세스가 제대로 갖추어 있는지를 평가하고 개선하기 위한 모델
    • 소프트웨어 프로세스 모델간 비교
표준명 관점 인증/심사 적용산업
ISO 9001 조직의 품질 경영 및 품질보증 인증 모델 특정 산업에 종속 안됨
ISO/IEC 12207 S/W 개발 관련 생명주기 비인증 모델 S/W 산업
SPICE(ISO 15504) S/W 개발 관련해 선정된 프로세스 평가 평가 개선 모델 S/W 산업
CMM 조직의 S/W 개발 관련 전체 프로세스 평가 평가 개선 모델 S/W 산업
CMMI 다양한 CMM 모델을 통합한 프로세스 개선 프레임워크 평가 개선 모델 S/W, S/E 산업
  • ISO/IEC 12207 표준
    • ISO/IEC 12207의 개념
      • ISO/IEC 12207의 정의
        체계적인 소프트웨어 획득, 공급, 개발, 운영 및 유지보수를 위해서 소프트웨어 생명주기 공정(SDLC Process) 표준을 제공함으로써, 소프트웨어 실무자들이 개발 및 관리에 동일한 언어로 의사소통 할 수 있는 기본틀을 제공하기 위한 프로세스
      • ISO/IEC 12207 제정 배경
        • ISO 9001, ISO 9000-3, ISO 9126에서 품질 시스템 요구 사항, 품질 특성, 소프트웨어 품질 보증에 대해서 언급했으나 소프트웨어 프로세스 평가 모델은 제시하지 못했음
        • 이에 대한 필요성에 의해 ISO/IEC JTC1 SC7에서 ISO/IEC 12207을 제정
    • ISO/IEC 12207의 주요 특징
      • 다양한 형태의 소프트웨어 개발 및 관리에 적용될 수 있는 공정(Process), 활동(Activity) 및 세부 업무(Task)의 정의
      • 산출물 명칭, 형식, 내용 등을 규정하지 않음
      • 특정 생명주기 및 개발 방법을 규정하지 않음(즉, What만 정의)
      • 조달자와 공급자의 역할을 분명히 정의하여 양자간 계약에 따른 조달에 적합하도록 개발
      • 상위 수준에서 정의되어 전문지식이 부족한 일반적인 실제 심사에서 사용이 어려움
      • SPICE는 ISO/IEC 12207의 기본 틀에 맞추어 개발되고 확장됨
    • 프로세스 표준화의 구성(기본,지원,조직 공정으로 구성)
    •  
  • ISO/IEC 15504 표준
    • ISO/IEC 15504의 개요
      • ISO/IEC 15504(SPICE; Software Process Improvement and Capability dEtermination)의 개념
        • 여러 프로세스 개선 모형을 국제 표준으로 통합한 ISO의 소프트웨어 프로세스 모형
        • 소프트웨어 프로세스에 대한 개선 및 능력 측정 기준
        • 개발 기관 : ISO/IEC JTC1/SC7/WG10
      • 등장 배경
        • ISO 900-3이 소프트웨어 분야의 특성과 프로세스적인 면을 개선하지 못해 등장
        • What만 있고, How가 없는 12207의 단점을 해결
        • CMM에 대항하기 위해 ISO/IEC WG10이 개발
    • SPICE의 특정 방법(2차원의 평가 모델을 기준)
      • 프로세스 차원(Process Dimension)
        • 5개의 프로세스 카테고리(Customer-Supplier, Engineering, Support, Management, Organization) 및 40개 세부 프로세스로 구성
        • ISO 12207 : 1995 소프트웨어 생명주기 프로세스를 참고로 함
        • 각 프로세스 별로 목적을 달성하기 위한 기준을 제시
      • 프로세스 능력 차원(Process Capability Dimension)
        • Organization Unit(OU : 수행조직 단위)가 특정 프로세스를 달성하거나 달성 목표로 가능한 능력 수준
        • 0 ~ 5 까지의 6개의 능력 수준(Capability Level)으로 구성
    • SPIEC의 기본 목표
         
    • SPICE의 프로세스 속성
능력 프로세스 속성 수준별 내용
수준5 개속적 개선 프로세스의 변경과 개선이 식별되고 구현되는 정도
   프로세스 변경 프로세스의 변경이 조직 업무 목적 달성을 위해 더 잘 통제되는 정도
수준4 프로세스 통제 척도 수집과 분석을 통해 프로세스가 통제되는 정도
   프로세스 측정 목적 달성에 기여하는 것을 확인할 수 있도록 목적과 척도를 사용하는 정도
수준3 프로세스 지원 적절한 인력 자원과 프로세스 하부 구조를 사용하는 정도
   프로세스 정의 프로세스가 조직 표준 프로세스에 기반을 둔 프로세스 정의를 사용하는 정도
수준2 작업 산출물 관리 요구 사항을 만족하는 작업 산출물 생산을 위해 프로세스가 관리되는 정도
   수행 관리 시간과 자원 요구 한도 내에서 산출물 생산을 위해 프로세스가 관리되는 정도
수준1 프로세스 수행 프로세스 목적에 만족하는 산출물 생산을 위해 프로세스 수행 시 Practices를 사용하는 정도
  • SPICE의 프로세스 능력 수준
  •    
  • CMM(Capability Maturity Model)
    • CMM의 개요
      • 카네기 멜론대의 소프트웨어 공학 연구소(SEI)에서 창안
      • 소프트웨어의 개발 공정 및 조직의 성숙도를 초기, 반복, 정의, 관리, 최적화 등 5개로 나누어 조직의 공정 개선 활동을 지원하는 프로세스 성숙도 모델
      • 조직, 작업 순서, 관리 방법, 기법, 도구, 환경 등을 프로세스의 요소로 정의
      • 프로세스 능력이 우수할수록 좋은 제품과 서비스가 가능하다는 사고에서 출발
    • CMM 성숙도 5단계
Level(단계) 정의 주요 프로세스 영역
  • 최적화 단계
    (Optimizing)
질적, 양적으로 지속적인 개선이 이루어지고 있는 상태
  • 결함 예방
  • 기술 변화 관리
  • 프로세스 변경관리
  • 관리 단계
    (Managed)
프로세스 성과를 측정/분석하여 개선 시키고, 이를 바탕으로 관리하고 있는 상태
  • 정량적 프로세스 관리
  • 소프트웨어 품질 관리
  • 정의 단계
    (Defined)
  • 프로세스 작업이 잘 정의/이해되고, 프로세스 데이터에 의한 프로젝트 관리도 실행하고 있는 상태
  • 프로세스의 기초가 정립되어 계속 진보되고 있는 상태
  • 조직 프로세스의 정의
  • 교육 훈련 프로그램
  • 통합 소프트웨어 관리
  • 소프트웨어 생산 공학
  • 그룹 간 조정/중간 심사
  • 반복 단계
    (Repeatable)
  • 이전의 성공적인 프로젝트의 프로세스를 반복하고 있는 상태
  • 같은 것을 반복적으로 실행하며 어느 정보의 통계적 관리가 가능한 상태
  • 요구 관리
  • 프로젝트 계획
  • 프로젝트 추적과 감시
  • 외주 관리, 품질 보증
  • 구성 및 형상 관리
  • 초기 단계
    (Initial)
  • 소프트웨어를 개발하고 있어나, 관리는 하고 있지 않는 상태
  • 프로세스의 성과를 예측할 수 없는 상태
-

   

  • CMMI(Capability Maturity Model Integration)
    • SI 산업 품질 경영의 새로운 패러다임 CMMI
      • CMMI의 정의
        시스템과 소프트웨어 영역을 하나의 프로세스 개선 툴로 통합시켜 기업의 프로세스 개선 활동에 광범위한 적용성을 제공하는 모델로, 기존 CMM에 프로젝트 관리(PM), 프로큐어먼트(Procurement), 시스템 엔지니어링(SE) 등의 요소를 추가
      • CMMI의 출현 배경
        • 다양한 CMM 모델을 통합한 프로세스 성숙도 모델로, 다양한 분야에 적용할 수 있는 공통의 프레임워크를 제공하기 위해 개발
        • 모델의 통합을 통해 불일치나 중복성은 제거하고, 모델 적용에 드는 비용 절감과 동일한 용어, 일관성 있는 형태를 제시하여 기존 모델보다 명확하게 이해할 수 있도록 개선
      • CMMI의 주요 특징
        • 2000년 6월 미국방성 지원으로 SW, SE, IPD-CMM의 3개 영역을 중심으로 통합
        • CMMI 프로세스 영역은 프로세스 관리, 프로젝트 관리, 설계/개발, 지원, 도입의 5개의 영역으로 구성
    • 주요 CMM 모델의 종류 및 CMMI 프레임워크
      • 주요 CMM 모델의 종류
모델 구분 특징
소프트웨어(Software) 소프트웨어 개발 프로세스 성숙도를 측정 및 개선
소프트웨어 획득(SA; Software Acquisition) 소프트웨어 획득 과정의 능력 개선
시스템 엔지니어링(SE; System Engineering) 시스템 공학 분야에서 적용해야 할 기본 요소 평가
인적 CMM(People-CMM) 인적 자원의 능력 수준 향상
통합 제품 개발(IPD; Integrated Product Development) 각기 진행되는 프로젝트 간의 협동과 제품 개발 프로세스 개선
  • CMMI 프레임워크의 목적
    • 제품 또는 서비스의 개발, 획득, 유지보수를 위한 조직의 공정 및 관리 능력을 향상시키기 위한 가이드를 제공하는 것
    • CMMI는 검증된 실무 활동을 반영하여 조직의 성숙도 및 공정 능력 평가, 공정 향상을 위한 할동의 우선 순위 결정, 실제 공정 향상을 위한 구현 활동을 지원하는 프레임워크를 구성
      • 첫째, CMMI는 여러 CMM 모델의 가장 효과적인 특성 및 공통 요소를 포함하면서 이들이 지원하는 분야에서 공통적으로 사용될 수 있는 용어 및 교육을 제공하며, 통합된 평가 방법(SCAMPI)을 제공
      • 둘째, CMMI는 시스템 공학과 소프트웨어 공학의 기능적 통합에 중점을 두고 있으며, 통합된 제품을 개발하기 위한 기반을 제공
      • 셋째, 다른 분야로의 확장이 가능한 구조
  • CMMI 적용 방식 비교
종류 내역 특징
연속적 표현 모형
  • 기존 심사 모형이 SE-CMM인 경우
  • 프로세스 모델에서 제시하는 전체 영역에 적용하여 평가 받고, 영역별 수준을 조직의 성숙 수준으로 가져감
  • 특정 프로세스 영역에 대한 조직 간의 비교가 가능
  • SPICE 모델과 유사한 구조를 가지고 있어, 이를 기반으로 프로세스 개선 모델과의 비교가 가능
상향식
(Top-Down) 개념
단계적 표현 모형
  • 기존의 심사 모형이 소프트웨어-CMM인 경우
  • 요구되는 여러 프로세스 영역 중 조직의 필요성 등에 따라 특정 영역을 선택해 적용하여 평가받고, 나머지 영역에 대해 추가적으로 적용하여 전체 영역을 평가 받음
  • 성숙도의 수준을 이용한 조직간의 비교가 가능
하향식
(Bottom-Up)개념

   

  • CMMI에서는 CMM의 단계적 표현 모형에 SPICE의 방식을 활용한 연속적 표현 모형을 적용.
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.