1. 소프트웨어 프로젝트 관리에서 3P란?
3P란 People ( 사람 ), Process ( 프로세스 ), Product ( 제품 )의 약자로, 프로젝트 관리에서 필수적인 요소입니다. 소프트웨어 프로젝트를 성공적으로 관리하기 위해서는 3P 개념을 이해하는 것이 중요합니다.
- People ( 사람 ) : 개발 인력의 역할과 책임
- 프로젝트 관리자(PM): 일정, 비용, 품질을 관리하고 프로젝트 진행을 총괄
- 개발자(Developer): 설계, 구현, 테스트, 유지보수를 담당
- 테스터(Tester): 시스템의 결함을 찾아내고 품질을 검증
- 사용자(End User): 요구사항을 제공하고 제품을 검증
- Process ( 프로세스 ) : 소프트웨어 개발 방법론 적용
- 폭포수 모델(Waterfall Model): 전통적인 개발 방식으로, 단계별 수행 (요구사항 → 설계 → 구현 → 테스트 → 유지보수)
- 애자일(Agile) 모델: 반복적인 개발 방식, 스프린트를 통해 점진적 개선
- V-모델(Verification & Validation Model): 개발과 동시에 검증 과정을 수행하여 품질을 향상
- Product ( 제품 ) : 품질 중심의 소프트웨어 개발
- 소프트웨어 품질(Quality Attribute): 신뢰성, 유지보수성, 효율성, 이식성 등 고려
- ISO/IEC 9126: 소프트웨어 품질 평가 기준 (기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성)
- 테스트 기법(Test Techniques): 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트
2. 애자일 방법론에서 3P 적용하기
애자일은 고객 중심의 개발 방식으로 반복적인 개발과 빠른 피드백을 제공하는 것이 특징입니다.
- People ( 사람 ) : 애자일 팀 운영
- 스크럼(Scrum) 팀 구성
- Product Owner: 고객 요구사항을 정리하고 우선순위를 설정
- Scrum Master: 스크럼 프로세스를 조율하고 팀을 지원
- 개발팀(Development Team): 기능 개발 및 품질 개선
- 스크럼(Scrum) 팀 구성
- Process(프로세스) - 애자일 개발 단계
- 스크럼 개발 프로세스
- 백로그 관리(Product Backlog): 우선순위 기반의 요구사항 정리
- 스프린트(Sprint) 운영: 1~4주 단위의 반복 개발
- 스프린트 회고(Retrospective): 개발 주기 종료 후 개선점 논의
- 애자일 개발 원칙 (애자일 선언문)
- 프로세스와 도구보다 개인과 상호작용
- 방대한 문서보다 실제 작동하는 소프트웨어
- 계약 협상보다 고객과의 협업
- 계획을 따르는 것보다 변화에 대한 대응
- XP(eXtreme Programming) 기법
- 테스트 주도 개발(TDD, Test Driven Development)
- 페어 프로그래밍(Pair Programming)
- 지속적 통합(CI, Continuous Integration)
- 스크럼 개발 프로세스
- Product ( 제품 ) : 지속적인 배포와 품질 보장
- CI/CD(Continuous Integration & Continuous Deployment) 활용
- MVP(Minimum Viable Product) 접근법으로 핵심 기능부터 배포
- 소프트웨어 품질 유지: 자동화 테스트, 코드 리뷰 적용
3. 정리
- 3P(People, Process, Product)는 소프트웨어 프로젝트 관리를 위한 필수 개념이다.
- 정보처리기사에서는 소프트웨어 생명주기(SDLC), 개발 방법론, 품질 관리와 연계되어 출제된다.
- 애자일 방법론은 반복적인 개발과 고객 중심의 피드백을 핵심으로 한다.
'CS 공부' 카테고리의 다른 글
CS) 데이터베이스 관계대수, 관계 함수, 정규화 (0) | 2025.02.16 |
---|---|
CS) 정처기 대비 요약 정리 (0) | 2025.02.15 |
CS) 결합도 ( Coupling ) (0) | 2025.02.13 |
CS ) UML 다이어그램과 디자인 패턴 정리 (0) | 2025.01.14 |
CS) 조인의 종류와 원리 (0) | 2025.01.13 |