소프트웨어 프로젝트 계획서 - sopeuteuweeo peulojegteu gyehoegseo

��ũ�� 34����Ʈ �� �����ݾ����� �ٿ�ε� �����̿�ȳ�

������ ����Ʈ ��ü����

소프트웨어 프로젝트 계획서 - sopeuteuweeo peulojegteu gyehoegseo

1,936��
�⺻���� 200��~

소프트웨어 프로젝트 계획서 - sopeuteuweeo peulojegteu gyehoegseo

4,099��
�⺻���� 100��~

소프트웨어 프로젝트 계획서 - sopeuteuweeo peulojegteu gyehoegseo

5,579��
�⺻���� 100��~

소프트웨어 프로젝트 계획서 - sopeuteuweeo peulojegteu gyehoegseo

3,074��
�⺻���� 200��~

소프트웨어 프로젝트 계획서 - sopeuteuweeo peulojegteu gyehoegseo

3,644��
�⺻���� 150��~

����

�ѱ�

����

����

�Ŀ�����Ʈ

��ũ�ι�

���� �ڽ�

���� ��Ʈ

���� �����̵�

��Ÿ

���ļ���

��õ��

�ٿ�ε� ��

��Ȯ����

�ֽż�

1. 프로젝트 계획(plan) 이란?

- 프로젝트의 목표를 달성하기 위해  자원의 할당, 일정을 계획, 책임과 역할 정의 등 프로젝트의 모든 활동을 구체화한 가이드 라인

-계획(plan) :  앞으로 할 일의 절차, 방법, 규모 따위를 미리 헤아려 작성함. 또는 그 내용.

- 프로젝트 수행의 필수 조건 : 환경, 책임 , 절차, 일정

2. 프로젝트의 계획서 작성에 필요한 내용

프로젝트 개요

- 프로젝트의 목적/목표,범위,기간 등을 정의함

프로젝트 조직

- 인적 자원 관점:  프로젝트를 수행할 조직 및 인력에 대한 책임과 역할, 투입계획등을 정의함

- 비인적 자원 관점 : 하드웨어/소프트웨어 정보 정의함

프로젝트 산출물

-프로젝트 단계별 산출물 목록을 정의함

-Agile Project에서는 포괄적 문서 보다는 작동하는 소프트웨어로 대체함. ( 최소한의 문서화)

프로젝트  수행 일정

-프로젝트 단계별 추진일정 과 세부 일정을 정의함

-Agile Project에서는 반복일정을 수립하여 점진적으로 개발되도록 일정계획을 수립함

품질관리

-품질보증 방안을 위한 활동,보고,검토 계획

-Agile Project에서는 짝프로그래밍, TDD, Daily-Meeting을 통해서 품질관리를 수행함

테스트 계획

-테스트 방법(단위,통합,성능)과 시험 전략 및 일정을 정의함

-Agile Project에서는 iteration 종료마다 복합적인 테스트를 수행.

형상관리

-형상관리( 구성관리)의 대상,범위,절차,Base-Line(기준선) 정의 및 형상관리 위원회 구성 및 소집에 대해서 정의함

-Agile Project에서는 각 iteration을 마다 Base-Line(기준선)을 정의하고 관리함

위험관리

-프로젝트 단계마다 예측되는 위험의 도출,발생가능성,영향도를 정의하여 관리함

-예측이 불가능한 이슈에 대한 처리를 위해서 일정에 반영해야함  

의사 소통 관리

-프로젝트 팀원간 주간회의, 업무보고회의, 일정보고회의 등 의사소통 일정을 정의함

-프로젝트 계획을 효과적으로 달성하기 위한, Best practice를 정리한 것이 PMI( Project Management Institute : https://www.pmi.org )의 PMBok(Project Management Body of Knowledge)임.

-PMI에서도 Agile Project의 특수성을 고려하여 PMP(Project Management Professional )와는  별도로 PMI-ACP( PMI Agile Certified Practitioner )를 통해 현업 전문가를 인증하고 있음

-Agile Project에서의 계획서는 Agile의 가장 큰 목적인 고객에게 빠른 제품 전달을 위한 계획서를 작성해야함

3. 실전 사례

1)프로젝트 개요

