PSP/TSP
태그 :
- 개념
- 1) PSP : 소프트웨어 개발성능을 높이기 위하여 개발 및 설계 엔지니어가 지키고, 개선할 소프트웨어 개발 프로세스 2) TSP : 개발 성능을 높이기 위하여 개발팀이 지켜야 할 소프트웨어 개발 프로세스
1. 소프트웨어의 개발 성능을 높이기 위한 PSP/TSP의 개요
가. PSP/TSP(Personal Software Process / Team Software Process) 의 정의
1) PSP : 소프트웨어 개발성능을 높이기 위하여 개발 및 설계 엔지니어가 지키고, 개선할 소프트웨어 개발 프로세스
2) TSP : 개발 성능을 높이기 위하여 개발팀이 지켜야 할 소프트웨어 개발 프로세스
- PSP로 훈련된 3명~15명의 소프트웨어공학팀을 위한 프로세스로서 소프트웨어개발, 개선 및 수정을 위하여 독립적인 지휘능력을 갖춘 interdisciplinary팀이 통계적 프로세스제어를 행하는 Level 5 프로세스
나. PSP/TSP 의 등장배경
-CMM 은 개발조직의 역량강화를 위해 ‘무엇’을 해야 하는지에 대해서 제시
-PSP/TSP는 ‘어떻게’, 즉 PSP의 각 단계를 통해 개인의 skill 향상이 이루어 지고 Team Working를 통해 팀워크를 다져가는 Mgmt. skill 을 TSP 과정을 통해 향상.
다. PSP/TSP 의 필요성
관점 |
필요성 |
소프트웨어 품질측면 |
- 소프트웨어 품질을 관리할 수 있는 체계적이고도 효과적인 훈련을 엔지니어에게 제공 |
품질개선 프로세스측면 |
- 소프트웨어 개발 프로세스를 개선하기 위해서 품질의 목표를 정의 - 품질개선 프로세스의 전 과정에 대한 체계적인 훈련을 강조 |
기술성숙측면 |
- 소프트웨어 엔지니어로서 필요한 기술을 개발하고 향상시키기 위한 체계적인 훈련을 제공 |
2. PSP의 구성 및 학습절차
가. PSP 구성
-개발자는 결함을 포함한 자신의 데이터를 기록하고 분석하는 과정에서 결합의 타입을 분석.
-분석결과를 다음 프로젝트에 반영하여 자신의 결함을 줄이고, 작업에 대한 분량과 일정을 스스로 계획해보는 과정을 통해 예측력과 계획능력 향상
나. PSP 학습절차
등급 |
주요내용 |
PSP 0 (기준프로세스) |
- The Baseline Personal Process - PSP 과정의 10개 훈련 중 Exercise 1,2,3 - 자신의 개발능력, 결함 처리 능력 확인 - 프로그램 작성시간, 결함 수, 코드 량을 이용. |
PSP 1 (개인계획프로세스) |
- The Personal Planning Process - PSP 과정의 10개 훈련 중 Exercise 4,5,6 - 기준 프로세스를 이용한 개발계획 수립 - 작업과 일정계획 수립 |
PSP 2 (개인 품질관리) |
- Personal Quality Management Process - PSP 과정의 10개 훈련 중 Exercise 7,8,9 - 코딩, 테스트 이전의 Review 수행 - 초기 단계에서 결함을 수정 할수록 효율적 |
PSP 3 (반복 프로세스) |
- A Cyclic Personal Process - PSP 과정의 10개 훈련 중 Exercise 10 - 큰 사이즈의 프로그램을 작은 사이즈로 분할하여 반복적으로 설계, 코딩, 테스트 수행 - 개인적으로 시스템을 만들어 가는 방법 이해 |
-PSP 는 각 개인에게 주어진 10개의 프로그램을 작성하는 훈련 속에서 프로세스를 경험하고 익힘.
-PSP 0 ~ PSP 3 은 각 레벨에 해당되며, 각 수행항목이 CMMI 의 PA 에 해당.
-각 수행항목의 과정은 모두 설계, 코딩, 컴파일, 테스트 단계를 거침.
-PSP 3 으로 갈수록 단계별로 작업이 추가되며 이에 따른 산출물이 추가됨.
3. PSP와 TSP의 관계 및 효과
가. TSP의 목표
소프트웨어 개발팀에 동기를 부여하여 효과적으로 소프트웨어 개발팀을 구성하고 유지하는 훈련방법 제공.
나. 팀 구성원의 선결조건
구성원이 PSP를 통해 계획수립, 측정, 추적기술, 프로세스, 품질, 헌신의 중요성 획득
시간기록일지, 결함기록일지 등 로그기록
다. PSP와 TSP 의 관계
- PSP를 통해 개인의 훈련이 이루어지면서 개인의 Skill 향상이 이루어짐 (능력 향상 : PSP Skill-Building)
- TSP에서의 착수회의, 재착수회의를 통해 팀 웍을 다져가는 과정
(팀 구축 : Team Building)
- 팀원들이 공통의 과제를 수행하는 과정을 겪으면서 관리skill 을 향상시켜 나가는 과정(팀 작업 : Team Working)
- PSP Skill-Building -> Team Building -> Team Working ->Postmortem -> Team Building 의 과정을 반복함