본문 바로가기
카테고리 없음

어느 기획자의 소프트웨어 품질 활동 이해

by 어느 기획자

"품질 경쟁력"

SW개발 회사에서 볼 수있는 문구이다.

 

그러나 대기업, 중견기업을 제외하고 중소기업에서 품질조직을 갖추는 경우는 흔치 않다. 당장 개발에 집중할 인력도 부족하기 때문에 비용 낭비라 생각하는 경향이 있을 수 있다. 그러다보니 개발자들이 직접 개발도 하고 테스트까지 하는 것을 흔히 볼 수 있다. 

 

소프트웨어 품질 활동

 현실에서는 QC와 QA의 개념이 혼재되어 있다. QA 조직이라고 하지만 사실은 QC를 수행하는 조직이 대부분이다. 극소수의 조직에서만 QC와 QA에 차이를 두고 있는 것이 현실이다. QC는 제품을 평가하지만 QA는 제품을 만드는 프로세스를 평가한다. 처음에는 QC활동을 중심으로 수행하지만 조직의 소프트웨어 개발 역량이 성숙할수록 QA활동으로 나아가야 한다.

 

 QA는 프로세스와 밀접한 관련이 있다. 프로세스는 제품을 생산하기 위한 작업들의 집합이고 품질은 이 프로세스들을 통하여 달성된다. 프로세스는 동일한 수준의 제품을 반복하여 적시에 동일한 속성으로 복제 생산이 가능한 장점을 갖고 있다. 프로세스가 일관성을 갖게 되면 생산되는 제품은 동일 수준이 품질을 보증할 수 있게 된다는 의미이다. 즉, 좋은 프로세스를 따르면 좋은 제품을 만들 수 있다는 뜻이다.

 

 QA는 프로세스를 준수하는지, 적절한 QC활동을 수행하는지, 적용하고 있는 QC활동이 효율적인지, 품질 문제의 원인을 파악하는 프로세스가 있는지 등을 점검하게 된다. QA활동을 수행하기 위해서는 조직에 제품을 생산, 관리, 지원하는 프로세스가 수립되어 있어야만 한다.

 

 품질활동은 먼저 QC를 기반으로 수행하고, 표준 프로세스를 수립한 후에 QA활동을 병행해야 하며, 나아가 EPG(Engineering Process Group) 조직을 통해 프로세스의 지속적 개선 활동(QI, Quality Improvement)과 사업 목표 달성을 위한 품질 관리 활동(QM, Quality Management)을 수행하는 방향으로 나아가야 한다. 품질 활동의 역할별로 별도의 조직이 구성되어 있을 수 있으며 하나의 조직이 QC, QA, QI 등의 역할을 모두 수행할 수도 있다.

 

 

QC (Quality Control, 품질 통제)

품질활동의 기본으로서 제품을 대상으로 다음과 같은 활동을 수행한다.

#산출물 점검, #테스트

  • 제삼자 테스트(기능/비기능 테스트 포함)를 수행한다.
  • 코드 인스펙션(Code Inspection)을 수행한다.
  • 소스 커버리지(Coverage) 검증한다.
  • 작업 산출물에 대한 검토한다.
  • 부적합 사항에 대한 시정조치 발부 및 조치 여부 확인한다.

 

QA (Quality Assurance, 품질 보증)

QC활동이 기반되어야 한다. QA가 없이도 QC는 이행될 수 있으나 QC 없는 QA는 불가능하다. 

#프로세스 점검

  • 프로젝트 특성을 고려한 프로세스 조정(Tailoring) 지원한다.
  • 예상되는 프로젝트 문제점과 주요 현안에 대한 대안 제시한다.
  • 점검 체크리스트에 의한 정기적인 프로세스 심사/평가를 수행한다.
  • 프로세스 및 규정 준수 여부 확인 및 필요시 가이드, 산출물의 내용/무결성/정확성 수준 평가

 

QI (Quality Improvement, 품질 개선)