프로젝트 명

SW 개발 지식 습득을 위한 스터디 관리 플랫폼

(Study Management Platform)

프로젝트 코드

2018SMP

프로젝트 목적

-SW 개발 지식 습득을 위한 스터디를 참여하고 하는 이에게

스터디 개설에서 관리 및 멘토 지원까기 가능한 서비스를 제공하기 위한 온라인 플랫폼 제작

- 스터디 품질 향상 : 멘토 시스템을 통한 스터디의 목표 달성과 과제를 통한 수준 확인 및 Feedback

- 스터디 참여 및 관리의 용이성 : 스터디 인원 모집, 장소 섭외, 회계까지 스터디를 운영하기 위한 모든 일을 제공

- 개발자를 위한 커뮤니티 지원 : 개발자로 성장하고, 능력을 활용할 수 있는 커뮤니티 멤버

- 멘토 모집 : 10년차 이상 고급 개발자를 재능을 활용할 있도록 멘토로 모집하여 스터디에 리딩할 수 있도록함.

프로젝트 기간

3개월 (2018.08.01 ~ 2018.10.31)

프로젝트 수행 업체

- 미정( 계획서 작성 후 In-house 또는 out-sourcing 여부 결정)

-프로젝트 수행 업체를 아웃소싱하기 위해서 제안요청서(RFP)를 작성해 주어야 하고 ,계약을 하기 위해서  프로젝트 정의 및 스토리 보드등을 발주자가 정리해서 넘겨주어야 함

-그러므로,  프로젝트 계획 과정에서 사전에 관련 내용을 정리함으로써, 차후 아웃소싱 위탁시 활용하도록 함

프로젝트 범위


웹 사이트 (국문/영문)

사용자 요구 사항 분석 및 반영

반응형

Multi Browser 지원


모바일 앱
(국문/영문)

대상 : Android , iPheone

웹앱

웹사이트를 웹앱 형태로 사용가능하도록 구현


-프로젝트 범위는 대부분 사용자 요구사항에서 동일하나,

비기능적 요구사항 중 중요한 사항이나 요구사항에 넣지는 않았지만 시스템 구현에 반드시 필요한 업무등을  범위는 포괄적으로 선정함

*비기능적 요구사항에 대한 부연설명 :

-이부분이 ‘을’입장에서는 곤란한 부분으로 막상 요구사항에 맞게 구현하였지만, 계약서상 이부분이 존재하기 때문에 프로젝트 종료를 위해서는 ‘갑’의 요구사항 변경 및 불합리한 요구를 외면할 수 없음.

-반대로 ‘갑’입장에서는 프로젝트의 목표를 달성하기 위해서 단순히 서비스 요구사항의 완료로 프로젝트 가이드 라인을 정하면, 실제 서비스가 정상적으로 운영되지 않을 수 있기 때문에 프로젝트 범위를 좀더 포괄적으로 잡아야함.

-대부분의 기업에서의 IT는 비즈니스의 성공을 위한 도구이지, IT자체가 비즈니스의  목적이 될수 없기 때문에 ‘갑’과’을’은 이부분을 서로 고민하고 프로젝트 성공을 위해서 노력해야함.

-Agile Project에서도 “프로젝트 개요”부분은 가능한 상세하고 명확하게 정의하고 넘어갈 것을 권고함.  

2)프로젝트 조직도 ( In-house 개발시 필요)

책임( Responsibility)

역할(Role)

담당자명

PM (Project Manager)

-프로젝트 관리하는 총괄

-프로젝트 일정,품질,인력,사업 등을 관리


Product Owner

-구현할 제품/서비스에 대한 고객 관점에서의 총괄

- 실제 “고객”일 수 도 있음


개발자

-제품/서비스를  프로그램을 하는 개발자

-서비스 완료후 운영자로의 전환 고려


디자이너

-제품/서비스의 디자인을 하는 개발자


-Agile Project의 특징상 조직 보다는 프로젝트 팀원의 책임과 역할을 정의함

