RadarURL

?

단축키

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.18 2017092
2632 u-E(TestBed) 티소믈리에, 차 문화를 바꾸다 new 광휘의철편64 2026.10.06 0
2631 가상화 창원흥신소 서비스 안내 new 흔들리는골렘32 2026.10.06 0
2630 경제 동작노래방 010 2817 0845 모임 분위기에 맞는 노래방 안내 new 교활한철학자타조18 2026.10.06 1
2629 윈도우즈 유심&통장 [카,톡] sim256 (24시문의) 대포유심 대포통장판매 선불유심팝니다 대포유심팝니다 new 놀라운운석99 2026.10.06 1
2628 업무 강남세븐❤️OlO-8655-OO53❤️친절문의환영 #강남세븐 #역삼동세븐 #강남세븐데이즈 #강남풀싸롱 #역삼동풀싸롱 #선릉역풀싸롱 #역삼동룸싸롱 #역삼룸사롱 #역삼풀살롱 #강남미러초이스 #역삼미러초이스 new 괴랄한재규어89 2026.10.06 1
2627 건강 파주누수업체, 신속 해결의 모든 것 new 우중충한도적91 2026.10.06 2
2626 u-E(활성화) ㅇㅇ병원, 당신의 건강을 책임지는 현명한 선택 new 빛나는달고나24 2026.10.06 1
2625 u-E(표준화) 양산싱크대막힘 시원하게 뚫는 비법 new 예측불가토끼46 2026.10.06 1
2624 동식물 용인두피문신 고민? 만족 후기 보려면 new 절묘한솔개92 2026.10.06 6
2623 구글 애드센스 토보샵: 명품레플리카 쇼핑의 시작 new 얼어붙은흐름98 2026.10.06 3
2622 사무 소프트웨어 대전누수, 근본 원인 해결의 시작 new 적막한체이서42 2026.10.06 1
2621 사업 마인드 끝판왕 사이즈까지 장착 완료! 010---8293---0291---- 여기가 베트남인줄 마블 노래클럽 new 기운찬오소리38 2026.10.05 1
2620 건강 카-툑 gusim8003 [24시문의] 선불유심내구제/내구제대출/소액대출/급전/ 비대면대출 상조내구제 무직자대출 대출 new 어설픈오소리22 2026.10.05 1
2619 하드웨어 강남엘리트❤️OlO-8655-OO53❤️친절문의24시 강남하퍼1등실장 #강남엘리트 #강남엘리트위치 #강남엘리트하퍼 #하이퍼블릭엘리트 #강남엘리트예약문의 #선릉엘리트 #선릉역엘리트 #강남사라있네 new 괴랄한재규어89 2026.10.05 1
2618 블로그 청담동셔츠룸 010 2817 0845 일정과 인원에 맞춘 셔츠룸 문의 new 정열적인퀘이사14 2026.10.05 1
2617 카메라 최근 테헤란로 벤처 밸리의 핵심 리더들 사이에서 ‘클래스가 다른 정통 수질과 프라이빗 무드’로 소문 자자한 '선릉 룸싸롱' 기습 방문, 인공미를 거부하는 무결점 뉴페이스들과 심장을 마비시킨 사심 플러팅에 제대로 저격당하고 온 솔직 후기 new 희미한홍학99 2026.10.05 1
2616 u-E(활성화) 본식DVD, 웨딩영상 색감이 중요한 이유새 창 열림 new 힘겨운귤35 2026.10.05 2
2615 공지 대전, 인천, 세종 하수구 막힘 문제 해결 방법 정열적인코요테90 2026.10.05 4
2614 취미 <문경맥주> 구입 할 수 있는 곳은 새 창 열림 타오르는드래곤61 2026.10.05 1
2613 데이터베이스 강남건전지❤️OlO-8655-OO53❤️친절문의환영 #강남건전지 #강남유니콘 #선릉유니콘 #강남건전지위치 #선릉역건전지#대치동유니콘 #강남바커스 #선릉바커스 #선릉역바커스 #강남룸클럽 #선릉룸클럽 #강남베터리 #강남바데리 괴랄한재규어89 2026.10.05 1
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 132 Next
/ 132


즐겨찾기 (가족)

JAESOO's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너