엔지니어링 프로세스 그룹(EPG)를 통해 조직의 프로세스 자산을 정립하고 현행 프로세스의 개선을 통하여 변화관리를 주도하기 위한 활동을 전개한다. EPG는 프로세스 개선사항과 프로젝트 적용을 통한 Lessons Learned, Best Practices 를 수집하고 공유하여 변화 관리와 지식의 재사용에 효과적으로 활용해야 한다.

#프로세스 개선

  • 전사 프로세스를 정립하고 개선활동 수행한다.
  • 프로세스 개선을 위해 조직의 프로세스 강점과 약점을 파악한다.
  • 전사 표준 프로세스를 전 직원에 교육한다.
  • 개선된 프로세스를 현장에 적용하고 정착시킨다.
  • 지속적 개선을 위해 헌장에 적용한 프로세스를 평가하고 측정

 

QM (Quality Management, 품질 관리)

프로젝트 또는 회사 사업의 목표를 식별하고 이를 달성하기 위한 핵심 성공 요소를 도출한 후 이를 달성하기 위한 품질 점검 및 지원활동을 중점적으로 수행한다. QM 은 사업에 대한 깊은 이해가 바탕되어야 한다. 기술과 업무에 대한 능력을 갖추고 컨설팅 형태로 진행되는 고난이도 활동이다. QM 활동을 수행하는 조직은 극소수이지만 사업 성공에 복무하는 활동이 되기 때문에 품질 활동의 가치가 커지게 된다. 

#품질 점검 및 지원

 

 

 

소프트웨어 품질 활동의 절차는 시간 순으로 계획 수립 > 품질 점검 > 품질 평가 > 결과 분석의 단계로 진행된다.

 

 

 

 

 

품질 인식 제고를 위한 우수 관행

좋은 제품을 만들어 내려면 무엇보다 품질 중시 문화가 정착되어야 한다.

먼저 고객의 의식 전환이 선행되어야 한다. (적은 비용으로 고품질 요구, 현실성 없는 일정 요구 등)

 

품질 조직은 잘못을 지적해주는 것이 업무이기 때문에 조직 내에서 탐탁지 않게 생각될 수 있기 때문에 회사 차원에서 품질 조직에 대해 가치를 부여하여 긍정적이고 생산적이 활동임을 인식시키는 것이 중요하다.

 

우수한 품질을 위해서는 우수한 인력을 육성해야 한다. 아래 몇가지 방법을 통해 조직의 구성원을 우수한 직원으로 만들 수 있도록 노력해야 한다.

 

 

매일 10분씩 나누는 품질 관련 대화(품질 의식 고취)

- 동료와 공감대를 형성할 수 있으며 품질 관련 아이디어도 도출될 수 있다.

- 우선 관심이 중요하다.

 

산출물 실명제(품질 책임 강화)

- 산출물에 작성자의 서명을 통해 스스로 산춤물을 잘 만들려는 동기와 책임을 부여할 수 있다.

- 과자 봉지에 생산자 이름이 적혀있고, 농수산물에 재배자 이름이 나와있듯이

 

프로젝트별로 우수사례 선정 

- 프로젝트를 수행하며 지켜야할 프로세스 등 다양한 평가 지표나 달성 수치를 정하여 우수한 프로젝트를 선정하고 포상한다.

 

결함 찾기 경진대회

- 정기적으로 자체 개발한 시스템을 대상으로 결함찾기 대회를 실시하여 많이 찾은 사람을 대상으로 시상한다.

- 단순 결함이 아닌 사용성등 다양한 측면의 의견을 수렴하는 것도 중요하다.

 

사전 품질 교육 강화

- 개발 프로세스를 준수할 수 있도록 가이드와 사례를 제공하여 올바르게 일할 수 있도록 한다.

 

고객 만족 및 불만 조사

- VOC를 청취하고 제품에 반영하도록 노력한다.

 

 

 

댓글