-대부분 비즈니스와 관련된 역할을 하는 창업자가 PM, Product Owner의  책임을 가짐

-개발자는 가능하면 창업 멤버로 영입하는 것이 필요하고, 디자이너의 경우 영입이 어려운 경우 Out-Sourcing을 해서 활용하도록 함

3)인력 투입 계획 ( In-house 개발시 필요)

영역

담당업무

이름 (직책)

기술

등급

8월

9월

10월

투입 계획

웹 사이트

(상주인력)

PM

A ( CEO )

고급

0.50

0.50

1.00

Product Owner

A ( CEO )

고급

0.50

0.50

1.00

개발

B ( CTO)

고급

1.00

1.00

1.00

웹 사이트

(비상주인력

디자인

C ( 프리랜서)

중급



1.00

4)프로젝트 환경

하드웨어

- 클라우드 서비스를 통한 서버 구축

소프트웨어


OS

CentOs Linux 최신

WebServer

Apache

WAS

Tomcat

DB

Maria DB

Character Set

ECU-KR


- 서버의 경우 on premise보다  클라우드에 설치하는 것이 좋음

- 단, 이미지, 동영상등 트래픽이 많이 나오는 서비스의 경우 클라우드를 사용할 경우 예상치 못한 과대 비용이 청구될 수도 있으니 이부분에 대한 고려는 필요함

5)산출물

작업

산출물

비고

계획

-iteration 계획서

-고객과 협의하여

iteration의 목표와 범위,

기간 설정

분석/설계

-요구사항 분석

-유저 시나리오, 테스트 케이스

-유저 시나리오와 테스트 케이스는 검수의 기준이됨

개발

-서비스 URL

-소스

-git에 저장

테스트 및 이관

-테스트 보고서

-운영 이관

-CI/CD를 활용한 자동화 고려

매뉴얼

-운영매뉴얼 및 변경사항 정리


검수

-완료 보고서 및 검수 요청서

검수 후

다음 iteration 준비

- 프로젝트 산출물은 가이드 라인 설정과 차후 책임소재 파악, 유지보수,이력관리를 위해 다양한 종류가 있는것이 유리함

-하지만, 해당 산출물이 많아지면 그 만큼 관리 포인트가 많아지므로, 운영에는 비효율적이고

실제 프로젝트 종료후 해당 산출물이 지속적으로 관리되기 어렵기 때문에 Agile 정신에 맞게 최소한으로 정의함

-산출물은 각 iteration마다 기준선(base line)을 정하는 것으로함

6) 프로젝트 수행 일정

가. 프로젝트 추진 일정

단계

프로젝트 일정 ( 2018.08.01 ~ 2018.10.31)

8월

9월

10월

프로젝트 계획

분석 및 설계

분석 및 설계

개발

디자인

개발

단위테스트

테스트/이행

통합테스트

성능테스트

이행

안정화

시스템 안정화

-개발은 점진적으로 진행되면, 각 iteration마다 계획,분석/설계,구현,테스트가 이루어 짐

나.  단계별 세부 일정

일정

단계

작업

2018.08.01 ~ 2018.08.07

프로젝트 계획

-프로젝트 범위/일정/방향 확정

2018.08.08 ~ 2018.08.14

분석 및 설계

-요구사항 수집

-I.A 설계

-스토리 보드 작성 및 화면 설계

-코딩 가이드 제작

2018.08.15 ~ 2018.10.14

개발

-분석 설계에 의한 구현 iteration 일정 수립( 1 ~ 4주)

-각 iteration마다 단위/통합 테스트 수행

2018.10.14 ~ 2018.10.23

테스트 및 이행

-고객 검수 준비 및 검수

-성능 테스트 및 이행

2018.10.24 ~ 2018.10.31

안정화

-서비스 안정화를 위한 수정

-고객 검수 확인 및 프로젝트 종료

*I.A (Information Architecture ) : 데이터 고유의 패턴을 정리하여 사용자가 원하는 정보를 찾을 수 있도록한 구조 체계.

                                          예) 라벨링,네비케이션 바 등으로 구현됨

7) 품질관리

보고사항

