개발 과정, 일정, 비용, 조직, 생산 제품에 대해 계획
1. 문제 정의
- 고객이 이해할 수 있는 단어로 기술
- 문제 기술 하기 (개발 필요성, 목표, 방법론, 이용 도구, 결과물, 기대 효과)
2. 제안서
발주사에서 제안요청서를 작성하면, 개발 회사들에서 제안서(문제 기술에 대한 것을 더 체계적으로 문서화한 것)를 보내고 낙찰을 받는다.
제안서 양식
1. 연구 개발의 필요성
1.1. 국내외 기술 개발 현황
1.2. 개발 기술 내용의 수준
1.3. 문제점
2. 연구 개발 목표
3. 연구 개발 내용
4. 연구 결과물
5. 추진 전략 방법
6. 기대 효과 및 활용 방안
7. 인원 편성 및 담당자
8. 추진 일정
9. 연구 개발 기자재
10. 소요 예산
11. 참고 문헌
⦁ 연구 개발의 필요성 ➞ 타당성 조사
- 비슷한 시스템이 존재하는지 조사
- 경제적으로 타당한지 조사
- 기술적으로 타당한지 조사
- 법적으로 타당한지 조사
- 사용가능한 대체품이 있는지 조사
3. 일정 예측
소단위, 소작업의 순서와 일정을 만드는 것
1. 작업 분해 : 단위 작업들을 트리 형태로 나타낸다.
전체 개발 일정과 예상되는 결과물을 알 수 있다.
2. CPM(Critical Path Method) 네트워크
- CPM 소작업 리스트를 만들어 그것을 바탕으로 CPM 네트워크를 완성한다.
- CPM 네트워크는 선행되어야 하는 작업들이 나와있고, 작업 순서가 나와있다.
- 관리자가 진도 확인하기 용이하다.
- 일정 단축을 기획할 수 있다.
3. 간트 차트 / 일정표
- 작업들의 시작과 종료를 차트 형태로 나타낸다.
- 흰색은 필요한 시간, 검은색은 지연 가능한 시간
- 진척도를 알 수 있다.
4. 비용 측정
- 예측하기 어렵다.
- 비용 예측과 계획/일정 관리는 밀접한 연관이 있다.
- 고려 요소 : 훈련 비용, 노력 비용, 제품 크기, 복잡도, 요구되는 수준, 남은 시간 등
- 산정 기법 :
- 전문가의 판단
- 유추
- Parkinson : (인원 * 개월 수) 계산
- 능력별 지불 : 고객이 줄수 있는 만큼 산정
- 하향식 산정 : 전체 예산이 먼저 정해지고, 세분화하여 분배
- 상향식 산정 : 각 구성들의 비용을 산정하여 전체 예산 예측
- 알고리즘 모델 :
- 과거 연구 자료에 의해 모델을 개발한다.
- COCOMO, Putnam's SLIM, Function Points 등
- 생산성 계산은 LOC (Line Of Codes)로 한다.
- 기능 점수 : 입력, 출력, 질의, 파일 처리 등의 함수가 복잡도로 가중치 점수를 계산한다.
- COCOMO : 프로젝트를 유형에 따라 3가지로 분류
- 단순형 : 개발 팀이 작은 규모, 5만 라인 이하의 소프트웨어, 어려운 요구사항이 없다.
- 중간형 : 팀원들 사이에 경험의 차이가 존재, 약 30만 라인규모의 소프트웨어 개발
- 임베디드 : 라인 규모가 최대 수준이고 대규모의 어려운 프로젝트이다. - 중위 COCOMO : COCOMO 모델에 추가로 결과물의 특성, 개발자 특성, 컴퓨터 특성, 프로젝트 성격들을 고려하여 계산한 방식
5. 조직 구성
- 한 팀은 3~4명의 팀원이 효과적이고, 일의 규모가 크더라도 8명이 넘지 않는 것이 좋다.
- 조직 구조 종류 :
- 프로젝트 별 조직 (프로젝트 시작부터 끝까지 한 팀이 담당)
- 개발 단계마다 필요한 인원이 다르므로 인적 자원의 낭비나 부족이 발생할 수 있음
- 각 단계에 대해 탁월한 수준의 전문가가 되기 어려울 수 있다.
- 기능별 조직 (기능별로 전문적으로 팀을 나누기)
- 각 단계를 넘어가는 흐름의 인식이 부족할 수 있다.
- 최종 결과물에 대한 책임소재를 명확히 할 수 없다.
- 매트리스 조직 (각각의 개발자들이 필요한 프로젝트에 여러군데 파견된다. 그리고 끝나면 원래 팀으로 복귀한다.)
- 프로젝트 별 조직 (프로젝트 시작부터 끝까지 한 팀이 담당)
- 조직 관리 종류 :
- 중앙 집중식 조직 : (책임 프로그래머 팀)
- 의사 결정권이 리더에게 집중된다.
- 계층적 팀 구조이다.
- 의사 결정이 빠르다.
- 소규모 프로젝트에 적합하다.
- 한 사람의 능력과 경험이 프로젝트의 성패를 좌우할 수 도 있다.
- 분산형 팀조직 :
- 민주주의식 의사결정
- 동등한 책임과 권한
- 장기 프로젝트에 적합하다
- 작업 만족도가 높다
- 책임이 명확하지 않을 수 있다.
- 대규모에는 적합하지 않다.
- 혼합형 팀조직 : 중앙 집중식과 분산형의 단점을 보완
- 전문가와 초보 프로그래머가 같이 협동할 수 있도록 조직
- 프로젝트 관리자와 고급 프로그래머가 지휘를 한다.
- 초보자의 의사결정을 중간 관리층에서 해준다.
- 말단부터 책임자까지 의사 전달 경로가 긴 단점이 있다.
- 중앙 집중식 조직 : (책임 프로그래머 팀)
'CS 지식 > 소프트웨어 공학' 카테고리의 다른 글
소프트웨어 품질 - 응집도, 결합도 (0) | 2024.08.10 |
---|---|
소프트웨어 설계 단계 (0) | 2024.08.10 |
요구사항 분석 (기능 분석, 상태 분석, 정보 분석) (0) | 2024.08.10 |
요구사항 분석 (인터뷰, 설문 조사) (0) | 2024.08.09 |
소프트웨어 개발 방법론 (0) | 2024.08.09 |