심기보 숭실대학교 정보과학대학원 교수


▲ 심기보 숭실대학교 정보과학대학원 교수





소프트웨어 규모 견적의 매트릭스로써 최적인 것이 FP(Function Point)수이다. 이번호에서는 구체적으로 FP수를 사용한 계측방법에 대하여 알아본다. 우선은 최초 스텝인 데이터 기능의 계측방법에 대해서 알아보기로 한다.
소프트웨어 개발 업자가 아닌 타 업계의 프로젝트 매니지먼트 관계자 들은 "소프트웨어 개발의 프로젝트는 매니지먼트 계획 수립에 꽤 시간을 든다"라는 말을 듣는 경우가 많다. 그 업계에서는 시작(試作)품이든 중간 성과물이든 눈으로 보거나 혹은 실제로 계측하면 그 상태를 파악할 수 있기 때문에 매니지먼트의 계획을 상세하게 세울 필요는 없다고 한다.
그러나 형태가 거의 없는 소프트웨어의 경우 계획 단계까지 매니지먼트가 결정될 때 마다 바텀업(쌓아 올려)해 가지 않으면 프로젝트의 상황을 정확히 파악할 수 없게 된다. 따라서 프로젝트를 가시화하기 위해 매트릭스를 잘 다루는 기술이 당연히 필요하다. 이미 소프트웨어 규모 견적에서는 기능점수(FP)법의 이용이 최적이라고 설명했다. FP수는 성과물 스코프의 베이스라인으로서 가장 유효하게 기능을 발휘한다. 또, 생산성이나 품질을 나타내는 매트릭스 '( FP/人月'이나 '버그 수/FP') 등 분모나 분자로서 이용되는 가장 기본적인 규모 척도이다. 이번호와 다음호에서 이 FP법을 올바르게 이해할 수 있도록 FP 계측 방법을 해설한다.


FP법에 의한 요구정의(데이타 기능)

정량화하는 것은 기능 요건

처음에 FP법에서 정량화하는 것은 무엇인가를 분명히 해 둔다. 이것에는 ISO의'기능 규모 측정(Functional Size Measurement)'에 기재된 '개념의 정의(ISO/IEC 14143-l : 1998)'가 참고가 된다1). 이에 따르면 소프트웨어에서 실현해야 할 이용자 요건은 기능 요건, 품질 요건,기술 요건의 3개로 분류된다. 또한 기능 규모는 기능 요건만을 대상으로 해야 한다고 한다. 즉, 기능 규모에는 품질 요건이나 기술요건을 포함하지 않는다<그림 1>.



▲ <그림 1> ISO/IFC14143-1로 정의되는 3개의 요건





FP법은 만드는 방법에 좌우되지 않는 매트릭스이다. 바꾸어 말하면 기능 요건만을 정량화 한다는 것을 의미하고 있다. 실제 견적에서는 이용자 요건에 포함되지 않는 유저의 참가 정도나 참가 멤버의 경험, 스킬 등 프로젝트 특성도 가미할 필요가 있다.

그렇다면 왜 기능 요건을 품질 요건이나 기술 요건과 명확히 구별하는 것이 중요한가. 이유는 전회까지 본 것처럼 규모 견적에서는 무엇을 만들까, 즉 성과물 스코프에 초점을 맞출 필요가 있기 때문이다. 기능 요건은 소프트웨어가 실현해야 할 업무나 프로세스에 관한 요건을 가리키는 '무엇을 만들까'에 상당한다. 이에 대하여 품질 요건은 협의의 신뢰성(버그건수의 기준 등)이나 처리의 정확성뿐 아니라 성능이나 사용의 편의성, 보수성, 이해성 등 넓은 의미에서 소프트웨어 질을 나타내는 특성을 포함 한다2). 또 기술 요건은 개발 언어나 개발방법론, 가동하는 플랫폼, 개발 환경 등의 요건을 가리킨다. 이러한 요건은 '무엇을 만들까'가 아니라 '어떻게 만들까'에 해당한다. 그러므로 기능 요건과는 명확하게 분리할 필요가 있다.

기능 요건과 품질 요건/기술 요건을 구별하는 이유는 그 밖에도 있다. 견적 단계가 아니라 실제의 프로젝트에서도 메리트가 있는 것이다. 예를 들면, 어느 프로젝트에서 예정보다 공수가 팽창했다고 하자. 이 경우, 프로젝트 매니저는 당연히 공수가 팽창한 이유를 생각한다. 이 때, 기능 규모 즉 FP수가 증가하고 있는 경우는 기능 요건의 추가가 원인이라고 특정할 수 있다. 반대로 FP수가 증가하지 않았는데 공수가 증가하고 있으면 품질 요건이 바뀌었거나 만드는 방법이 맞지 않는 경우 등을 상정할 수 있다.

통상, 기능 요건의 증감의 원인은 유저에 있는 경우가 많으므로 만약 기능 규모가 증가하면 명확한 근거에 기초를 두고 유저와 추가 금액을 교섭하는 것이 좋다. 반대로 후자의 경우는 벤더측이 책임을 져야 하는 경우가 있다. 물론 이러한 경우에 프로젝트의 혼란이나 유저와의 트러블 발생을 피하기 위해서는 매니지먼트 계획을 엄밀히 세우는 것이 대전제이다. 기능 요건을 명확히 분리해 두면 공수 증가의 원인 구명이나 트러블 방지에 도움이 된다.

1) ISO/IEC 14143-1
단, 이 규격은 계측방법을 제공하는 사람을 대상으로 하고 있으므로 실제로 계측하는 사람은 이 규격을 깊이 알 필요는 없다.
2) 품질요건
성능이나 편리한 사용을 포함한 품질 요건에 대해서는 규모에 가미할지, 공수에 가미할지 의견이 나뉘고 있다. 실제, 이 건에 대해서는 다양한 곳에서 논의되고 있어 결론은 나오지 않는다. 단, 본연재에서는 FP수를 성과물 스코프의 매트릭스로 하기 때문에 품질 요건은 공수에 가미하는 것으로서 해설한다.




<이하 상세 내용은 컴퓨터월드 10월 호 참조>

저작권자 © 아이티데일리 무단전재 및 재배포 금지