[주의 사항]
IEEE에서 제작한 본 SWEBOK는 무시하기 어려운 비판론이 제기된 상황입니다. 주된 비판 주체로 초기에 본 문서 제작에 참여했다 철수한 ACM이 있으며, Grady Booch, Cen Kaner가 보입니다. 비판의 핵심은 본 문서가 주장하는 바인 'Generally accepted'가 사실이 아니라는 점과 본 문서와 밀접히 연계된 licensing(CSDP)의 무효성입니다.

상기 비판론을 염두하여 문서에 대한 내용을 받아들이길 권장합니다.
Translated/Summarized by Anyflow (anyflow@gmail.com / anyflow.net)

Introduction 
많은 조직에서 품질이란 용어를 달리 정의해왔는데, Phil Crosby는 '사용자 요구사항으로의 일치(conformance)'로, Watts Humphrey는 '사용하기에 알맞은 뛰어난 수준의 달성'이라 함. 한편 IBM은 '시장-주도 품질(market-driven quality)'란 용어를 만들었는데, 이는 전체 고객의 만족 달성이란 생각에 기반하며, 또 다른 조직에서 만든 '고객-주도 품질'이란 비슷한 용어 역시 고객 만족이 주요 고려사항으로 포함됨을 나타냄. 최근 ISO9001-00에서는 품질을 '요구사항을 달성(fulfill)하기 위한 고유 특성(inherent characteristics) 집합의 수준'이라 정의.
S/W 품질에 대한 고려는 생명주기 프로세스를 초월하여, SWE 활동 전체에 편재되어 많은 타 KA에서 고려됨. 본 장이 다루는 대상은 평가 대상의 S/W에 대한 실행을 요구하지 않는 정적(static) 기법을 다루며 동적(dynamic) 기법은 S/W 시험 KA에서 다룸.

Breakdown of topics


1. S/W 품질 기본(Software Quality Fundamentals)
품질 요구사항의 합의를 이루기 위해서는 품질의 많은 측면에 대해 정식으로 정의 및 논의를 이루어야.
S/W 요구사항은 필요한 S/W의 품질 특성을 정의함과 동시에, 측정 방법 및 이들 특성의 평가를 위한 수용 기준에 영향을 미침.

1.1 SWE 문화 및 규범(Software Engineering Culture and Ethics)
S/W 기술자는 S/W 품질 활동(commitment)을 그들의 문화의 일부로 받아들여야. 
규범(Ethics)은 S/W 품질, 문화 및 S/W 기술자의 태도에 의미 있는 영향을 미침.

1.2. 품질의 가치 및 비용(Value and Costs of Quality)
"품질"이란 용어는 보이는 것처럼 그리 간단하지는 않아, 모든 공학 제품(engineered product)의 경우에서 제품의 특정 관점에 관계되고 기대되는 여러 품질이 있는데, 이들은 제품 요구사항이 만들어진(set down) 시점에서 논의 및 결정됨. 품질 특성(characteristic)은 요구될 수도, 아니 요구될 수도 있으며, 또한 더 높은/낮은 수준으로 요구될 수도 있고 이들 간에 트레이드오프가 이루어질 수도. 품질 비용은 예방 비용, 평가(appraisal) 비용, 내부 실패 비용, 외부 실패 비용 등으로 나뉠 수 있음.
S/W 프로젝트에 담긴 동기는 가치를 담은 S/W의 생성이며 본 가치는 비용으로 정량화 될 수도 있음. 고객은 최대 비용을 마음에 두고, 그 대가로 S/W의 본 기본 목적이 충족되기를 기대하게 됨. 또한 고객은 S/W의 품질에 대해서도 일정 기대를 갖게 될 수도 있지만, 품질 이슈 또는 이에 관계된 비용 문제에 대해서는 아무 것도 모를 수도. S/W에서 특성(characteristic)이란 단순이 부가적(decorative)인 것일까, 또는 핵심적인 것일까. 이에 대한 대답이 그 중간에 있다면 항시 그래왔듯이, 이는 고객을 결정 프로세스의 일부로 참여시키고 비용과 이익에 대해 전부 알리느냐의 문제가 됨. 이상적으로 보자면, 이들 결정의 대부분은 S/W 요구사항 프로세스에서 이루게 되지만, S/W 생명주기 전체에 걸쳐 이슈가 나타나기 마련임. 따라서, 이들 결정을 이루는 방법에 대해서는 명확히 정의된 규칙은 없지만, S/W 기술자는 품질 대안과 이에 대한 비용에 대해 준비를 하여야.

