툴 스테이션 9번
목록으로 돌아가기

애자일 팀에서 QA 역할의 변화: 게이트키퍼에서 품질 코치로

Agile Transformation에 대한 QA 실용 가이드 - 게이트키퍼에서 품질 코치로의 역할 변경, 스크럼 행사의 QA 책임, 개발과의 협업 모델 및 완료 공식화 방법의 정의를 다룹니다.

품질보증 소프트웨어 테스팅 민첩한 개발 스크럼 품질 코치 팀워크

마지막 업데이트:2026-03-16

이 기사에서는 애자일 팀에서 QA의 역할 변화를 소개합니다. 실제 관행은 조직과 팀마다 다릅니다.

1. 전통적인 QA와 애자일 QA의 근본적인 차이점

전통적인 워터폴 개발에서 QA의 역할은 매우 명확합니다. 개발이 완료된 후 테스트를 인계받아 버그를 찾아서 수리를 위해 돌려보내고, 수리되었는지 확인한 후 릴리스합니다. 그러나 민첩한 개발에서는 각 스프린트가 사용 가능한 소프트웨어를 제공해야 하고 독립적인 테스트 단계를 위한 시간이 충분하지 않기 때문에 이 "릴레이 경쟁" 모델이 작동하지 않습니다. 애자일 분야의 QA는 "문지기"에서 "품질 코치"로 전환되어야 합니다. 그들은 더 이상 개입하기 위해 끝날 때까지 기다리지 않고 스프린트 첫날부터 참여하여 팀의 모든 활동에 품질 인식을 가져옵니다.

2. 스크럼 행사에서 QA의 역할

계획 회의에서의 QA 책임: QA는 스탠드업 회의에서 공유해야 합니다. QA는 검토 회의에서 발표할 수 있습니다. QA는 품질 관련 개선 프로젝트에 특별한 주의를 기울여야 합니다.

  • 테스트 노력 평가

    각 사용자 스토리의 테스트 시간은 스토리 포인트로 계산되어야 합니다.

  • 승인 기준 확인

    각 스토리에 명확하고 테스트 가능한 승인 기준이 있는지 확인하세요.

  • 위험을 높이다

    기술적 위험이 높고 테스트 시간이 더 필요한 기능은 무엇입니까?

  • 자동 평가

    자동화에 적합한 새로운 기능은 무엇이며 구축하는 데 시간이 얼마나 걸립니까?

  • 어제 무엇을 테스트했는데 어떤 문제가 발견됐나요?

    어제 무엇을 테스트했는데 어떤 문제가 발견됐나요?

  • 오늘은 무엇을 테스트할 예정인가요?

    오늘은 무엇을 테스트할 예정인가요?

  • 블록이 있습니까(예: 버그 수정을 위해 개발을 기다리거나 환경 문제를 테스트하는 등)

    블록이 있습니까(예: 버그 수정을 위해 개발을 기다리거나 환경 문제를 테스트하는 등)

  • 조기 경고: "이 기능은 내일 테스트용으로만 나에게 주어질 수 있으며 시간이 매우 촉박할 것입니다."

    조기 경고: "이 기능은 내일 테스트용으로만 나에게 주어질 수 있으며 시간이 매우 촉박할 것입니다."

  • 이 스프린트에 대한 테스트 범위 및 품질 보고서

    이 스프린트에 대한 테스트 범위 및 품질 보고서

  • 발견된 중요한 버그와 그 영향

    발견된 중요한 버그와 그 영향

  • 자동화된 테스트를 위한 새로운 진전

    자동화된 테스트를 위한 새로운 진전

  • 품질 추세 그래프(버그 수, 심각도 분포 등)

    품질 추세 그래프(버그 수, 심각도 분포 등)

  • 이전에 발견되었을 수 있는 버그

    이전에 발견되었을 수 있는 버그

  • 테스트 환경에서 개선해야 할 점은 무엇인가요?

    테스트 환경에서 개선해야 할 점은 무엇인가요?

  • 팀의 완료 정의를 조정해야 합니까?

    팀의 완료 정의를 조정해야 합니까?

  • Flaky Test에서 수정해야 할 자동화된 테스트는 무엇입니까?

    Flaky Test에서 수정해야 할 자동화된 테스트는 무엇입니까?

3. 완료의 정의: 품질의 최종선

DoD(Definition of Done)는 애자일 팀의 품질 계약입니다. QA는 팀이 품질 표준을 포함하는 DoD를 확립하도록 추진해야 합니다. DoD는 고정되어 있지 않습니다. 팀이 성숙해짐에 따라 더욱 엄격한 품질 표준이 점차 추가됩니다.

  • 코드 통과 코드 검토

    코드 통과 코드 검토

  • 단위 테스트를 통과하고 적용 범위가 표준에 도달했습니다.

    단위 테스트를 통과하고 적용 범위가 표준에 도달했습니다.

  • 기능 테스트 통과(수동 또는 자동)

    기능 테스트 통과(수동 또는 자동)

  • 중요/주요 수준의 수정되지 않은 버그 없음

    중요/주요 수준의 수정되지 않은 버그 없음

  • 파일이 업데이트되었습니다.

    파일이 업데이트되었습니다.

  • 통합 테스트 통과

    통합 테스트 통과

  • 성능 저하 없음(기준 대비)

    성능 저하 없음(기준 대비)

  • 보안 검색 통과

    보안 검색 통과

  • 크로스 브라우저/기기 테스트 완료

    크로스 브라우저/기기 테스트 완료

  • 자동 회귀 테스트 통과

    자동 회귀 테스트 통과

