Software Project 개발 계획.

Slides:



Advertisements
Similar presentations
신진영 현지 조사 방법 및 보고서 작성법 제 7 강 - 자료 수집과 설문지 작성 -
Advertisements

컴퓨터 종합설계 2012 년 2 학기 Syllabus 개요 (1/2) 목표  실 세계의 문제를 제시하고, 이에 대한 해결책을 컴퓨터 공학적인 방법으로 해결하기 위하여 팀을 주축으로 소프트웨어 개발 프로젝트 수행  프로젝트 계획에서부터 구현까지.
대표자명 / 연락처 / 이메일 ( 기 창업인 경우 회사 명칭 ) 지원하려는 사업 명칭 사업계획서 작성양식.
제1장 프로젝트관리 차 례 시스템 조사와 분석 프로젝트 계획 수립 - 계획서 작성.
KPC 자격 강원지역센터 사업계획서 OO. OO. 제안사 명칭.
과제 제안서 IT대학장 귀하 2011년 3월 일 신청자(대표자) : (인/서명) Project 명 사업본부
Scheduling in Project Management
4과목 소프트웨어 공학 강사 이 민 욱.
컴퓨터와 인터넷.
학 과 : 토목공학과 담당교수 : 김 수 용 분반,조 : 301분반,4조 조 이 름 : 다 크 호 스
팀 구성 : 조재민 (팀장), 고광춘, 유기민, 김대진, 이재호 발표 일자:
강의 블로그 Mobilecom.tistory.com
프로젝트 관리.
Chapter 4 시스템개발 프로젝트 계획수립 (IS Development Planning)
Chapter 6. 프로젝트 시간관리 (Project Time Management)
Entity Relationship Diagram
Samsung Electronics 5 forces
프로젝트 계획과 관리 1.
소프트웨어 공학 (Software Engineering)
프로젝트 품질관리 품질 계획 품질 보증 품질 관리.
MOS 자격증 Word-Expert 2003.
22장 통계적 품질관리(SQC) 1. 품질의 통계적 관리 2. 통계적 공정관리 3. 샘플링검사
시스템 설계와 산업디자인 개발.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
FTP 프로그램 채계화 박재은 박수민.
컴퓨터과학 전공탐색 배상원.
프로젝트 계획 (Project Planning) - Software Engineering -
소프트웨어 공학 응용 및 실습 제 2 장 : 계획 이 형 원 강릉대학교 컴퓨터공학과.
Chatpter 03 계획 01 계획의 이해 02 문제의 정의 03 타당성 분석 04 개발 비용 산정
이동식 다 관절 로봇팔 Removable Articulated robot arm
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
프로젝트 관리 Project Management
0. 코스트의 이해 단가 × 양 = 원가 원가는 생산/ 판매활동에 직접 관련된 비용이다 단 가 양
‘2012년 정보화 사업 교육 버그추적시스템(BTS) 사용 절차 2012, 02.
27장. 모듈화 프로그래밍.
Software Engineering Final Project
DSU Nanumi FTP - Network Programming 염대영
제 10 장 의사결정이란 의사결정은 선택이다.
Term Project 수행 안내 2007 컴퓨터공학실험(Ⅰ).
컴퓨터소프트웨어설계및실험 년 1학기 실험계획 -.
This is presentation About Team Introduction S.O.A. Sensor Of Arduino.
부서 QI 및 지표 담당자 모임 2012년 8월 2차 QI 활동 방법 지표 관리 회의록 작성법
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
BIC 사례 1 연관규칙과 분류모형을 결합한 상품 추천 시스템: G 인터넷 쇼핑몰 사례
플래시 애니메이션 제작과정 (E-러닝) Lee Sunghoon 1.
메모리 타입 분석을 통한 안전하고 효율적인 메모리 재사용
Software Engineering Project
논문작성을 위한 연구모형 설정 양동훈.
Kangwon National Univ. | Computer Science
1. 인력계획 1) 인력 계획 프로세스 사업계획 인력계획 과부족 비교 인적자원 수요 예측 가용 인적자원 예측 과잉인력 적정인력
컴퓨터공학실험 (I) 년 1학기 실험계획 -.
경영정보시스템(MIS) management information system.
소프트웨어 중심에 존재하는 복잡성 에 도전장을 내밀다
김정숙 (고려대학교 2014년) 국어국문학과 한국어학 석사 1기 이 드미뜨리
주요 프로그램 고객 요청에 의거 품질/개발 분야 각 3개 과정으로 구분하여 교육 계획을 수립 하였으며,
네이버 CCL 도입 현황 및 계획 서비스정책센터 최인혁.
조직화란 조직의 목표를 최상의 방법으로 실현할 수 있도록 인적자원과 물적자원을 결합하는 과정
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
Information Communication Technology
프로젝트 계획 (Project Planning) - COE 306: Software Engineering -
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
비교분석 보고서 Template 2015.
2D 게임 프로그래밍 제안서 김보명.
'클럽 상담자'로 봉사 국제협회  지대위원장 연수.
PMBOK 9개 지식 영역 프로세스 요약 통합 범위 일정 원가 품질 인적자원 의사소통 위험 조달
교량 구조물의 개념 설계 및 프로토타입 제작 과정
6시그마및품질관리 과제 – Define의 적용.
소프트웨어 설계 및 실습 강기준.
졸업프로젝트.
생산성 증대 효율성 향상 측정 수행 능력.
Presentation transcript:

Software Project 개발 계획

Software Project 관리(1) 정의 Project 관리의 필요성 사용자의 요구에 부합하는 소프트웨어를 계획된 일정에 맞게 개발하기 위하여 필요한 제반 활동 Project를 준비하고, 계획을 수립하여 일정을 관리하는 활동 Project 관리의 필요성 Software Project는 주어진 예산의 범위 안에서 수행 사용자와 약속한 개발일정을 준수해야 함

Software Project 관리(2) Software Project 관리의 특성 S/W product is intangible S/W product is uniquely flexible, not fixed 소프트웨어공학은 다른 공학과 달리 아직 정착된 학문 분야로 인식되지 못하고 있는 것이 현실 S/W 개발 절차가 표준화되어 있지 않음 대부분의 Software Project는 ‘일회성’이므로, 동일한 Project가 반복되는 경우가 거의 없음

Software Project 관리(3) Project 관리에 필요한 활동 제안서 작성 Project 계획 및 일정 수립 구성원 채용 및 평가 숙련된 IT 인력이 현저히 부족 우수 인력을 확보하기에는 턱없이 부족한 개발비 책정 특정 Project 수행에 필요한 기술인력만을 양성하고자 함 보고서 작성 및 Presentation

Project Planning(1) Project Planning? Project 관리에서 가장 많은 시간을 필요로 하는 활동 개발 예산 및 일정을 포함하는 소프트웨어 개발계획을 보조하기 위해서 다양한 종류의 부수적인 계획을 수립할 필요가 있음

Project Planning(2) Project Plan의 종류 Quality Plan: Project에서 사용할 품질 절차 및 표준을 기술 Validation Plan: 시스템의 검증을 위한 접근 방법, 소요 자원, 일정에 대하여 기술 Configuration Plan: 형상관리 절차와 사용할 구조에 대하여 기술 Maintenance Plan: 유지보수에 대한 요구, 소요 비용, 및 노력을 예측 Staff Development Plan: 팀 구성원의 능력 향상을 위한 계획을 기술

소프트웨어 개발계획(1) 개발계획의 필요성 계획 단계에서 수행하는 작업 소프트웨어 개발상의 많은 문제가 계획의 부재에서 기인 좋은 소프트웨어의 생산을 위해서는 세심한 계획이 필요 프로젝트 초기에 계획을 수립하는 것은 매우 어려운 작업 개발계획의 수립을 통하여 목표, 요구사항, 제약조건 등을 명확히 할 수 있음 계획 단계에서 수행하는 작업 문제의 이해 및 정의 필요한 소작업(Activity)을 정의하고 순서를 결정 일정계획 수립 비용 산정 및 팀 조직 개발계획서 작성

소프트웨어 개발계획(2) 소작업(Activity)? Activities in a project should be organized to produce tangible outputs for management to judge progress Milestones are the end-point of a process activity Deliverables are project results delivered to customers The waterfall process allows for the straightforward definition of progress milestones

소프트웨어 개발계획(3)  Milestones in the RE process