1.3. 모형과 품질의 특성(Models and Quality Characteristics)
S/W 품질 특성에 대한 용어는 택소노미(또는 S/W 품질 모형)마다 달라, 각 모형은 각기 상이한 계층 수준 및 특성 개수를 가짐. S/W 품질 특성(characteristic, attribute) 모형은 S/W 제품 품질에 대한 논의, 계획 및 수준 정의(rate)에 유용한데, ISO9126-01에서는 S/W 제품 품질에 관한 3개의 모형, 즉 내부 품질, 외부 품질, 사용 중 품질을 정의하고, ISO14598-98에서 관련 내용을 논함
1.3.1. SWE 프로세스 품질(Software engineering process quality)
- S/W 품질 관리 및 SWE 프로세스 품질은 S/W 제품 품질과 직접적인 관계를 맺음. S/W 조직의 능력을 평가하는 모형과 기준은 주로 조직적/관리적 고려측면을 반영하는데, 이는 SWE 관리 및 SWE 프로세스 KA에서 다룸.
- 프로세스 품질과 제품 품질을 완전히 구분하는 것은 물론 불가능하지만, 프로세스 품질은 S/W 제품 품질 특성에 영향을 미쳐 결국 고객이 느끼게 될 사용 상 품질에 영향을 미치게 됨.
- 주요 품질 표준에는 TicKIT과 ISO9003-4와 함께하는 ISO9001-00이 있음. 품질 관리에 관련한 프로세스 영역으로, a) 프로세스 및 제품 품질 보증, b) 프로세스 검증(verification), c) 프로세스 확인(validation)이 있으며, CMMi에서는 검토(review)와 감사(audit)를 확인 과정으로 넣는데, IEEE12207.0-96에서는 이들을 독립적 프로세스 영역으로 다룸.
- ISO9001과 CMMi 중 어느 것을 품질 확인에 사용할 것인지에 대해 많은 논쟁이 있었는데, 결론적으로 이들 둘은 상호보완적이어, ISO9001 인증은 CMMi에서 더 높은 수준의 성숙도를 얻는데 크게 도움이 됨.
1.3.2. S/W 제품 품질(Software product quality)
- S/W 기술자는 무엇보다도 해당 S/W의 실제 목적을 결정해야 하는데, 이는 결국 고객의 요구사항에서 오며, 여기에는 단순히 기능적 요구사항 뿐 아니라 품질 요구사항까지 함께하게 됨. 따라서, S/W 기술자는 명시적으로 드러나지 않은 품질 요구사항까지 추출할 책임이 있을 뿐 아니라 품질이 얼마나 중요한지, 얼마나 얻기 어려운지 또한 논할 책임이 있음. S/W 품질에 관계된 모든 프로세스는(예를 들어, 품질 수립, 검토, 향상 등) 이들 요구사항을 염두한 상태에서 설계되어야 하며, 추가적 비용 역시 함께 지출되어야.
- ISO9126-01 표준에서는 3개 품질 모형 중 2개, 즉 관련 품질 특성 및 부특성과 S/W 제품 품질 평가를 위한 측정기준을 정의함.
- '제품'이란 용어는 최종 S/W 제품을 빌드하기 위해 사용된 모든 프로세스의 산출물을 포함. 이에 대한 예로, 전체 시스템의 요구사항 명세, 시스템의 S/W 컴포넌트에 대한 요구사항 명세, 설계 모듈, 코드, 시험 문서화 및 품질 분석 작업의 결과로 만들어진 보고서 등이 있어. 품질에 관련한 대부분의 행동이 S/W 및 시스템의 성능에 연계된 기술이지만, 괜찮다 싶은 SWE 프랙티스는 SWE 프로세스 전체에 걸쳐 중간 제품에 대한 품질 평가를 요구함.

1.4 품질 향상(Quality Improvement)
S/W 제품 품질은 지속적 향상을 이루는 반복적 프로세스를 통해 향상될 수 있는데, 여기에는 관리 통제, 코디네이션(coordination), 많은 병렬적 프로세스, 즉 (1)S/W 생명주기 프로세스, (2)오류/결함 검출, 제거, 예방 프로세스, (3)품질 향상 프로세스로부터의 피드백이 요구됨.
품질 향상 이면에서는 예방 및 초기 오류 검출, 지속적 향상, 고객의 관심(focus)을 통한 품질 기반 빌드라는 이론과 개념이 존재. 이들 개념은 프로세스 품질이 제품 품질에 직결한다는 경험에 기반.
PDCA(Plan, Do, Check, Act)의 전체 품질 관리 프로세스와 같은 접근법은 품질 목표가 담긴 도구이고, 관리 활동에서는 프로세스와 제품 평가 및 결과 식별을 이룸. 이후 세부 활동 및 적정 기간 내 수행 가능한 향상 프로젝트를 식별하는 향상 프로그램이 개발됨.
PDCA(Plan, Do, Check, Act)의 종합 품질 관리(TQM; Total Quality Management)와 같은 접근법은 품질 목표를 이룰 수 있는 도구임. 
Management sponsorship supports process and product evaluations and the resulting findings. Then, an -improvement program is developed identifying detailed actions and improvement projects to be addressed in a
feasible time frame. Management support implies that each improvement project has enough resources to achieve the goal defined for it. Management sponsorship must be solicited frequently by implementing proactive communication activities. The involvement of work groups, as well as middle-management support and
resources allocated at project level, are discussed in the Software Engineering Process KA.



Posted by 어쨌건간에
TAG , ,