print
A A A

Szacowanie kosztu

Ze względu na złożoność realizacji projektów informatycznych (i konieczność uwzględnienia wielu nieplanowanych zdarzeń) szacowanie kosztu wytwarzania oprogramowania jest trudne (podobnie jak ustalanie harmonogramu).

Koszt realizacji projektu informatycznego składa się głównie z:

  • kosztów osobowych (wynagrodzenie wykonawców i personelu wspomagającego)
  • kosztów sprzętu i oprogramowania usługowego
  • kosztów realizacji:
    • wyjazdy, szkolenia
    • utrzymanie pomieszczeń, materiały biurowe, itp.

Najtrudniejszym elementem szacowania kosztu realizacji przedsięwzięcia informatycznego jest określenie wydajności pracy (czyli np. ile zajmie realizacja określonego zadania przez określoną liczbę osób w określonych warunkach). W celu ułatwienia szacowania kosztu wprowadza się rozmaite metryki wydajności:

  • metryki oparte na rozmiarze kodu (np. liczba linijek kodu produkowanego miesięcznie przez pojedynczego programistę)
  • metryki oparte na uzyskiwanej funkcjonalności (np. interakcjach z użytkownikiem, interakcjach z urządzeniami we/wy)

Metryki są bardzo szacunkowe i przybliżone, nie uwzględniają rozmaitości i złożoności oprogramowania.

Szacowanie kosztu jest każdorazowo zadaniem złożonym i indywidualnym, można realizując go wspomagać się następującymi technikami:

  • modelowaniem algorytmicznym
  • ekspertyzami specjalistów
  • porównaniami z uprzednio realizowanymi projektami
  • ograniczeniami (szacowany jest koszt zależnie od ograniczeń i następnie przykrawa się wymagania i szczegóły realizacji do przewidzianego kosztu). Przykładem ograniczeń są np. warunki zamówienia lub stan firmy

Modelem algorytmicznego szacowania kosztu realizacji przedsięwzięcia informatycznego jest np. model COCOMO (COst COnstruction MOdel), posiadający dwie wersje 1 i II. Model COCOMO jest modelem empirycznym powstałym z uogólnienia dotychczasowych doświadczeń z wytwarzaniem oprogramowania. W modelu COCOMO II wyróżnia się cztery podmodele dla różnych faz projektu: kompozycyjny (application-composition), fazy wstępnej (early design), ponownego użycia (reuse) i post-architektoniczny (post-architecture). Model COCOMO stosuje proste wzory matematyczne z szeregiem parametrów. W modelu tym koszt wyraża się jako funkcję miary kodu (miarą może być liczba linii lub liczba tzw. punktów funkcyjnych). Funkcja zazwyczaj (w dwóch z czterech podmodeli) przybiera postać Koszt = a * miarab, gdzie b zawiera się w przedziale 1÷1.5 (koszt rośnie szybciej niż liniowo wraz z wzrostem miary kodu). Model COCOMO pozwala także szacować nakłady (w osobo-miesiącach) i czas realizacji projektu. Dobór parametrów jest bardzo złożony – każdy ostateczny parametr jest sumą lub iloczynem wielu innych parametrów cząstkowych. Stosowanie modelu COCOMO, pomimo jego szczegółowości, pozostawia jednak wiele miejsca na subiektywne oceny i jest podatne na błędy i niedokładności. Sposobem redukcji arbitralności w modelu może być jego lokalna kalibracja na podstawie uprzednich projektów. Choć stosowanie go powinno odbywać się z dużą ostrożnością, jego zaletą jest zgromadzenie w jednym algorytmie rozmaitych czynników wpływających na nakłady, koszt i harmonogram projektów informatycznych. Spośród czynników uwzględnianych w modelu COCOMO wymienić można:

  • złożoność oprogramowania
  • stopień ponownego wykorzystania kodu
  • doświadczenie personelu (w dziedzinie zastosowania i w wytwarzaniu oprogramowania)
  • stopień wykorzystania narzędzi CASE
  • nowatorstwo projektu
  • stopień dojrzałości procesu wytwarzania w firmie
  • wymagania efektywności i niezawodności oprogramowania
  • elastyczność procesu wytwarzania oprogramowania
  • zaawansowanie przeprowadzanej analizy ryzyka
  • spójność zespołu realizującego projekt
  • zmienność sprzętu i oprogramowania wykorzystywanych w projekcie

«Analiza ryzyka     Zarządzanie personelem»