소프트웨어 개발계획(4) 개발계획의 수립 및 조정 절차 4.1 일정계획을 수립 1. 프로젝트에 대한 제약사항을 파악 2. 프로젝트 영향 요인에 대한 최초 평가 3. 단계별 Milestones 및 산출물을 정의 4. 프로젝트를 완료(또는 중도 취소)될 때까지 다음 작업을 반복 4.1 일정계획을 수립 4.2 일정에 따라 프로젝트 수행 4.3 프로젝트의 진척도를 검토 4.4 프로젝트 영향 요인의 지표를 수정 4.5 일정계획을 조정 4.6 프로젝트의 제약조건 및 산출물에 대하여 Re-negotiate 4.7 문제가 발생하면 기술적인 재검토 실시

문제의 정의 문제의 정의에 포함해야 할 사항 문제를 정의할 때 주의할 사항 현재 업무의 정확한 상황 현 상황에서의 문제점 문제 해결을 위한 대책 ==> 구현 시스템의 기능 문제해결에 전제되는 제약 조건 ==> 적절한 개발모형, 프로젝트 수행에 필요한 자원 문제를 정의할 때 주의할 사항 문제는 사용자의 입장에서 기술 문제의 배경 및 응용 분야에 대한 깊은 이해가 중요 사용자와 면담 현장을 관찰 실제 업무를 수행해 봄

