Studium osiągalności
Rozmiar projektu (np. w punktach funkcyjny projektu w porównaniu do rozmiaru zakładanego zespołu projektowego i czasu Dostępność zasobów (budżet, personel, kadra) Ograniczenia czasowe (końcowe daty ukończenia projektu, wdrożenia itd.) Warunki wstępne niezbędne do realizacji projektu Dostępność oprogramowania oraz narzędzi do rozwoju oprogramowania Dostępność sprzętu i sieci Dostępność technologii oraz know-how Dostępność specjalistów wewnątrz firmy oraz zewnętrznych ekspertów Dostępność usług zewnętrznych, kooperantów i dostawców Dostępność powierzchni biurowej, środków komunikacyjnych, zaopatrzenia itp.
Harmonogram przedsięwzięcia Nazwa zadaniaMarzecKwiecieńMajCzerwiec Wstępne zbieranie wymagań Budowa prototypu Ocena prototypu Opracowanie wymagań Analiza Projekt dziedziny problemu Projekt interfejsu użytkownika Projekt bazy danych Ustalenie planu czasowego dla poszczególnych faz i zadań (diagram Gantta)
Ocena rozwiązań W fazie strategicznej rozważa się kilka rozwiązań z powodów wielości celów przedsięwzięcia (czyli kryteriów oceny) lub niepewności (niemożliwości precyzyjnej oceny spodziewanych rezultatów). Częste kryteria oceny to: koszt, czas realizacji, niezawodność, możliwość ponownego użycia, przenośność na inne platformy, wydajność (szybkość).
Prezentacja i porównanie poszczególnych rozwiązań RozwiązanieABC Koszt (tys. zł) Czas (miesiące) Niezawodność (błędy/tydzień) Ponowne użycie (%) Przenośność (%) Wydajność (transakcje/sek) , , Oszacowanie wartości podanych w tabeli może być trudnym problemem
Wybór rozwiązania Usunięcie rozwiązań zdominowanych, tj gorszych według wszystkich kryteriów (lub prawie wszystkich). Normalizacja wartości dla poszczególnych kryteriów (sprowadzenie do przedziału [0,1]) Przypisanie wag do kryteriów (również może być trudne)
Przykład: łączna ocena za pomocą sumy ważonej RozwiązanieABCWagi Koszt (tys. zł) Czas (miesiące) Niezawodność (błędy/tydzień) Ponowne użycie (%) Przenośność (%) Wydajność (transakcje/sek) 0,58 0, ,74 1 0,5 1 0,75 0,62 9, , ,5
Drzewa ryzyka Wierzchołki drzewa odpowiadają sytuacjom, w których mogą zajść pewne zdarzenia. Krawędzie oznaczają przejścia do nowych sytuacji. Krawędziom są przypisane prawdopodobieństwa. Każdy scenariusz zdarzeń (liść w drzewie) jest związany z kosztem. Przykład Firma chce przystąpić do przetargu. Przygotowanie oferty przetargowej jest kosztowne. Firma może przetarg wygrać lub przegrać. Zatrudnienie dodatkowego eksperta zwiększa szansę firmy.
Zatrudnienie eksperta Przetarg Zatrudniono eksperta 0,8 Nie znaleziono eksperta 0,2 Sukces 0,9 Sukces 0,5 Porażka 0,1 Porażka 0, Zysk Oczekiwany zysk 45*0,8*0,9 + (-20)*0,20*0,1+55*0,2*0,5 + (-10)*0,2*0,5= 35,3 Rys. Przykładowe drzewo ryzyka
Szacowanie kosztu oprogramowania Szacowanie kosztów przeprowadza się dla każdego z alternatywnych rozwiązań. Na koszt oprogramowania składają się następujące główne czynniki: Koszt sprzętu będącego częścią tworzonego systemu Koszt wyjazdów i szkoleń Koszt zakupu narzędzi Nakład pracy Trzy pierwsze czynniki są dość łatwe do oszacowania. Oszacowanie kosztów oprogramowania jest praktycznie utożsamiane z oszacowaniem nakładu pracy.
Techniki oszacowania nakładów pracy Modele algorytmiczne – wymagają opisu przedsięwzięcia przez wiele atrybutów liczbowych i/lub opisowych. Odpowiedni algorytm lub formuła matematyczna daje wynik. Ocena przez eksperta. Doświadczenie osoby z dużą precyzją potrafią oszacować koszt realizacji nowego systemu. Ocena przez analogię (historyczna) – wymaga dostępu do informacji o poprzednio realizowanych przedsięwzięciach. Metoda polega na wyszukaniu przedsięwzięcia o najbardziej zbliżonych charakterystykach do aktualnie rozważanego i znanym koszcie i następnie oszacowanie ewentualnych różnic. Wycena dla wygranej – koszt oprogramowania jest oszacowany na podstawie kosztu oczekiwanego przez klienta i na podstawie kosztów podawanych przez konkurencję. Szacowanie wstępujące – przedsięwzięcie dzieli się na mniejsze zadania, następnie sumuje się koszt poszczególnych zadań.
Algorytmiczne modele szacowania kosztów
Metoda szacowania kosztów COCOMO (COnstructive COst Model)
Metoda punktów funkcyjnych
Metoda Delphi i inne metody