FP(Function Point)란

justdotheg·2024년 10월 7일
post-thumbnail

나는 SI/SM 회사에서 일하고 있다.
회사에서 고객사에게 프로젝트 사전영업을 한다고 하는데, pm님이 공수 산정하는 것을 한번 해보라고 나에게 challenge를 던져주셨다. 그동안 SM 업무를 해왔기 때문에 MM(Man-Month)를 어떻게 계산해야 하는지조차 감이 안 왔다....😭 공수 산정에 앞서 FP(Function Point)를 알아야 한다고 해서 공부한 것을 써보려 한다.

'FP(Function Point)'란

1. 정의

Function Point (FP)는 소프트웨어의 기능적 요구사항을 기반으로 소프트웨어 규모를 측정하는 방식이다. 이는 시스템의 기능을 측정해 개발 공수나 비용을 산정하는 데 유용합니다. 기능이 얼마나 복잡한지에 따라 FP 점수를 할당하고, 이를 통해 프로젝트의 규모와 리소스를 예측한다.

FP는 주로 5가지 기본 요소로 나뉜다.

  1. 외부 입력 (External Input, EI): 시스템 외부에서 입력되는 데이터나 제어 정보. 예를 들어, 사용자가 입력하는 폼 데이터.
  2. 외부 출력 (External Output, EO): 시스템이 외부로 출력하는 데이터. 보고서나 알림 메시지 등
  3. 내부 논리 파일 (Internal Logical File, ILF): 시스템 내부에 저장된 논리적 데이터 그룹. 예를 들어, 데이터베이스 테이블.
  4. 외부 인터페이스 파일 (External Interface File, EIF): 다른 시스템에서 관리하는 데이터, 하지만 이 시스템에서 참조하는 데이터. 예를 들어, 외부 API를 통해 얻는 데이터.
  5. 외부 질의 (External Inquiry, EQ): 입력과 출력이 결합된 형태로, 사용자가 시스템에 질의하면 시스템이 응답하는 기능.

2. 예시

쇼핑몰 웹사이트를 개발한다고 가정할 때

• 고객 로그인 기능은 외부 입력 (EI)
• 주문 확인 페이지는 외부 출력 (EO)
• 고객 정보 데이터베이스는 내부 논리 파일 (ILF)
• 외부 결제 시스템과의 연동은 외부 인터페이스 파일 (EIF)
• 주문 상태를 조회하는 기능은 외부 질의 (EQ)

글을 마무리하며..

각 기능에 따라 복잡도를 산정한 후, FP 점수를 할당하고 이를 기반으로 공수를 계산할 수 있다. FP 분석은 개발이 필요한 기능의 크기를 정량적으로 평가하여 프로젝트의 전체적인 규모를 정확하게 산출하는 데 도움을 준다.

0개의 댓글