일정계획(1) 일정계획의 개념 일정계획 수립시 어려움 프로젝트를 구성하는 작업(task)을 파악하고, 작업을 수행하는데 필요한 시간 및 자원 예측하여 계획 (참고자료 #1 참조) 작업들의 병행처리가 가능하도록 계획하여 구성원의 능력을 최대한 활용 작업들의 상호 독립성을 높여 개발지연을 극소화 Project Manager의 직관과 경험에 의존적 일정계획 수립시 어려움 소요자원 및 기간의 산정이 매우 어려움 생산성은 투입 인력의 수에 비례하지 아니함 프로젝트 후반에 신규 인력을 투입하면 진도가 더욱 늦어짐 <== 의사소통 문제 예상하지 못한 상황은 항상 발생하게 마련 ==> 계획의 조정이 항상 가능

참고자료 #1 The project scheduling process

일정계획(2) Bar charts & Activity networks 프로젝트의 일정계획을 표현하는 그래픽 도구 CPM 소작업 목록표 프로젝트를 작업(task)으로 분해한 결과를 표현 너무 작은 단위로 분해하는 것은 바람직하지 못함 1~2주 정도에 수행 가능한 크기가 적당 참고자료 #2 참조 Activity chart 작업간의 종속 관계와 임계경로를 표현 참고자료 #3 참조 Bar chart 프로젝트의 수행일정을 표현 참고자료 #4 참조

참고자료 #2 CPM Task List

참고자료 #3 Activity network

참고자료 #4 Activity timeline

참고자료 #5 Staff allocation

Cost Estimation(1) 비용 산정의 기본 개념 소프트웨어 개발비용의 산정은 매우 어려운 작업 비용 예측 주요 변수: 투입되는 기술인력의 수, 투입 기간 과거의 프로젝트 수행 경험이 매우 중요 측정단위(ManMonth) = 소요인력 x 투입기간(월) 소요비용 = 인건비 + 간접비 인건비 예측방법 소요기간을 기준으로 산정 (작업별 소요기간 x 작업별 투입인원 x 참여도 x 단가)의 합 프로그램의 규모를 기준으로 산정 COCOMO 방법 Function Points 방법

Cost Estimation(2) COCOMO 방법 B. Boehm이 1981년에 제안 COCOMO 프로그램 개발에 소요되는 Programmer MM를 추출 PMinitial = c * (KDSI)k Organic:2.4/1.05, SemiDetached:3.0/1.12, Embedded:3.6/1.20 노력승수값(Effort Adjustment Factor)에 따라 보정 PM = PMinitial * EAF (교재 66쪽의 표2.4 참조) 총 인건비 = PM * 평균 인건비 총 개발기간(Total DEvelopment Time)의 계산 TDEV= 2.5 * (PM)k Organic:0.38, Semi-detached:0.35, Embedded:0.32 투입할 평균인원의 적정값 = PM / TDEV 문제점 많은 가정과 제약조건 존재 산정비용은 KLOC의 정확한 예측에 지나치게 종속적

Cost Estimation(3) COCOMO Ⅱ 방법 B. Boehm이 1995년에 제안 프로젝트가 진행되는 단계별로 3가지 모델 제시 1단계: 프로토타입을 만드는 단계, 응용점수에 기반 2단계: 초기설계 단계, 기능점수에 기반 3단계: 구조설계 이후 단계, KLOC에 기반 기본 모델: E = b * Sc * m(X) S: Scale factor c: 기본값=1, 선행작업/적응도/…에 따라 조정 m(X): EAF에 대응하는 비용 승수 교재 69쪽의 표2.5 참조

Cost Estimation(4) Function Points 방법 기본 개념 비용산출 절차 IBM의 Albrecht가 제안 기능점수는 소프트웨어 시스템이 가지는 기능을 정량화 Business 응용분야의 소프트웨어 개발비용 산정에 적합 5가지 항목에 대하여 기능점수 부여: 교재 71쪽 표2.6 기능점수는 구현 언어와 무관한 metric 모든 항목에 일률적인 점수를 적용하는 문제점은 보완 필요 비용산출 절차 기능항목별로 복잡도를 고려하여 Unadjusted FP 계산 시스템의 특성을 고려하여 Total Degree of Influence 계산 FP = UFP * (0.65 + 0.01 * TDI) MM = FP / 프로젝트 수행 실적에 의한 평균 FP/MM

조직계획 개발팀 구성방법 선택에 영향을 주는 요소 개발팀 구성 방법 프로젝트 수행기간 작업의 특성 및 팀 구성원 사이의 의사 교류의 횟수 개발 대상 소프트웨어의 특성 개발팀 구성 방법 중앙집중식 팀 chief programmer, librarian, programmer, … 교재 79쪽의 그림2.5 분산형 팀 계층구조가 없이 팀 구성원 모두가 동등한 위상 유지 교재 80쪽의 그림2.6 혼합형 팀 중앙집중식과 분산형을 혼합한 형태 교재 81쪽의 그림2.7

위험 관리(1) 기본 개념 위험관리: 위험을 인식하여 프로젝트 수행에 미치는 영향을 최소화시키기 위한 제반 활동 위험(risk): 프로젝트의 수행에 적대적인 상황이 발생할 가능성 (참고자료 #6 참조) Project risks affect schedule or resources Product risks affect the quality or performance of the software being developed Business risks affect the organisation developing or procuring the software

참고자료 #6: 위험의 종류

위험 관리(2) 위험관리 절차 위험 식별(Risk identification): 발생 가능한 위험을 식별 위험 분석(Risk analysis): 위험 발생 가능성과 위험으로 인한 결과를 평가 위험 계획(Risk planning): 위험으로 인한 영향을 피하거나 최소화시킬 수 있는 대책을 수립 위험 감시(Risk monitoring): 프로젝트를 진행하는 과정에서 실제로 위험이 발생하는지를 감시 * 참고자료 #7 참조

참고자료 #7: Risk Management Process

위험 식별 위험의 유형 위험 유형별 발생 가능한 위험 Technology risks People risks Organizational risks Requirements risks Estimation risks 위험 유형별 발생 가능한 위험 참고자료 #8 참조

참고자료 #8: Risks and risk types

위험 분석 기본 개념 위험별 발생가능성 및 그 영향 Assess probability and seriousness of each risk Probability may be very low, low, moderate, high or very high Risk effects might be catastrophic, serious, tolerable or insignificant 위험별 발생가능성 및 그 영향 참고자료 #9 참조

참고자료 #9: Risk analysis

위험 계획 기본개념 Consider each risk and develop a strategy to manage that risk Avoidance strategies: 위험이 발생할 가능성을 감소 Minimization strategies: 프로젝트 또는 제품에 대한 위험의 영향을 감소 Contingency plans: 위험이 발생할 경우에 사용할 대책을 수립 위험별 관리 방법 참고자료 #10 참조

참고자료 #10: 위험관리 정책

위험 감시 기본 개념 Assess each identified risks regularly to decide whether or not it is becoming less or more probable Also assess whether the effects of the risk have changed Each key risk should be discussed at management progress meetings 위험 유형별 발생 징후 참고자료 #11 참조

참고자료 #11: 위험 유형별 발생징후

개발계획서 작성(1) 개발계획서 작성시 유의 사항 프로젝트의 성격이나 사용자의 요구에 따라 다양한 형식으로 작성 가능 포함해야 할 사항 개요 소요 자원 개발 일정 개발팀 구성 방법 WBS (Work Breakdown Structure) 기술관리 방법 교재 85쪽의 표2.15 참조

개발계획서 작성(2) 개발계획서의 다른 양식 Introduction Project organization Risk analysis Hardware and software resource requirements Work breakdown Project schedule Monitoring and reporting mechanisms