주기/형식

주요 보고 및 검토사항

보고자

Daily Meeting

매일

/구두

간단한 메모

- 구현상 어려움

- 리펙토링 방법 논의

PM

코드 리뷰

매주/ 구두

-구현 소스를 보며 개발자간 의견 교환

기술리더

이슈보고

문제,

장애발생 시

/보고서

- 장애 발생 및 기타 문제사항 발생 보고

- 조치계획 및 조치 결과 보고

PM

- 별도의 품질관리 팀에 의해서 품질 보증활동이 진행되는 것이 이상적이나,

Agile 프로젝트에서는 Pair Programming, Daily Meeting , TDD를 통해서 품질 관리를 효과적으로 하고 있음

8)테스트 계획

가. 테스트 방법

시험 항목


단위 테스트

단위 프로그램 간 기능 시험

통합/시스템  테스트

시스템간 연동 및 전체 기능 시험

성능 테스트

과부하 시험


시험 전략

1) 각 iteration 마다 테스트 수행후 품질 개선 활동 수행

2) 실 운영 환경에서 시스템 성능 검증

나. 테스트 일정

테스트 종류

일정

비고

단위 테스트

2018.08.15 ~ 2018.10.14

개발 기간 내 단위 테스트 수행

통합 테스트

2018.10.14 ~ 2018.10.23


성능 테스트

2018.10.14 ~ 2018.10.23


인수 테스트

2018.10.24 ~ 2018.10.31


*Agile 프로젝트의 점진적 개발 방법의 특성상 개발 기간내에 지속적으로 단위테스트와 통합테스트가 이루어짐

*여기서의 통합 테스트는 인수 테스트를 위한 점검의 의미가 강함

9) 형상관리


산출물

비고

1

프로젝트 계획서


2

요구사항 분석, 유저 시나리오, 테스트 케이스

각 개발 iteration 마다 관리

3

운영매뉴얼

각 개발 iteration 마다 관리

4

소스

각 개발 iteration 마다 관리

5

디자인 관련 리소스

각 개발 iteration 마다 관리

- IT 관리 측면에서는 관리의 기준이 되는 형상관리(구성관리)가 가장 중요함.

- 형상관리의 자세한 내용은  ITIL(IT Infrastructure Library)을 참고

10) 위험관리

단계

위험

발생가능성

영향도

대응 방안

분석/설계

요구사항 및

분석 오류

- 고객과의 지속적인 의사소통

구현

인력 관리 및

일정 지연

-각 개인의 피로도 파악 대처

-iteration내의 야근 및 추가 근무를 통한 지연 최소화

통합테스트/이행

테스트 시나리오 오류

-테스트 시나리오 검증, 오류 수정, 재작성

성능 저하

-서버 증설, 로직 수정

기타 위험요소

산출물 오류

-산출물 검토,오류 수정,재작성

개발자/디자이너 인력 부족

-아웃소싱을 통한 인력지원

11)의사소통 관리

보고체

보고자

보고 주기

보고방법

산출물

보고 대상

Daily Meeting

-

매일 9시

구두

구두

-

프로젝트 팀 주간회의

팀원

매주 금요일 오전 9시

주간회의

주간보고서

PM

고객 보고회의

PM

매월 1일

오후 13시

월간회의

진척보고서

고객

-Daily Meeting은 업무전 10~20분 이내로 간단한 issue나 질의응답 수준으로 격식없이 구두로함

[참고]

1. 본문 내용의 적용범위

-여기서 다루는 Project Plan은 start-up 이나 micro service 개발을 위해서 필요한 내용만을 정리하였습니다.

2. 소프트웨어 공학에서의 프로젝트 계획서

- 공공기관에서 수행하는 정형화/범용화된 소프트웨어 프로젝트를 하기를 원하시면

소프트웨어 공학 포털( http://www.sw-eng.kr/ )에서 상세한 관련 내용을 참고하시기 바랍니다.

*정보통신산업진흥원 :  http://www.nipa.kr/main.html

3. PMI-ACP : PMI Agile Certified Practitioner

- https://www.pmi.org/certifications/types/agile-acp