감사(Audit)
독립적인 검토자들이 소프트웨어 산출물과 프로세스를 체계적으로 검사하고 평가하는 공식적인 검토 과정이다.
이는 마치 회계 감사와 유사하게, 객관적인 기준에 따라 철저하게 검증하는 과정이다.
외부 또는 독립적인 감사자에 의해 수행되며, 주로 규정 준수와 품질 표준 충족 여부를 확인하는 데 중점을 둔다.
Audit의 주요 특징
공식성과 체계성
Audit은 가장 공식적인 검토 형태.
모든 과정이 문서화되며, 정해진 절차와 체크리스트에 따라 진행된다.
예를 들어:독립성
Audit을 수행하는 검토자들은 해당 프로젝트나 코드 개발에 직접 참여하지 않은 독립적인 인원들로 구성된다.
이는 객관적인 평가를 보장하기 위함이다.
Audit의 주요 목적
규정 준수 확인
- 산업 표준 준수 여부
- 내부 정책 및 절차 준수
- 법적 요구사항 충족
품질 보증
- 코드 품질 검증
- 문서화 수준 평가
- 테스트 커버리지 확인
리스크 관리
- 보안 취약점 식별
- 잠재적 문제점 발견
- 개선 필요 사항 도출
## Audit의 유형
- 소프트웨어 품질 감사: 소프트웨어 개발 프로세스, 아티팩트, 문서, 방법론을 평가하여 품질 보증 표준 준수를 확인한다.
- 소프트웨어 보안 감사: 데이터 보안, 법적 준수, 취약점 식별 등 소프트웨어의 보안 측면을 평가한다.
- 소프트웨어 사용성 및 접근성 감사: UI/UX 디자인 요소를 평가하여 사용자 경험을 개선한다.
Audit 프로세스의 단계
계획 단계
예시:실행 단계
- 문서 검토
- 코드 검사
- 인터뷰 수행
- 증거 수집
보고 단계
감사 결과를 공식 문서로 작성하고 이해관계자들에게 전달한다:
Audit의 중요한 구성 요소
검토 기준
명확하고 측정 가능한 기준이 필요하다:- 코딩 표준
- 품질 메트릭
- 보안 요구사항
- 성능 기준
검토 도구
자동화된 도구를 활용하여 효율성을 높인다:- 정적 코드 분석 도구
- 보안 취약점 스캐너
- 코드 품질 측정 도구
문서화
모든 과정과 결과를 상세히 문서화한다:- 검토 계획서
- 체크리스트
- 발견사항 보고서
- 개선 권고안
Audit의 성공을 위한 핵심 요소
철저한 준비
- 명확한 범위 설정
- 충분한 시간 할당
- 필요 자원 확보
전문성
- 경험 있는 감사자 선정
- 도메인 전문가 참여
- 지속적인 교육
객관성 유지
- 독립적인 검토자 선정
- 명확한 평가 기준
- 증거 기반 평가