CMM 은 소프트웨어 계약 능력을 평가하고 소프트웨어 품질을 향상시키는 데 도움이 되는 방법으로 소프트웨어 개발 프로세스의 관리 및 엔지니어링 역량 향상 및 평가에 중점을 둡니다. CMM 은 5 단계로 나뉩니다. 첫 번째 레벨은 초기 레벨이고, 두 번째 레벨은 반복 가능한 레벨이며, 세 번째 레벨은 정의 레벨이고, 네 번째 레벨은 관리 레벨이며, 다섯 번째 레벨은 최적화 레벨입니다.
CMM 은 미국 카네기멜론 대학교 소프트웨어공학연구소가 1987 년에 성공적으로 개발했다. 세계에서 가장 인기 있고 실용적인 소프트웨어 생산 프로세스 표준 및 소프트웨어 기업 성숙도 수준 인증 표준입니다. 현재 우리나라의 기존 소프트웨어 기업들은 이미 CMM 표준 인증을 통과했다.
Sw-CMM (capability maturity model for software productivity maturity model, 이하 "CMM") 은 미국 카네기멜론 대학교 소프트웨어 엔지니어링 연구소 (CMU SEI) 의 그 목적은 소프트웨어 기업이 소프트웨어 엔지니어링 프로세스를 관리 및 개선하고 개발 및 개선 능력을 강화하여 예산 내에서 적시에 고품질의 소프트웨어를 개발할 수 있도록 지원하는 것입니다.
효과적인 소프트웨어 엔지니어링 프로세스 인프라 구축에 집중하고 관리 관행과 프로세스 개선에 집중하면 소프트웨어 생산의 어려움을 극복할 수 있다는 생각에 기반을 두고 있습니다. CMM 은 세계에서 가장 인기 있고 실용적인 소프트웨어 생산 프로세스 표준으로 많은 국가와 국제 소프트웨어 업계의 인정을 받아 대기업이 대형 소프트웨어 생산에 종사하는 데 없어서는 안 될 내용이 되었다.
현재 가장 인기 있는 CMM 버전은1..1(버전 1. 1) 입니다. SEI (software engineering institute) 의 원래 계획에 따르면 CMM 의 개선된 버전 2.0 (V2.0) 은 1997+0 1 년 6 월에 완성된다. 그러나 미 국방부 사무실은 또 다른 긴급한 프로젝트인 ——CMMI 를 완성할 때까지 SEI (소프트웨어 공학연구소) 에 CMM 버전 2.0 출시를 연기할 것을 요구했다.
Cmmi (capability maturity model integration 역량 성숙도 모델 통합) 는 미 국방부의 아이디어입니다. 기존의 모든 역량 성숙도 모델과 미래의 역량 성숙도 모델을 하나의 프레임워크로 통합하고자 합니다. 이 프레임워크는 두 가지 문제를 해결하는 데 사용됩니다. 하나는 소프트웨어 조달 방식의 개혁입니다. 둘째, 통합 제품 및 프로세스 개발의 관점에서 완벽한 시스템 개발 원칙을 포함하는 프로세스 개선을 수립합니다.
CMM 은 소프트웨어 기업의 프로세스 능력에 대한 점진적인 개선을 위한 프레임워크를 제공합니다. CMM 은 이전 소프트웨어 엔지니어링 프로세스 개선의 모든 성과를 바탕으로 이전 소프트웨어 엔지니어링의 경험을 바탕으로 프로세스 개선을 기반으로 하는 프레임워크를 제공합니다. 소프트웨어 조직에서 소프트웨어 개발에서 관리해야 할 주요 작업, 이러한 작업 간의 관계, 그리고 소프트웨어 조직을 성숙시키기 위해 이러한 작업을 단계적으로 수행해야 하는 순서를 설명합니다.
첫째, CMM 의 탄생
정보화 시대에는 소프트웨어 품질의 중요성이 점점 더 인식되고 있다. 소프트웨어는 제품이고, 설비이며, 도구이며, 그 품질은 고객을 만족시키며, 제품 시장의 개척과 사업 발전의 관건이다. 소프트웨어 엔지니어링 분야는 1992 부터 1997 까지 전례 없는 발전을 이루었으며, 이는 지난 15 년간의 소프트웨어 엔지니어링 분야 성과의 합계를 능가합니다.
1970 년대 중반부터 소프트웨어 관리 공사가 많은 관심을 끌고 있다. 당시 미 국방부는 소프트웨어 프로젝트가 좋지 않은 원인을 전문적으로 연구한 결과, 프로젝트의 70% 가 기술 역량이 부족한 것이 아니라 관리 부실로 인한 것으로 밝혀진 뒤, 관리는 소프트웨어 R&D 프로젝트의 전반적인 상황에 영향을 미치는 요인이며 기술은 부분에만 영향을 미친다는 결론을 내렸다. 1990 년대 중반에는 소프트웨어 관리 엔지니어링이 좋지 않은 문제가 여전히 남아 있으며, 약 65,438+00% 의 프로젝트만 예정된 비용과 일정에 따라 배송될 수 있습니다. 소프트웨어 프로젝트 실패의 주요 원인은 다음과 같습니다. 수요 정의가 명확하지 않습니다. 좋은 소프트웨어 개발 프로세스가 부족합니다. 통합 제품 r&d 팀이 없습니다. 하도급 관리가 엄격하지 않습니다. 소프트웨어 프로세스 개선에 항상 주의를 기울이는 것은 아닙니다. 소프트웨어 아키텍처에 거의 관심이 없습니다. 소프트웨어 인터페이스 정의가 명확하지 않고 적절한 제어가 부족합니다. 소프트웨어 업그레이드로 인해 하드웨어의 결함이 드러났습니다. 혁신에 관심이 있지만 비용과 위험은 신경 쓰지 않습니다. 군표가 너무 적어 완벽하지 못하다. 소프트웨어 프로젝트의 성공과 관련된 여러 요소 중에서 소프트웨어 측정, 작업량 추정, 프로젝트 계획, 일정 관리, 요구 사항 변경 및 위험 관리는 프로젝트 관리와 직접 관련이 있습니다. 따라서 소프트웨어 관리 프로젝트의 중요성은 매우 중요합니다.
소프트웨어 관리 프로젝트는 다른 엔지니어링 관리에 비해 그 특수성이 있다. 첫째, 소프트웨어는 지식 제품이며, 진도와 품질은 측정하기 어렵고, 생산성도 보장하기 어렵다. 둘째, 소프트웨어 시스템의 복잡성은 상상을 초월한다. 소프트웨어가 복잡하고 측정하기 어렵기 때문에, 소프트웨어 관리 공사의 발전은 아직 미숙하다.
소프트웨어 관리 엔지니어링의 발전은 1970 년대부터 구조화 분석 및 설계, 구조화 검토, 구조화 프로그램 설계 및 구조화 테스트를 특징으로 하는 구조화 생산 시대를 거쳤으며, 1990 년대 중반에는 CMM 모델의 성숙과 시장 수용을 상징했습니다. 프로세스 성숙모델 CMM, 개별 소프트웨어 프로세스 PSP 및 그룹 소프트웨어 프로세스 TSP 를 로고로 하는 프로세스 중심 시대로 접어들었습니다. 90 년대 중반 소프트웨어 프로세스 기술의 성숙과 객체 지향 기술, 구성 요소 기술의 발전을 바탕으로 소프트웨어 개발의 세 번째 시대, 즉 소프트웨어의 산업화 생산 시대가 점차 나타나고 있다. 2005 년까지 소프트웨어의 진정한 산업화 생산이 가능할 것으로 예상된다. 이러한 추세는 소프트웨어 기업계와 관련 부서의 높은 중시를 불러일으켜야 하며, 가능한 한 빨리 세계 소프트웨어 발전의 속도를 따라잡기 위한 조치를 취해야 한다. 소프트웨어 생산에서 소프트웨어 프로세스 개선에 중점을 둔 이전은 전 세계 소프트웨어 산업이 조만간 가야 할 길이다.
소프트웨어 프로세스 개선은 현재 소프트웨어 관리 프로젝트의 핵심 문제입니다. 최근 50 년 동안 컴퓨팅의 발전은 소프트웨어 생산 과정을 개선해야 한다는 것을 사람들에게 일깨워 주었다. (윌리엄 셰익스피어, 템플릿, 과학명언) 소프트웨어 관리 엔지니어링은 1970 년대부터 1990 년대 중반까지 구조화 분석 및 설계, 구조화 검토, 구조화 프로그램 설계 및 구조화 테스트를 기반으로 프로세스 성숙도 모델 CMM, 개별 소프트웨어 프로세스 PSP 및 그룹 소프트웨어 프로세스 TSP 를 상징했습니다. 소프트웨어 프로세스 기술의 성숙과 객체 지향 기술, 구성 요소 기술 발전의 길로 나아가다. 소프트웨어 생산에서 소프트웨어 프로세스 개선에 중점을 둔 이전은 전 세계 소프트웨어 산업이 조만간 가야 할 길이다. 소프트웨어 업계는 이미 경험하거나' 소프트웨어 과정의 성숙함' 을 겪고 있으며, 점차' 소프트웨어의 산업화' 로 전환하고 있다. 표준화된 소프트웨어 과정은 소프트웨어 산업화의 필수 조건이다.
소프트웨어 프로세스는 효과적인 관리 수단을 통해 소프트웨어 생산의 효율성을 높이고 소프트웨어 제품의 품질을 보장하는 사람, 기술 및 도구를 구성하는 방법을 연구합니다. 이로써 소프트웨어 과정의 세 가지 유파가 탄생했다: CMU-SEI 의 CMM/PSP/TSP; ISO 9000 품질 표준 시스템; Iso/iec15504 (향신료).
소프트웨어 역량 성숙도 모델/개별 소프트웨어 프로세스/그룹 소프트웨어 프로세스인 CMM/PSP/TSP 는 미국 카네기멜론 대학 소프트웨어 엔지니어링 연구소 (CMU/SEI) 가 W.S.Humphrey 를 비롯한 연구팀이1에 있습니다. SO 9000 품질 표준 체계는 1970 년대에 유럽에서 처음 채택된 후 미국과 세계 다른 지역에서 급속히 발전했다. 현재 유럽 연합은 소프트웨어 품질 제도화를 적극적으로 추진하며 ISO900 1, ISO9000-3, ISO9004-2, ISO9004-4, ISO9002; 등의 ISO900 소프트웨어 표준을 제시하고 있습니다. 을 눌러 섹션을 인쇄할 수도 있습니다 ISO/IEC 15504(SPICE) 는 199 1 CMU-SEI 의 기본 사상을 따르는 국제 표준화기구가 생성한 기술 보고서 iso/iee 입니다
현재 학계와 업계에서는 W.S.Humphrey 가 이끄는 소프트웨어 역량 성숙도 모델 CMM 이 현재 최고의 소프트웨어 프로세스이며 업계에서 사실상 소프트웨어 프로세스 산업 표준이 되고 있습니다.
둘째, CMM 개발
65438 부터 0987 까지 W.S.Humphrey 를 비롯한 연구팀은 CMM/PSP/TSP 기술을 발표해 소프트웨어 관리 공사를 위한 새로운 길을 열었다.
CMM 프레임워크는 다섯 가지 진화 계층으로 소프트웨어 생산의 역사와 현황을 평가합니다. 초기 계층은 혼돈의 과정이고, 반복 가능한 계층은 훈련된 소프트웨어 프로세스이며, 정의 계층은 표준적으로 일관된 소프트웨어 프로세스이며, 경영진은 예측 가능한 소프트웨어 프로세스이며, 최적화 계층은 지속적으로 개선할 수 있는 소프트웨어 프로세스입니다. 어떤 유닛이 구현하는 소프트웨어 프로세스는 한편으로는 성숙하고 한편으로는 미성숙할 수 있지만, 전반적으로 이 다섯 계층 중 하나에 속해야 합니다. 그리고 어느 정도 성숙도 차이가 있다. 서로 다른 계층의 CMM 프레임워크에서는 서로 다른 계층 특징을 가진 소프트웨어 프로세스 문제를 해결해야 합니다. 따라서 소프트웨어 개발 단위는 먼저 자신이 어떤 수준인지 알아야 하며, 그런 다음 이 계층의 특수한 요구 사항에 따라 관련 문제를 해결할 수 있으므로 더 적은 노력으로 더 많은 작업을 수행할 수 있습니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 소프트웨어 개발명언) 모든 소프트웨어 개발 단위는 소프트웨어 프로세스 개선에 전념해야 이 수준에서 다음 단계로 진화할 수 있습니다. 또한, 성숙한 수준에서 더 성숙한 수준으로 진화하는 과정에서, 기존 계층에 이미 존재하는 능력은 반드시 유지되어 빛을 발해야 한다. (윌리엄 셰익스피어, 윈스턴, 성숙명언) (윌리엄 셰익스피어, 윈스턴, 성숙명언)
소프트웨어 제품의 품질은 소프트웨어 구축에 사용되는 소프트웨어 개발 및 유지 관리 프로세스의 품질에 크게 좌우됩니다. 소프트웨어 프로세스는 인력 집약적이고 설계가 밀집된 운영 프로세스입니다. 숙련된 인력이 없으면 소프트웨어 프로세스의 성공을 수립하고 지원하기가 어렵고, 개선 작업도 효과를 얻기가 어렵습니다. (윌리엄 셰익스피어, Northern Exposure (미국 TV 드라마), 소프트웨어 프로세스, 소프트웨어 프로세스, 소프트웨어 프로세스) CMM 이 설명하는 프레임워크는 무작위 혼돈 과정에서 훈련된 성숙한 과정으로의 진화를 설명하는 방법입니다.
CMM 은 "소프트웨어 역량 성숙도 모델" 과 "역량 성숙도 모델의 핵심 관행" 으로 구성됩니다. 소프트웨어 기능 성숙도 모델은 주로 모델의 구조를 설명하고 기본 구성 요소의 정의를 제공합니다. 역량 성숙도 모델의 핵심 관행은 각 "주요 프로세스 측면" 과 관련된 "주요 관행" 에 대해 자세히 설명합니다. 여기서 "핵심 프로세스 측면" 은 일련의 관련 활동을 의미합니다. 각 소프트웨어 기능 성숙도 수준에는 성숙도 수준에 중요한 몇 가지 프로세스 측면이 포함되어 있으며, 이러한 구현은 성숙도 수준 목표 달성을 보장하는 역할을 합니다. 이러한 프로세스 영역을 성숙도 수준의 핵심 프로세스 영역이라고 하며, 주요 프로세스 영역의 존재는 해당 소프트웨어 수준 역량 성숙도 모델을 달성하는 목표에 중요한 역할을 하지 않는다는 것을 의미합니다. 요약: 상호 연관된 소프트웨어 실습 활동 및 관련 인프라 모음입니다. "핵심 실천" 은 핵심 프로세스를 효과적으로 실현하고 제도화할 수 있는 가장 중요한 인프라와 활동, 그리고 주요 프로세스 실무에서 중요한 역할을 하는 원칙, 절차, 조치, 활동 및 관련 인프라의 설립을 말합니다. 핵심 관행은 일반적으로' 무엇을 하는가' 만 묘사하며' 어떻게 하는가' 는 규정하지 않는다. 각 주요 프로세스의 다섯 가지 "공통 * * * 특징" (구현 프로세스의 약속, 구현 프로세스의 역량, 프로세스 중 구현할 활동, 프로세스 구현의 측정 및 분석, 구현 활동 준수 확인 프로세스) 에 따라 각 주요 사례를 분류하고 하나씩 자세히 설명합니다. 하나의 핵심 프로세스의 모든 주요 관행이 달성되면 핵심 프로세스가 달성된 것으로 간주되고, 성숙도 수준과 하위 수준에 포함된 모든 주요 프로세스가 이미 달성된 경우 해당 수준이 달성된 것으로 간주된다. (윌리엄 셰익스피어, 성숙도, 성숙도, 성숙도, 성숙도, 성숙도, 성숙도, 성숙도, 성숙도)
앞서 언급했듯이 CMM 은 소프트웨어 개발 조직의 역량 성숙도를 다섯 가지 수준으로 나눕니다. 레벨 1 을 제외한 각 레벨은 몇 가지 주요 프로세스 영역으로 구성됩니다. 각 주요 프로세스 측면에는 이러한 다섯 가지 공통 기능이 있습니다. CMM 은 각 주요 프로세스에 대한 구체적인 목표를 제공합니다. 각 공통 피쳐 분류에 따른 주요 관행은 핵심 프로세스의 특정 목표에 따라 선택 및 결정됩니다. 핵심 프로세스와 관련된 모든 주요 관행이 제대로 처리되면 핵심 프로세스의 목표가 달성됩니다. 즉, 핵심 프로세스가 달성되었음을 의미합니다. 이러한 성숙도 분류의 장점은 이러한 레벨이 프로세스 개선 작업의 우선 순위와 순서를 명확하게 반영한다는 것입니다.