Agile이 품질 위험 경감을 돕는 5가지 방법

Screen Shot 2013-12-24 at 7.58.43 AM

Agile Manifesto 중에서 ” Working software가  포괄적인 문서보다 중요” 하다고 나오고 , 12가지 원칙 중에서는  “Delivery working software frequently  …. ”  가 있습니다. 즉 working software를 고객(이해당사자 )에게 자주 인도하여 feedback을 이끌어 내고 관련한 변경요청 사항도 받아서 고객이 요구사항에 만족하는 제품를 만들라는 것이죠.  이렇게 되면 품질위험이 대단히 감소가 되겠죠.

Agile manifesto 중 또다른 중요원칙 중  ” Customer collaboration 을 계약 헙상보다 중요하게 ” , 12가지 원칙 중에서는 ” Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. ”  가 있습니다. 즉 고객(이해당사자)가 프로젝트 전체 기간동안 지속적으로 협업을 하여 서로간의 의사소통의 gap을 줄여서 효율을 높여라는 것이죠.

테스트자동화를 이용하여 유닛테스트를 개발자에 의해서 직접 수행을 하여 요구사항을 모두 충족했는지 검증을 하고,  동료들의 의해서 해당 자동화 툴을 이용하여 회귀테스트(Regression Test)를 진행하여 리펙토링을 보장하고 그리하여 지속가능한 (sustainable)  제품이 될 수 있게 하고,  그에 따라서  품질팀의 테스트 수행과정에서는 적은 양의 에러가 검출되도록 해주는 것이죠.

또 품질팀은 독립적으로 테스트를 수행함으로써,  일정한 주기로 고객에게 인도되는 인도물에 대한 결함을 찾아냄으로 고객 인도 전 수정할 수 있어야 한다고 합니다.

또 팀간의 협업의 기법 중, 동료검토, 페이링 등을 이용하여 결함비율을 낮출 수 있다고 합니다.

아래는 원문에 대한 번역문 입니다.

원문 :  http://blogs.pmi.org/blog/voices_on_project_management/2012/10/5-ways-agile-helps-mitigate-pr.html

By Bill Krebs, PMI-ACP  on October 10, 2012 11:16 AM | Permalink | Comments (1)

Agile process는 제품 품질 저하 또는 잘못된 제품을 만드는 위험을 경감시키는데 도움이 된다. Agile와 Scrum이 소프트웨어 프로젝트를 위해서 설계되었다고 하지만, 다른 산업에도 똑같이 적용할 수 있다. 프로젝트 매우 중대한 품질 위험을 줄여주는 다음의 5가지 agile과 Scrum 기법이 있다.

1. 모든 agile 멤버는 고객과 함께 요구사항을 반드시 리뷰 해야 한다..
Agile에서는,  “사용자 스토리”가 agile 요구사항 리스트에 대한 기본적인 구성요소 이다. 공식적인 “인수 테스트”는 인도물에 대한 고객의 승인을 당신이 얻었는지 검증하기 위해서 반드시 고객과 함께 명시적으로 리뷰를 하므로 사용자 스토리의 핵심 부분이다.

2. Agile 팀들은 프로젝트 컴포넌트를 만드는 동안 협업한다.

동료와 함께 수행한 연구에 의하면 상호검사(동료검토), 페이링(짝코딩등)은 50% 이상의 결함을 막아준다. 더욱이, 협업은 대단히 중요한 단계에서 프로젝트 팀 멤버들끼리 프로젝트 요구사항을 만족시키기 위해 사용되는 제품과 도구(Tools)에 대한 서로의 지식을 공유하는데 도움을 준다.

3. 작성자(코더) 검증방법의 일관된 집합을 만든다.
이상적으로, 이것은 빠진 기능 또는 부정확한 프로그램 동작을 잡아내도록 디자인된 자동화된 검증 테스트 유형을 차용한다. 이런 테스트는 변수에 대한 제어의 일종으로 원래 작성자(코더)에 의해서 실행되고, 또한 회귀테스트를 위해서 다른 팀 멤버에 의해서 사용된다. 프로젝트가 이 테스트를 통과했다고 해도, 제품 컴포넌트가 시작부터 간결하게 있어서 쉽게 유지하거나 확장시킬 수 있어야 한다. 이것을 리펙토링이라고 한다.

4. 품질팀은 작은 프로젝트 인도물(주기적인 인도물)을 그들이 작성된 것처럼 테스트한다.
인도물이 검사되었거나 사전테스트 되었기 때문에, 이 부분에서 당신은 적은 오류를 예상할 수 있다.

5. 데모로부터 피드백
Agile 팀은 이해당사자들에게 완성된 제품을 보여주는 시연을  몇 번 개최하였다. 핵심은 이해당사자로부터 피드백을 끌어내는 것과 그 피드백을 제품을 향상시키는데 사용하는 것이다. 이것은 프로젝트 팀이 만든 것이 고객이 원하는 것이라는 것을 확인하는 마지막 기회를 제공한다. 이런 방법으로, 생각과 변경이 프로젝트가 종료되기 전에 조정될 수 있다.

Agile과 Scrum 위험 감소를 위해서 다음의 체크리스트를 추가함으로써, 프로젝트 성능 향상을 위해서 위험리스트를 쓰는 것이 프로젝트 팀에 결코 나쁜 영향을 끼치지 않을 것이다.

  1.  각각의 인수 테스트의 고객 리뷰
  2. 감시(동료검토)와 페어링(짝코딩등)에서 팀 협업
  3. 작성자(코더)에 의한 테스트 자동화
  4. 품질팀의 의한 독립적인 테스트
  5. 고객에게 데모

agile이 위험 경감을 돕기 위해서 어떤 다른 방법인 있을까? 무슨 단계가 당신의 팀은 위험을 경감하기 위해서 두는가?

끝.

트랙백/핑백

  1. Agile이 품질 위험 경감을 돕는 5가지 방법 | All that Cuteness - 2월 18, 2014

    […] By openlinuz […]

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d 블로거가 이것을 좋아합니다: