RadarURL
Skip to content
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

개발자로서 관리자로서 오랜기간 프로젝트를 수행했지만 프로젝트 초기에 항상 곤란을 겪는 분야가 있다.

바로 프로젝트를 제대로 수행하기 위해서 얼마의 자원을 투입하여야 하고, 일정계획을 어떻게 수립해야 하는가? 에 관한 문제이다.

?

여러분은,

?

이 기능을 개발하는데 며칠이 걸리는가?

?

에 대한 질문에 어떻게 답을 내고 있는가?

아마도, 대부분의 개발자는 지난 프로젝트의 경험에 비추어 대략 몇 명이 몇주 정도 하면 될 것 같다는 식으로 대답을 할 것이고 이에 따라 프로젝트의 추정과 계획수립이 이루어 질 것이다.

하지만 이러한 경험에 의한 추정방식은 매우 큰 오차를 가진다.

?

참고 ?불확실성 원추 (배리 뵘 ? 1981년)

프로젝트 초기에서의 일정추정치는 실제일정 대비 60%에서 160% 정도의 값을 가진다.

요구사항분석이 완료한 시점에서의 추정치 오차는 +- 15% 정도이다.

?

우리는 프로젝트의 위험을 줄이기 위하여 보다 정확한 일정추정치를 계산할 수 있어야 한다. 하지만 일정을 추정하는 작업은 개발자 스스로도 과학적인 접근을 할 시도를 거의 하지 않고, 소프트웨어 개발 회사도 개발자에게 맡길 뿐, 크게 개선할려는 노력을 기울지이 않는 분야 인 것 같다.

?

그렇다면, 일정을 과학적으로 추정할 방법은 없는가?

위의 질문을 우리가 평소에 과학적으로 쉽게 추정치를 계산할 수 있는 다른 질문으로 바꾸어 보자.

?

대구에서 서울까지 자동차로 가는데 얼마의 시간이 걸리는가?

?

이 문제는 쉽게 풀 수 있을 것이다. 대구에서 서울까지의 소요시간 추정을 하기 위해서는 어떠한 값을 알아야 하는가? 아래의 값을 알면 바로 해답이 나올 것이다.

?

  • 대구에서 서울까지의 거리

  • 자동차의 평균 속도

?

즉, 추정을 위한 규모(거리)와 평균적인 속도를 알면, 규모의 종료를 위한 추정(시간)이 산출될 것이며, 거리는 고정이므로 평균속도 값이 정확하면 정확할수록 보다 정확한 추정치를 얻게 된다.

?

다시 원래의 문제로 돌아가보자. 위의 이동시간 문제를 비추어 볼 때,? 개발의 일정추정을 위하여 어떠한 값을 알아야 하는가? 그것은 바로 개발규모평균개발속도이다.

?

개발의 일정 추정을 위해서는 개발규모와 개발자의 평균개발속도가 필요하다.

?

  • 개발규모

프로젝트의 규모는 무엇으로 측정하는가? 개발규모라는 것은 개발자의 능력, 개발프레임워크, 개발성향 등 외부적인 요인으로 크게 달라질 수 있다. 즉, 객관적으로 그 규모를 정의할 수 있는 단위가 필요하다.

즉, 개발환경적인 요소를 배제하고, 그 크기를 대구에서 서울까지의 거리와 같이 객관적인 규모로 정의할 수 있는 단위가 필요한데, 이것이 바로 기능점수이다.

?

기능점수는 개발의 규모를 객관적인 수치로 표현한다.

즉, 개발규모는 기능점수를 산출하여 측정할 수 있다.

?

기능점수는 사용자의 요구기능을 객관적 수치로 점수화하여 표현한다. 즉, 프로젝트의 전체 기능을 통하여 전체 기능점수를 산출하면, 우리가 프로젝트에서 개발해야 할 전체 규모가 된다.

?

우리는 기능점수를 산출할 수 있으므로, 이미 일정추정을 할 준비가 되어 있다. 그리고 이 기능점수를 이용하여 보다 과학적이고 정확한 규모를 산출하고 일정을 추정할 수 있다.

?

참고

Agile을 공부한 분이라면 User Story란 용어를 들어보았을 것이다. 이 User Story는 어떻게 보면 사용자요구사항또는 Usecase와 비슷한 개념인데, Agile에서는 이 User Story를 이용한 프로젝트 추정/계획 기법이 있다. 자세한 내용은 아래의 책을 참고하기 바란다.

?

불확실성과 화해하는 프로젝트 추정과 계획 (Agile Estimating and Planning)

인사이트, 마이크 콘

?

이 책에서 설명하는 프로젝트 추정기법과 이 글에서 설명하는 기능점수를 이용한 프로젝트 추정기법은 거의 유사하다. 단지, User Story 점수를 기능점수로 대체한 것 뿐이다.

User Story 점수는 개발구성원이 각 User Story에 난이도나 규모에 따라 직관적으로 임의의 점수를 부여하는 것이다. 그리고 이렇게 측정된 User Story 점수를 기반으로 일정 추정을 하게 된다.

?

이는 개발자의 경험과 직관에 의하여 점수를 임의로 부여하므로 매우 빠르게 전체 점수를 산출할 수 있지만, 점수를 부여하는 구성원에 따라 달라질 수 있고, 상당한 개발경험을 요구하게 된다. 이러한 방식이 나쁜 것은 아니다. 나도 이 방식에 의하여 프로젝트 추정을 많이 하고 있다. 하지만, 소프트웨어 개발회사 전반에 걸친 객관적인 규모산정에는 무리가 따르며, 국내 SI의 현실에 잘 맞지 않을 수도 있다.

?

사실, 이 글에서 설명하고자 하는 프로젝트 추정기법은 이 User Story에 의한 프로젝트 추정법에서 아이디어를 얻었고, 이를 응용하여 User Story 대신 보다 객관적인 점수를 산출하는 기능점수로 대체하였다.

?

  • 평균개발속도

개발자의 개발속도는 어떻게 표현할 수 있을까?

이미 개발의 규모에 대한 단위(FP)가 결정되었으므로 개발자의 평균개발속도는 특정시간단위 당 개발규모단위로 표현된다. 즉, 시간단위당 개발기능점수가 개발속도가 된다.

?

개발속도 = 총개발기능점수 / 총개발시간

단위 : FP / Week (개발시간을 주로 표현한 경우)

?

그렇다면 프로젝트에 투입된 개발자의 평균개발속도는 어떻게 산출하는가? 그리고 각 개발자의 능력에 따라 개발속도가 모두 다른데 이는 어떻게 하는가?

대부분의 프로젝트는 다수의 개발자가 투입되어 수행하게 되므로, 정확한 개발속도의 산출을 위해서는 개개인의 개발속도를 알아야만 한다. 즉, 전체 그룹에 대한 개발속도는 산출하기도 힘들고, 산출되더라도 실제 일정추정에 적용하기에는 오차가 너무 크다. 따라서, 개발회사는 일정추정을 위해서는 개발자 개개인의 개발속도를 미리 측정하여야 한다.

?

이는 평균값이므로 당연히 기존 데이터가 존재하여야 하고, 이를 통계로 산출할 수 있어야 한다. 즉, 처음 기능점수에 의한 프로젝트 추정방법을 도입하는 경우, 이러한 통계값이 없으므로 바로 정확하게 적용하기는 힘들다. 초반에는 완전히 추측치를 사용하여 측정하여야하고, 이후 점차 기능점수에 의한 개발 데이터가 누적되면 그 정확도는 점점 올라가게 된다.

?

즉, 개발회사는 이후의 추정 정확도를 높이기위하여 각 개발자별 투입기간과 투입기간동안 실제 개발한 기능점수 데이터를 관리하여야 한다. 이 데이터가 지속적으로 관리되고 누적된다면, 평균개발속도의 정확도는 올라가며 이는 곧 프로젝트 일정 추정의 정확도가 올라가는 결과를 가져온다.

?

개발자의 실적을 기능점수를 이용하여 누적관리하고 이를 통하여 평균개발속도를 얻는다.

?

각 개발자의 평균개발속도 자료가 충분히 없다면, 샘플기능을 추출하여 개별적으로 개발속도를 측정해서 사용할 수도 있다. 즉, 프로젝트 대상 기능중 일부를 실제 개발해보고 속도를 측정하여 사용하는것이다. 하지만 이방법은 프로젝트 추정기법 초기에만 활용하고 되도록 각 프로젝트 수행시 개발자의 실적을 관리하여 통계에 의하여 사용하는 것이 좋다.

프로젝트의 일정추정을 위하여 개발자의 실적을 기능점수로 관리하여야 한다는 것은 또다른 기능점수의 활용대상을 낳는데, 개발자의 성과관리부문이다. 즉, 기능점수를 이용하여 성과를 수치로 측정한다는 것이다. 이는 추후 다시 설명하기로 한다.

?

  • 프로젝트 추정

프로젝트의 기간과 기능점수가 산출되었다면 프로젝트 계획단계에서 일정계획, 자원투입계획을 프로젝트 추정에 의하여 미리 산출해볼 수 있다. 이미 프로젝트의 기간과 투입인력이 결정되어 있는 상태라면 이러한 조건을 모두 계산하여 프로젝트 일정계획과 자원계획의 적정성을 검증하거나 프로젝트 위험도를 예측해볼 수 있다.

?

예를 들어 프로젝트의 총 기능점수가 1000점인 경우, 실제 구현기간이 20주라면, 주당 개발속도(FP/week)는 50점이어야 한다. 만약 개발자 전원이 주당 개발속도가 10점이라면 이는 개발자를 5명 투입해야 한다는 결론이 나온다. 즉, 기능점수와 평균개발속도 데이터를 이용하여 적정 자원투입계획을 수립할 수 있다.

?

만약 이미 기간과 자원투입계획이 수립된 상태라면, 미리 프로젝트 일정상의 위험을 검사해볼 수 있다.

앞의 예에서, 투입자원 전체의 평균 개발속도가 8점이라면, 구현기간 동안 개발가능한 기능점수는 (8점 * 5명 * 20주), 800점이다. 즉, 200점이 기간 내에 개발이 되지 않을 것으로 추정된다. 이 경우, 200점을 개발할 추가 적인 인원을 산출하여 투입하던가 기간내에 기존 인원이 추가적인 작업으로 10점을 개발할 수 있도록 일정계획을 수립하여야 한다.

?

이와 같이 기능점수에 의한 프로젝트 추정 기법은 수치에 의하여 추정과 계획을 수립할 수 있도록 하여 보다 정확한 프로젝트 관리를 가능하게 해준다.

?

참고

많은 소프트웨어 개발 회사의 관리자는 프로젝트 수행시 무리한 일정계획을 요구하고, 보다 적은 투입인력을 원한다. SI 사업의 경우, 인건비와 시간을 줄이는 것이 수익을 늘려주므로 어쩔 수 없는 요구이긴 하지만 개발자 입장에서는 이는 곧 야근과 같은 무리한 업무량을 요구하는 것이므로 항상 불만이 커지게 된다.

또한 개발자 측에서 주장하는 이 일정은 무리한 일정입니다.또는 이 인력으로는 무리입니다.라는 얘기는 관리자에게 거의 받아들여지지 않는다. 이를 주장하기 위해서는 수치에 의하여 객관적인 근거자료가 있어야 하는데, 대부분 이것을 제시하지 못하기 때문이다. 따라서, 개발팀은 기능점수에 의한 프로젝트 추정법 같은 기법을 도입하여 그 근거를 제시할 수 있어야 하며, 과부하에 따른 보상을 요구하거나 과부하 상태임을 주장할 수 있어야 한다.

물론 그 성과를 받아들이는 것은 회사의 몫이지만, 그래도 개발자가 본인의 목소리를 높이기위해서는 객관적인 근거를 제시할 수 있는 방법을 알고 있어야 한다.

?

 

출처 : http://rainiac.com/dev/index.php/%ea%b8%b0%eb%8a%a5%ec%a0%90%ec%88%98-%ed%99%9c%ec%9a%a9-%ed%94%84%eb%a1%9c%ec%a0%9d%ed%8a%b8-%ec%b6%94%ec%a0%95%ea%b3%bc-%ea%b3%84%ed%9a%8d-1-%ea%b8%b0%eb%8a%a5%ec%a0%90%ec%88%98%ec%97%90-%ec%9d%98/

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.17 828798
1716 업무 기능점수(FP,Function point) 관련 정의 및 비용산정 file JaeSoo 2014.03.27 2842
1715 윈도우즈 윈도우즈 작업 관리자를 띄우는 여러가지 방법 file JaeSoo 2014.03.27 2004
1714 윈도우즈 윈도우즈7 MBR 복구 (BOOTMGR is missing) file JaeSoo 2014.03.27 2264
1713 윈도우즈 윈도우7 고스트로 복원했는데 부팅이 안될때 (BOOTMGR 문제) JaeSoo 2014.03.27 2004
1712 유닉스/리눅스 레드햇,우분투 리눅스(Linux) 다운로드 file JaeSoo 2014.03.27 1735
1711 업무 기능점수 활용 프로젝트 추정과 계획 – 4.프로젝트 추정 및 진척관리 간이법 JaeSoo 2014.03.26 1545
1710 업무 기능점수 활용 프로젝트 추정과 계획 – 3.기능점수에 의한 일정계획 및 진척관리 예시 file JaeSoo 2014.03.26 1398
1709 업무 기능점수 활용 프로젝트 추정과 계획 – 2.기능점수에 의한 프로젝트 계획과 진척관리 file JaeSoo 2014.03.26 1392
» 업무 기능점수 활용 프로젝트 추정과 계획 – 1.기능점수에 의한 프로젝트 추정 JaeSoo 2014.03.26 1433
1707 업무 기능점수 산출 프로그램 – FPStudio file JaeSoo 2014.03.26 1629
1706 업무 재개발기능점수 산출 엑셀양식 file JaeSoo 2014.03.26 1658
1705 업무 기능점수 산출 실전 – 10.재개발 기능점수 산출 Tip JaeSoo 2014.03.26 1383
1704 업무 기능점수 산출 실전 – 9. 재개발기능점수산출 file JaeSoo 2014.03.26 1511
1703 업무 기능점수 산출 엑셀 양식 file JaeSoo 2014.03.26 1654
1702 업무 기능점수 산출 실전 – 8.-기능점수산출 정리 JaeSoo 2014.03.26 1474
1701 업무 기능점수 산출 실전 – 7. 기능점수 산출 Tip JaeSoo 2014.03.26 1124
1700 업무 기능점수 산출 실전 – 6. 상황별 기능점수 산출방법 JaeSoo 2014.03.26 1177
1699 업무 기능점수 산출 실전 – 5.기능점수 및 소프트웨어 개발비 산정 예제 file JaeSoo 2014.03.26 1539
1698 업무 기능점수 산출 실전 – 4. 개발비산정 file JaeSoo 2014.03.26 1423
1697 업무 기능점수 산출 실전 – 3. 기능점수 측정방법 file JaeSoo 2014.03.26 1100
Board Pagination Prev 1 ... 34 35 36 37 38 39 40 41 42 43 ... 124 Next
/ 124

 

■ 즐겨찾기 - 가족
JAESOO's HOMEPAGE YOUNGAE's HOMEPAGE 장여은 홈페이지 장여희 홈페이지 장여원 홈페이지

■ 즐겨찾기 - 업무
알리카페 홀릭 숭실대 컴퓨터 통신연구실 (서창진) 말레이시아 KL Sentral 한국인 GuestHouse

■ 즐겨찾기 - 취미
어드민아이디 유에코 사랑회 아스가르드 좋은사람/나쁜사람 JServer.kr 제이서버 메타블로그 재수 티스토리

■ 즐겨찾기 - 강의, 커뮤니티
재수 강의 홈페이지 한소리 VTMODE.COM 숭실대 인공지능학과 숭실대 통신연구실


PageViews   Today : 538   Yesterday : 1,880   Total : 61,433,255  /  Counter Status   Today : 285   Yesterday : 853   Total : 3,341,175
Site Info   Member : 1,395  /  Total documents : 7,156   New documents : 0  /  Total comments : 516

design by by JAESOO.com

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소