소프트웨어 개발에 필요한 절차, 방법만이 아니라, 그와 관련된 도구, 장비, 인력의 통합
기본 흐름: 고객 요구사항 → 요구사항 개발(분석) → 설계 → 구현(코딩) → 테스팅 → 소프트웨어 배포.
프로세스의 일반 정의
고객의 요구사항을 만족하는 제품을 만들기 위한 절차/방법, 도구/장비, 인력의 통합.
- 요구사항: 기능 요구사항, 비기능 요구사항, 제약사항
- 프로세스 = 절차 + 방법(Method) + 인력(Man) + 도구·장비(Machine)의 통합 → Process = Glue
- 제품: 자동차, 시스템, 컴포넌트, 소프트웨어
프로세스 정의의 진화: 미역국 끓이기 예시
| Ver. | 정의 수준 |
|---|---|
| Ver.1 | 절차만 정의 (재료 준비 → 미역 불리기 → 소고기 볶기 → …) |
| Ver.2 | 절차 + 방법 + 도구 정의 (재료 분량, 식기 종류, 시간/온도/주의사항 명시) |
| Ver.3 | 절차 + 방법 + 도구 + 인력까지 정의 (단계별 담당자: 보조/주방장 등) |
→ Ver.3가 프로세스의 완전한 형태.
프로세스가 중요한 이유
어떤 프로포즈를 선호하나요? Surprise vs 계획 짜서 실행 (계획 = 프로세스 정의)
- 업무 범위 파악
- 역할 및 책임 정의
- 리스크 관리 등
프로세스 정의 방법: ETVX
프로세스 단계별 수행 활동을 체계적으로 정의하는 방법.
| 항목 | 내용 |
|---|---|
| Entry Criteria | 수행할 작업의 착수 기준 (착수에 요구되는 업무, 정보) |
| Task | 수행할 작업의 세부 업무 |
| Verification | 완료된 작업의 검증 기준 (작업 수행 여부, 산출물 검증 기준) |
| eXit Criteria | 수행된 작업의 완료 기준 |
ETVX 적용 예시: 소프트웨어 요구사항 개발 프로세스
| 항목 | 내용 |
|---|---|
| Purpose | 고객 및 시스템 요구사항을 분석하여 SW 요구사항을 개발한다 |
| Entry Criteria | 1. 고객 요구사항 접수 2. 시스템 요구사항 접수 |
| eXit Criteria | 1. SW 요구사항 개발 완료 2. SW 요구사항 검토 완료 |
| Task | 1. SW 요구사항 추출 2. SW 요구사항 분석 3. SW 요구사항 명세 4. SW 요구사항 검증 |
| Role | 요구사항 담당, 검토자(프로젝트 리더 등) |
| Verification | 1. 고객·시스템 요구사항이 SW 요구사항에 반영되었는가? 2. 객관적 검토 활동을 수행하였는가? |
| Tool | Redmine, Excel |
| Technique | 인터뷰(체크리스트), Inspection 검토 |
자동차 산업의 프로세스 모델 동향
- 일반 산업: CMMI (V1.0 1991 ~ V3.0 2023)
- 일반/자동차: ISO/IEC 33000 Series (구 ISO/IEC TR 15504)
- 자동차: A-SPICE(PRM/PAM 2005 ~ V4.0 2023), ISO 26262