밍경송의 E.B
<2> Project Planning of Software Engineering 1 본문
이 글은 시험이 약 12시간 남은 학부생이 중간고사 암기를 위해 적은 글입니다...........내용은 지현박 교수님의 강의자료를 참고하였음을 밝힙니다.
✔️ Project Planning 이란?
: 작업을 여러 부분으로 나누어 팀 구성원에게 할당 + 발생할 수 있는 문제를 예상 + 해당 문제에 대한 잠정적 해결 방안 준비 의 작업
✔️ When?
: 프로젝트를 시작할 때 - 프로젝트가 어떻게 진행될 것인가를 팀과 고객이 소통할 때
프로젝트 진행 중 - 프로젝트의 진행 상황을 평가할 때
✔️ Planning stage
- 제안 단계 : SW 시스템을 개발/.공급하는 계약을 얻기 위해 입찰할 때 (-> 목적 : 고객에게 시스템의 가격을 책정하는 데에 사용될 정보를 제공하는 것)
- 프로젝트 시작 단계 동안: 누가 어떤 일을 할 것인지 나누기 + 자원을 어떻게 할당할 것인지
- 프로젝트 내내 주기적으로 : 개발하는 동안 얻은 경험 + 정보로 계획을 수정
* SW pricing ; 개발 비용과 고객에게 청구되는 가격과의 관계는 단순하지 않음 !,, 많은 사항을 폭넓게 고려해야 함
✔️Factors affecting SW pricing
시장 기회 | 개발 조직은 SW 시장의 새로운 영역으로의 진입을 위해 가격 ↓책정. -> 나중에 더 많은 이윤에 대한 기회 제공. |
계약 조건 | 개발자들이 보유한 소스 코드에 대한 소유권을 다른 프로젝트에 재사용하는 것을 허용하고 싶다? -> 가치를 반영하여 가격 ↓ |
요구사항 변동성 | 요구사항 변경 에상 -> 계약 수주를 위해 가격 ↓ but 수주 이후 -> 요구사항 변경에 대해 높은 가격 부과 |
재정 건전성 | 재정적 문제를 가진 기업 = 가격 ↓책정 . 현금 유동성이 이윤보다 중요함 (계약 따내기) |
비용 추정의 불확실성 | 자신의 비용 추정에 대해 확신X 조직 -> 정상적인 이윤보다 가격 ↑ |
✔️Plan-driven development(
계획 주도 혹은 계획 기반 개발) 란?: 개발 프로세스가 상세하게 계획된 SW 공학 접근법=> 여기서 계획은 수행될 작업들 + 담당할 사람들 + 개발 일정 + 작업 산출물을 기록하는 것=> 또 계획은 PM(관리자)은 프로젝트 의사 결정을 지원하고 진행 상황을 측정하는 수단.
✔️ Plan-driven development의 장/단점
장점 - 포기의 계획 수립은 조직의 이슈들을 고려할 수 있게 함.
- 프로젝트가 시작 전에 잠재적인 문제/ 종속성 발견 가능.
단점 - SW가 개발되고 사용되는 환경에 대한 변화 -> 많은 초기의 결정 수정 불가피.
⭐ Project plans ⭐
✔️ Project plan supplements
품질 계획 | 프로젝트에서 사용될 품질 절차 + 표준 서술 |
검증 계획 | 시스템 검증을 위해 사용될 접근법 + 자원 + 일정 |
형상 관리 계획 | 사용되는 형상 관리 절차/구조 서술 |
유지보수 계획 | 유지보수 요.사 + 비용 + 노력 예측 |
인력 개발 계획 | 팀 구성원의 기술 + 경험 개발 방법 기술 |
✔️ The planning process
프로젝트 기간 동안 더 많은 정보를 얻음 -> 요.사 + 일정 + 리스크 변경의 반영을 위해 정기적으로 계획 갱신 필요
비즈니스 목표 변경 -> 계획도 변경(계획 재수립의 가능성 있음)
"계획 변경은 필연적이다"
✔️Project scheduling(프로세스 일정 관리)란?
-프로젝트의 내용을 분리된 작업들로 구성하는 방법 + 각각의 작업이 실행되는 시기와 방법을 결정하는 프로세스
-각각의 작업을 완료하는데 필요한 시간(서버에 필요한 디스크 공간, HW 확보 시간)+ 노력 추정 / 인원 예상 / 예산 자원 고려
✔️ Project scheduling activities -> 플젝 관리자의 경험과 상식에 의존
: 프로젝트에 관련된 전체 업무 -> 분리된 작업으로 나누기 -> 각 잡업에 대한 시간/자원 추정
*작업 병행적으로 구성 --> 인력 최적 활용 + 작업들 간의 종속성 최소화
✔️ 마일스톤
: 테스트를 위한 시스템 인계와 같이 진행상황을 평가할 수 있는 일종의 지점 (작업 중간의 산출물)
✔️산출물(Deliverables)
: 고객에게 전달되는 작업 산출물. Ex)시스템 요구사항 문서 (최종 산출물)
✔️Project scheduling process
✔️Scheduling problem
- 문제의 난이도와 솔루션 개발 비용 추정의 어려움
- 생산성은 인력에 비례하지 않음
- 뒤늦은 인력 투입은 커뮤니케이션 오버헤드 초래
- 예상치 못한 일이 발생. 항상 비상 상황에 대비해야!
✔️Schedule representation
: 프로젝트 일정을 표현하기 위해 그래픽 표기법 사용 (프로젝트를 작업으로 분류한 것을 보여줌. *작업은 1-2주)
1) Bar chart(간트 차트) : 달력 기반으로 일정을 보여줌
2) Activity chart : 작업 종속성과 임게 경로를 보여줌
*임계 경로 -> 액티비티 그래프에서 가장 긴 경로를 고려함으로써 프로젝트를 완료하는 데 필요한 최소 시간 추정 가능
if A 프로젝트에서, T1 : 10 days / T2 : days / T3 : 5 days( T1이 종료된 후 시작) 으로 작업이 분류됐다면,
: t1 -> t3 (가장 긴 경로) -> 최소 15일이 소요된다는 걸 파악 가능
t2
'CSE > 소프트웨어공학' 카테고리의 다른 글
<5> Architecture design (0) | 2023.10.16 |
---|---|
<4> Requirements Engineering (0) | 2023.10.16 |
<3> Software Processes (0) | 2023.10.16 |
<2> Project Planning of Software Engineering 1 (0) | 2023.10.16 |
<1> Introduction of Software Engineering (0) | 2023.10.16 |