본문 바로가기

CS 공부

CS) 소프트웨어 프로젝트 관리에서 3P와 애자일에서의 적용

1. 소프트웨어 프로젝트 관리에서 3P란?

  3P란 People ( 사람 ), Process ( 프로세스 ), Product ( 제품 )의 약자로, 프로젝트 관리에서 필수적인 요소입니다. 소프트웨어 프로젝트를 성공적으로 관리하기 위해서는 3P 개념을 이해하는 것이 중요합니다.

 

  1. People ( 사람 ) : 개발 인력의 역할과 책임
    • 프로젝트 관리자(PM): 일정, 비용, 품질을 관리하고 프로젝트 진행을 총괄
    • 개발자(Developer): 설계, 구현, 테스트, 유지보수를 담당
    • 테스터(Tester): 시스템의 결함을 찾아내고 품질을 검증
    • 사용자(End User): 요구사항을 제공하고 제품을 검증
  2. Process ( 프로세스 ) : 소프트웨어 개발 방법론 적용
    • 폭포수 모델(Waterfall Model): 전통적인 개발 방식으로, 단계별 수행 (요구사항 → 설계 → 구현 → 테스트 → 유지보수)
    • 애자일(Agile) 모델: 반복적인 개발 방식, 스프린트를 통해 점진적 개선
    • V-모델(Verification & Validation Model): 개발과 동시에 검증 과정을 수행하여 품질을 향상
  3. Product ( 제품 ) : 품질 중심의 소프트웨어 개발
    • 소프트웨어 품질(Quality Attribute): 신뢰성, 유지보수성, 효율성, 이식성 등 고려
    • ISO/IEC 9126: 소프트웨어 품질 평가 기준 (기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성)
    • 테스트 기법(Test Techniques): 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트

 

2. 애자일 방법론에서 3P 적용하기

  애자일은 고객 중심의 개발 방식으로 반복적인 개발과 빠른 피드백을 제공하는 것이 특징입니다.

 

  1. People ( 사람 ) : 애자일 팀 운영
    1. 스크럼(Scrum) 팀 구성
      1. Product Owner: 고객 요구사항을 정리하고 우선순위를 설정
      2. Scrum Master: 스크럼 프로세스를 조율하고 팀을 지원
      3. 개발팀(Development Team): 기능 개발 및 품질 개선
  2. Process(프로세스) - 애자일 개발 단계
    1. 스크럼 개발 프로세스
      1. 백로그 관리(Product Backlog): 우선순위 기반의 요구사항 정리
      2. 스프린트(Sprint) 운영: 1~4주 단위의 반복 개발
      3. 스프린트 회고(Retrospective): 개발 주기 종료 후 개선점 논의
    2. 애자일 개발 원칙 (애자일 선언문)
      1. 프로세스와 도구보다 개인과 상호작용
      2. 방대한 문서보다 실제 작동하는 소프트웨어
      3. 계약 협상보다 고객과의 협업
      4. 계획을 따르는 것보다 변화에 대한 대응
    3. XP(eXtreme Programming) 기법
      1. 테스트 주도 개발(TDD, Test Driven Development)
      2. 페어 프로그래밍(Pair Programming)
      3. 지속적 통합(CI, Continuous Integration)
  3. Product ( 제품 ) : 지속적인 배포와 품질 보장
    1. CI/CD(Continuous Integration & Continuous Deployment) 활용
    2. MVP(Minimum Viable Product) 접근법으로 핵심 기능부터 배포
    3. 소프트웨어 품질 유지: 자동화 테스트, 코드 리뷰 적용

 

3. 정리

  • 3P(People, Process, Product)는 소프트웨어 프로젝트 관리를 위한 필수 개념이다.
  • 정보처리기사에서는 소프트웨어 생명주기(SDLC), 개발 방법론, 품질 관리와 연계되어 출제된다.
  • 애자일 방법론은 반복적인 개발과 고객 중심의 피드백을 핵심으로 한다.