개발 이후에 소프트웨어 문제점을 발견하고 복구하려면 100배에서 1000배까지의 비용이 더 듭니다. 적시에 올바른 목표를 달성하려면 프로젝트 라이프사이클 전체에서 품질을 확인하고 관리하는 것이 필요합니다.
모든 아티팩트가 성숙함에 따라 이런 아티팩트의 품질을 프로젝트 라이프사이클의 여러 지점에서 평가해야 합니다. 아티팩트는 각 반복의 끝에서 제품을 완성하는 활동으로 평가되어야 합니다. 특히, 실행 가능한 소프트웨어가
생성되면 각 반복에서 중요한 시나리오의 시연 및 테스트를 수행해야 합니다. 이를 통해 디자인 절충에 대해 더 확실히 이해하고 아키텍처 결함을 더 빨리 제거할 수 있습니다. 이것은 프로젝트 라이프사이클 마지막까지
통합 소프트웨어 테스트를 남겨 두는 전통적인 방법과 대조적입니다.
품질은 모두가 제품, 프로세스 및 서비스에서 얻으려고 애쓰는 대상입니다. "품질이 무엇인가"라는 질문에 모든 사람이 다른 답을 하게 됩니다. 공통적인 응답에는 다음 중 하나가 포함됩니다.
-
"품질 ... 품질을 어떻게 설명해야 할지 모르겠지만 그것을 보게 되면 알 수 있을 것입니다."
-
"... 요구사항을 충족하는 것입니다."
품질, 특히 소프트웨어에 관련된 품질에 대한 가장 빈번한 참조는 아마도 다음과 같은 품질 결여에 관련된 주석일 것입니다.
"어떻게 품질이 이렇게 안좋은 상태로 릴리스할 수가 있습니까?"
이런 평범한 응답이 이야기되고 있지만 이것은 품질을 엄격하게 조사하고 품질의 실행을 개선하기 위한 기회를 거의 제공하지 않습니다. 이런 설명 모두는 측정되고 달성될 수 있는 방법으로 품질을 정의해야 할 필요성을
나타내고 있습니다.
그러나 품질은 단일 특성이나 속성이 아닙니다. 품질은 다차원이며 제품 또는 프로세스에 포함될 수 있습니다. 제품 품질이 올바른 제품을 빌드하는 데 중점을 두는 반면 프로세스 품질은 올바르게 제품을 빌드하는 데
초점을 맞춥니다. 자세한 정보는 개념: 제품 품질 및
개념: 프로세스 품질을 참조하십시오
American Heritage Dictionary of the English Language, 제 3판, Houghton Mifflin Co.,© 1992, 1996에서 발췌한 품질의 정의는 다음과 같습니다.
Quality(kwol'i-te) n., pl. -ties. 1.a. An inherent or distinguishing characteristic; a
property. b. A personal trait, especially a character trait. 2. Essential character; nature.
3.a. Superiority of kind. b. Degree or grade of excellence.
이 정의에 나타난 대로 품질은 단일 차원이 아니라 여러 차원입니다. 정의를 사용하고 이것을 소프트웨어 개발에 적용하려면 정의가 정제되어야 합니다. 따라서 RUP에 적합한 품질의 정의는 다음과 같습니다.
"...합의된 요구사항(합의된 척도 및 기준을 통해 특정됨)을 충족시키거나 초과하고 합의된 프로세스에 의해 생산되는 제품 생산 달성을 설명한 특성입니다."
품질 달성은 단순히 "요구사항 충족" 또는 사용자 요구 및 기대를 충족시키는 제품 생산을 의미하지는 않습니다. 오히려, 품질은 품질 달성을 증명하기 위한 척도 및 기준, 프로세스에 의해 작성된 제품이 원하는 품질
정도를 이루었는지 확인하기 위한 프로세스 구현을 포함하며 반복되고 관리될 수 있습니다.
RUP에서 품질 아이디어를 정의하는 방법에 대한 추가 정보는 다음 페이지를 참조하십시오.
일반적인 오해는 하나의 그룹이 품질을 소유하고 책임진다는 것입니다. 이런 가설은 때때로 품질 보증(테스트, 품질 제어 및 품질 엔지니어링이라고도 함)이라고 부르는 그룹을 작성하고 이 그룹에게 품질에 대한 특권 및
책임을 제공하여 영구히 지속됩니다.
품질은 모두의 책임이며 또한 그래야 합니다. 품질 달성은 독립 원칙 대신에 거의 모든 프로세스 활동에 없어서는 안됩니다. 그 때문에 모두가 생산하는 제품(또는 아티팩트)의 품질 및 관련된 프로세스의 구현에 대해
책임지게 됩니다.
각 역할은 다음과 같은 방법으로 품질 달성에 기여합니다.
-
제품 품질 - 생성 중인 각 아티팩트의 전체적인 품질 달성에 기여.
-
프로세스 품질 - 관련된 프로세스 활동에서 품질 달성.
모두는 고품질의 제품을 통해 얻어지는 책임 및 명예나 낮은 품질의 제품에서 오는 불명예를 분담해야 합니다. 그러나 특정 프로세스 컴포넌트에 직접 연관된 사람만이 프로세스 컴포넌트(및 아티팩트)에 대한 명예 또는
불명예를 책임집니다. 하지만 누군가는 품질 관리에 대한 책임을 맡아야 합니다. 다시 말해, 품질이 관리, 측정 및 달성되고 있는지 확인하기 위한 관리를 제공해야 합니다. 품질 관리를 책임지는 역할은 프로젝트 관리자입니다.
품질에 대한 많은 오해가 있으며 가장 일반적인 오해는 다음과 같습니다.
이것이 무엇인지, 무엇을 수행해야 하는지, 누가 사용하는지, 어떻게 사용되는지 등에 대한 설명이 없을 경우 제품이 생산될 수 없는 것처럼, 품질 및 품질 달성은 설명되지 않고 평가되지 않으며 제품 작성 프로세스의
일부가 아니면 이루어질 수 없습니다.
개념: 품질 측정 및 이 문서에서 품질은 그 자체입니다.
섹션을 참조하십시오.
품질은 단일 차원, 속성 또는 특성이 아닙니다. 품질은 다양한 방법으로 측정됩니다. 프로젝트, 조직 및 고객의 요구사항을 충족시키기 위해 품질 메트릭 및 기준이 수립됩니다.
품질은 여러 차원으로 측정될 수 있습니다. 일부는 프로세스 품질에, 일부는 제품 품질에 적용되며 일부는 두 가지 모두에 적용됩니다. 품질은 다음에 대해 측정될 수 있습니다.
-
진행상태 - 시연된 유스 케이스 또는 완료된 이정표 등
-
편차 - 계획된 스케줄, 예산, 인력 구성 요구사항 등과 실제 간의 차이
-
신뢰성 - 실행 중 장애(충돌, 정지, 메모리 누수 등)에 대한 저항
-
기능 - 아티팩트 의도된 대로 필요한 유스 케이스를 구현하고 실행함
-
성능 - 아티팩트는 적시에 허용 가능한 방법으로 실행되고 응답하며 로드, 스트레스 및 긴 운영 기간 등과 같은 실제 운영상 특성에 만족할 때 계속 수행됩니다.
자세한 정보는 개념: 품질 차원, 개념: 제품 품질 및
개념: 프로세스 품질을 참조하십시오
품질은 자체적으로 발생할 수 없습니다. 품질을 달성하기 위해 프로세스가 구현되고 고수되며 평가됩니다. RUP의 목적은 개발 조직 내에서 타스크 및 책임을 지정하는 원칙적인 방법을 제공하는 것입니다. 목적은 예측
가능한 스케줄 및 예산 내에서 사용자의 요구사항을 충족시키는 고품질의 소프트웨어 프로덕션을 보증하는 것입니다. RUP는 광범위한 프로젝트 및 조직에 맞게 조정될 수 있는 양식으로 최신 소프트웨어 개발에 대한 많은
우수 사례를 캡처합니다. 환경 원칙은 요구사항에 맞게 프로세스를 구성하는 최적의 방법에 대한 안내를 제공합니다.
프로세스는 구성될 수 있고 품질(적합성 기준)은 몇 가지 요인에 따라 협상될 수 있습니다. 가장 공통적인 요인은 다음과 같습니다.
-
위험성(책임 포함)
-
시장 기회
-
수익 요구사항
-
인력 구성 또는 스케줄 문제
-
예산
프로세스의 변경사항 및 적합성 기준은 프로젝트 시작 시 식별되고 합의되어야 합니다.
품질 관리는 다음과 같은 목적으로 수행됩니다.
-
허용 가능한 품질의 적합한 지수(메트릭)를 식별하기 위해
-
품질 평가에 사용될 적합한 측정법을 식별하기 위해
-
가능한 초기에 효율적으로 품질에 영향을 주는 문제를 식별하고 적절하게 제시하기 위해
RUP에서 품질 관리는 모든 원칙, 워크플로우, 단계 및 반복에서 구현됩니다. 일반적으로 라이프사이클에서의 품질 관리는 프로세스 품질 및 제품 품질 모두를 구현, 측정 및 평가하는 것을 의미합니다. 각 원칙의
품질을 관리하기 위해 소비되는 노력 중 일부가 다음 목록에 하이라이트됩니다.
-
요구사항 원칙에서 품질 관리는 일관성(표준 아티팩트 및 기타 아티팩트 간), 명확성(모든 투자자, 이해
당사자(stakeholder) 및 기타 역할에 정확하게 정보 전달), 및 정밀도(적절한 레벨의 세부사항 및 정확도)를 위한 요구사항 아티팩트 세트 분석을 포함합니다.
-
분석 및 디자인 원칙에서 품질 관리에는 디자인 모델의 일관성, 요구사항 아티팩트로부터의 변환 및 구현
아티팩트로 변환을 포함하여 디자인 아티팩트 세트 평가를 포함됩니다.
-
구현 원칙에서 품질 관리는 적절한 요구사항, 디자인 및 테스트 아티팩트에 대한 구현 아티팩트 평가 및 소스 코드 또는
실행 가능한 아티팩트 평가를 포함합니다.
-
테스트 원칙은 이 원칙에서 소비되는 노력 대부분이 이전에 식별된 세 가지 품질 관리 목적을 다루므로 품질 관리에 크게
중점을 줍니다.
-
환경 원칙은 테스트 원칙과 같이 품질 관리 목적을 처리하는 많은 노력을 포함합니다. 여기에서 요구사항을 충족시키도록
프로세스를 구성하는 최적의 방법에 대한 안내를 찾을 수 있습니다.
-
제품 인도물의 배치 원칙에서 품질 관리는 구현 및 배치 아티팩트 평가, 고객에게 제품을 전달하는 데 필요한 적절한 요구사항, 디자인
및 테스트 아티팩트에 대한 실행 파일 및 배치 아티팩트 평가를 포함합니다.
-
프로젝트 관리원칙은 개발 프로세스의 구현, 고수 및 진행을 평가하는 데 필요한 검토 및 감사를 포함하여 품질 관리를
위한 많은 노력의 개요를 포함합니다.
|