4. QA와 개발 간의 협업 모델

QA는 개발팀에 완전히 포함되어 있으며 별도의 QA팀은 없습니다. 각 스크럼 팀에는 1~2개의 QA가 있습니다. QA는 매일 각 팀에 포함되어 있지만 수평적 QA 챕터에도 속하며 정기적으로 테스트 관행을 전달합니다. 전담 QA가 없으며 모든 팀원이 품질을 책임집니다. 개발자는 테스트를 작성하고, 코드 검토를 수행하고, 품질 지표에 집중합니다.

  • 이점

    최저의 통신비용과 비즈니스에 대한 가장 깊은 이해

  • 결점

    QA는 쉽게 고립되고 동료와의 의사소통이 부족합니다.

  • 이점

    내재성과 전문적 성장의 균형 유지

  • 결점

    이중 반품 관계로 인해 우선순위 충돌이 발생할 수 있음

  • 이점

    최고의 품질, 벽을 뛰어 넘는 문제 없음

  • 결점

    팀은 높은 수준의 테스트 능력을 갖추어야 하며, 전문적인 테스트 기술은 무시될 수 있습니다.

5. 민첩한 QA를 위한 자동화 전략

모든 스프린트를 테스트하는 새로운 기능이 있는 민첩한 리듬에서는 수동 회귀 테스트가 빠르게 병목 현상을 일으킬 수 있습니다. 자동화 전략은 다음을 고려해야 합니다. 각 스프린트의 자동화 구축 및 유지 관리를 위해 QA 시간의 20-30%를 예약하는 것이 좋습니다. 민첩한 팀에는 자유 시간이 없기 때문에 자동화할 "자유 시간"이 생길 때까지 기다리지 마십시오.

  • 핵심 비즈니스 프로세스

    모든 릴리스에 대해 확인되는 중요 경로

  • 빈번한 복귀 기능

    매 스프린트마다 영향을 받을 수 있는 모드

  • 데이터 기반 테스트

    다수의 입력 조합이 필요한 테스트 시나리오

  • 아직도 자주 바뀌는 UI

    일단 자동화되면 유지관리 비용이 너무 높기 때문에 즉시 변경해야 합니다.

  • 일회성 확인

    한 번만 테스트하면 되는 시나리오는 자동화에 투자할 가치가 없습니다.

  • 인간의 판단이 필요한 테스트

    시각적 아름다움, 사용자 경험 등을 주관적으로 평가합니다.

6. QA 혁신을 위한 사고방식 조정

전통적인 QA에서 민첩한 QA로 전환하는 데 있어 가장 큰 과제는 기술이 아니라 사고방식입니다.

  • "버그 찾기"에서 "버그 방지"까지

    당신의 가치는 얼마나 많은 버그를 발견했는지가 아니라 팀이 얼마나 많은 버그를 피하도록 도왔는지입니다.

  • '독립적 통제'에서 '협력과 책임 공유'로

    품질은 QA만의 책임이 아닌 전체 팀의 책임입니다.

  • '완벽주의'에서 '위험 지향'으로

    모든 시나리오를 테스트하고, 위험을 평가하고, 중요한 것에 집중하는 방법을 배우는 것은 불가능합니다.

  • '수동적 수용'에서 '적극적 참여'로

    개발 및 제공이 시작될 때까지 기다리지 말고 요구 사항 단계부터 참여하세요.

7. FAQ

표준적인 답변은 없으며 일반적으로 1:3에서 1:5 사이입니다. 비율은 제품의 복잡성, 자동화 정도, 개발자의 테스트 인식에 따라 달라집니다. 팀이 성숙해짐에 따라 QA 인력은 줄어들 수 있지만 그 역할은 품질 코치의 역할에 더 가깝습니다. 이는 Sprint가 너무 많은 작업을 수행했거나 추정치가 정확하지 않았음을 의미합니다. 테스트를 서두르거나 테스트 기준을 낮추기 위해 초과 근무를 하는 대신 이 문제를 다음 스프린트 계획에 반영하는 것이 올바른 접근 방식입니다. 완료되지 않은 스토리는 완료로 표시되어서는 안 됩니다. 민첩한 팀에서는 자동화된 테스트 작성, 코드 검토의 코드 변경 이해, 기술 토론 참여 등 기본 프로그래밍 기술을 통해 효율성을 높일 수 있습니다. 반드시 개발자 수준에 도달할 필요는 없지만 기본적인 프로그램 로직, API 호출, SQL 쿼리는 필수 기술입니다.

ℹ️

요설

본 사이트에 제공된 정보는 참고용일 뿐이며 그 완전성과 정확성을 보장하지 않습니다. 사용자는 정보의 적용 가능성에 대해 스스로 판단해야 합니다.

피드백