본문 바로가기

6. 컴퓨터 공학 공부

[82] 소프트웨어공학 03차시 소프트웨어 개발 프로젝트

1. 소프트웨어 개발 프로젝트의 중요성

가. 소프트웨어 개발 프로젝트의 목표

1) 실패에 대한 위험 감소

소프트웨어 개발을 프로젝트로 관리하여 성공의 가능성을 높임.

나. 프로젝트의 정의

프로젝트는 유일한 제품이나 서비스를 만들기 위해 수행되어야 할 일시적인 활동과정
"A project is a temporary endeavor undertaken to create a unique product or service"(PMI)

1) PMI와 PMBOK

PMI(Project Management Institute): 프로젝트 관련 국제적인 단체

PMBOK(Project Management Body Of Knowledge): PMI에서 4년마다 한 번씩 발간하는 책

PMP(Project Management Professional): PMI에서 인증하는 자격증

다. 프로젝트(Project)와 운영(Operation)의 차이점

세상의 모든 일은 프로젝트(Project) 아니면 운영(Operation)으로 나누어짐

프로젝트 운영
건물을 세우는 공사 건물관리, 청소, 전기공급
위성로켓 발사 위성을 통해 우주관측, 날씨 예측을 위한 위성사진 촬영
소프트웨어 개발 개발 완료된 소프트웨어의 유지보수
유조선의 건조 원유를 수송하는 업무를 수행

2. 소프트웨어 개발 프로젝트의 단계

가. SI 업체

1) SI(System Integration)의 정의

기업이 필요로 하는 정보시스템에 관한 기획에서부터 개발구축, 나아가서는 운영까지의 모든 서비스를 제공하는 일

소프트웨어 개발 혹은 시스템 통합을 전문으로 하는 회사

정보 시스템의 개발에 관하여 상담하고 그에 따라 설계, 개발, 운용, 보수, 관리 등 일체 업무를 담당하는 정보 통신 기업

SI 업체에 소프트웨어 개발 프로젝트를 의뢰할 경우

고객 혹은 발주자 수주자
소프트웨어의 개발을 의뢰하는 사람 혹은 기업(甲) 소프트웨어 개발을 고객으로부터 의뢰 받아서 수행하는 사람 혹은 기업(乙)

2) SI 업체에게 의뢰하는 경우

조직 내부에 자체적인 인력의 부족

프로젝트 수행에 따른 위험을 줄임(SI 업체의 노하우와 전문가를 활용)

비용 절감(SI 업체가 더 낮은 가격으로 컴퓨터 장비와 솔루션을 공급)

나. 소프트웨어 개발 프로젝트의 전체 절차

절차 발주자(甲) 수주자(乙)
입안 프로젝트 구상, 발의, 내부 승인  
발주 RFP 작성 및 배포  
제안 수주업체들의 문의에 응대 제안서 작성
평가 업체 평가 제안발표(Presentation)
협상 우선협상 대상자 선정 및 조정(가격, 일정, 품질 등)
계약 계약서에 날인 및 프로젝트 Kick-off

1) 입안

구상, 발의

발주자는 다양한 이유에 의해 프로젝트를 구상할 필요가 있음.

원가절감, 조직의 경쟁력 강화, 기타를 고려하여 프로젝트 구상

발주자 기업, 즉 발주사는 내부 승인을 득하기 위해 프로젝트 개요서를 작성함.

프로젝트 개요서에는 프로젝트 진행 이유, 수행방안에 대한 구상, 수행범위, 필요 예산 및 기간, 수행 이후 예상되는 결과 및 효과가 포함됨.

내부 승인이 되면 제안요청서(RFP) 초안 준비

RFP(Request For Proposal)는 발주자가 특정 과제의 수행에 필요한 요구사항을 체계적으로 정리하여 제시함으로써 제안자가 제안서를 작성하는 데 도움을 주기 위한 문서. 제안요청서는 시스템 설계에 사용자의 요구사항을 반영해 나중에 사용자의 제안이 잘 실행되고 있는지 판단하기 쉽게 만듦. 제안요청서를 만들려면 현재 회사의 상황을 잘 이해하고 있어야 함.

2) 발주

PFP 완성, 배포

3) 제안

수주자가 제안 준비

RFP 검토 및 제안 결정, 프로젝트 제안 PM의 선정, 제안 PM이 제안 팀을 구성

과거 수행 경험을 기반으로 제안서 작성

전문가 섭외

문제해결을 위한 솔루션 발굴

실현가능성 검증

품질기준에 맞는 수행내역 작성

제안서 내부 검토

4) 평가

제안 발표(제안자, 수주자), 평가(발주자)

5) 협상

우선협상 대상자 지정

협상은 발주자(甲)와 우선협상 대상자(乙) 간에 이루어 짐.

각종 조정(제안 가격에 대한 조정, 수행업무 범위 재조정, 일정에 대한 조정, 품질기준에 대한 조정 등)

6) 계약

표준계약서와 부속문서(프로젝트 수행계획서, WBS, 업체 관련 서류 등)로 계약 진행

3. 프로젝트의 성공기준

가. 범위

1) 수행 프로세스

프로젝트에서 수행하기로한 업무를 모두 수행했는지 여부

비즈니스 요구사항, 프로젝트관리 요구사항, 인도 요구사항 등

2) 결과 프로덕트

완성된 소프트웨어가 요구한 모든 기능을 구현하고 있는지 여부

기술적 요구사항, 안전 요구사항, 성능 요구사항

나. 일정

프로젝트의 상세한 일정은 WBS로 확인

구체적이고 실행 가능한 일정을 수립

생산성을 높일 수 있는 창의적인 방안 필요

다. 예산

투입되는 재료(HW, 네트워크 자원, 프로젝트 관리 도구 등)

투입인력(PM, 개발자, DBA, QA 등)

각종 부대비용(교육, 워크샵, 세미나, 회의비, 야근식대, 교통비 등)