Szacowanie oprogramowania

background image

Szacowanie

oprogramowania

Realizm czy szarlataneria

background image

Po co „mierzyć”

oprogramowanie?

Celem projektów informatycznych jest wytworzenie
nowego, unikalnego produktu lub usługi (definicja
PMBOK)
Przedsięwzięcie musi być określone:

jak długo będzie trwało?
jakie będą koszty?
co będzie produktem końcowym?

W przypadku projektów komercyjnych musimy
odpowiedzieć także:

jak wycenić produkt/usługę?
jakie będzie TCO systemu?
jaki harmonogram zaproponować klientowi?

background image

TCO

TCO (Total Cost of Ownership) - zgodnie z Gartner

Group, jest to całkowity koszt pozyskania,

instalowania, użytkowania, utrzymywania i w końcu

pozbycia się aktywów w firmie na przestrzeni

określonego czasu.

• Ostatnio mówi się o TCO w kontekście inwestycji

firmy w narzędzia informatyczne. Należy w ich

przypadku brać na przykład pod uwagę nie tylko cenę

zakupu, ale też przemyśleć ile będzie kosztowało

utrzymanie narzędzi, oraz ich ewentualna rozbudowa.

• Źródło

„http://pl.wikipedia.org/wiki/Total_Cost_of_Ownership”

background image

Co można

mierzyć/szacować?

Zakres funkcjonalny (funkcjonalność,
wielkość) systemu – punkty funkcyjne,
punkty obiektowe, przypadki użycia, liczba
linii kodu itd.
Jakość oprogramowania – ilość błędów na
moduł/plik/komponent, poziom trudności
utrzymania, itd.
Koszt oraz czas wytworzenia
oprogramowania – ilość osobodni,
osobotygodni osobomiesiące, czas trwania
projektu, ilość niezbędnych zasobów

background image

Powiązania pomiędzy

parametrami projektu

Parametry definiujące
projekt:

zakres
czas
koszt
jakość

Zmiana jednego z nich
pociąga zmianę
pozostałych
Najczęściej tracimy na
jakości

background image

Na czym polega szacowanie

w projekcie informatycznych

Podając jedną
wartość estymacji
sugerujemy 100%
pewności naszych
przewidywań
W rzeczywistości
nigdy nie możemy
mieć takiej
pewności

background image

Estymacja jako ustalenie

prawdopodobieństwa

Naturalnym
rozwinięciem
estymacji
jednopunktowej jest
rozkład naturalny
Krzywa Gauss’a nie
odzwierciedla
jednak natury
projektu
informatycznego

background image

Rozkład

prawdopodobieństwa

estymacji

Badania
heurystyczne
wykazały
zbieżność danych
statystycznych z
rozkładem β
Rezultat nominalny
(mediana) określa
oszacowanie 50/50

background image

Czy dobre szacowanie jest

możliwe?

Dobre oszacowanie osiąga dokładność
±10% (Jones 1998)
Estymacje z takim poziomem błędu są
możliwe tylko dla dobrze kontrolowanych
projektów
Projekty chaotyczne charakteryzuje zbyt
duża zmienność
Organizacje poprawiają swoje
estymację poprzez poprawę kontroli
projektów, a nie metod estymacji

background image

Przykłady z rynku

informatycznego

System dla ZUS Płatnik – planowany
budżet 750 mln PLN, już zostało wydane
1500 mln PLN
System CEPiK – w 2004 roku wygrała oferta
z budżetem 230 mln PLN i rok na
wdrożenie.
Projekt trwa nadal
System PPARS (zarządzanie w służbie
zdrowia) został przerwany w momencie
przekroczenia budżet o 140 mln funtów
(2007), przy budżecie 8,8 mln

background image

Jedynie 32 procent wszystkich projektów IT kończy się
sukcesem, a więc realizowanych jest w założonym czasie,
budżecie i spełnia założone wymogi jakościowe. Całkowitą
porażką kończy się 24 procent projektów, zaś 44 procent –
niepowodzeniem częściowym, co oznacza, że projekty te
przekraczają czas lub budżet bądź też nie przynoszą
użytkownikom wszystkich zakładanych początkowo korzyści
(2008).

Dlaczego dobre oszacowanie
parametrów projektu jest ważne?

Konsekwencje:

wstrzymane projekty
utrata szansy biznesowej
zła inwestycja, nieuzasadnione

koszty

background image

Porażki i sukcesy

Galant-Pater

background image

Prawdopodobieństwo

porażki w projekcie

yt

ko

w

e

ou

ts

ou

rc

in

g

ko

m

er

cy

jn

e

Z

S

Z

w

oj

sk

ow

e

sy

st

em

ow

a

10 fp

1000 fp

100 000 fp

0

10

20

30

40

50

60

70

80

90

100

10 fp
100 fp
1000 fp
10 000 fp
100 000 fp

background image

Ryzyko projektu

informatycznego

Rośnie wraz z wielkością projektu
(nieliniowo!!!)
Heurystycznie ustalony prób
bezpieczny dla projektów to 1500 FP
Jeżeli to możliwe to duże projekty
należy dzielić na mniejsze pod-
projekty
Produkty poszczególnych
podprojektów powinny być
realizowane i odbierane niezależnie

background image

Testy umiejętności

szacowania

Proszę podać dolną i górną granicę
przedziału, który wydaje się na 90%
zawierać prawidłowa odpowiedź
Przedziały nie powinny być zbyt duże, ani
zbyt małe
Proszę nie korzystać z pomocy kolegów
lub materiałów pomocniczych – testujemy
umiejętność szacowania, a nie wiedzę
Przykład pytania: długość wieży Eiffla
Odpowiedź: 300-350m

background image

Lista pytań

1.

Średnia odległość Słońca od Ziemi?

2.

Średnia masa Ziemi?

3.

Przybliżona objętość oceanu Atlantyckiego (z
morzami)?

4.

Długość granic Polski?

5.

Powierzchnia dorzecza Wisły?

6.

Data urodzenia króla Salomona (biblijny król Izraela)?

7.

Długość największego odkrytego brachiozaura?

8.

Liczba sprzedanych książek o Harrym Potte’rze
(autorstwa J.K. Rowling) w 2003 roku?

9.

Powierzchnia Chin?

10. Odległość od Ziemi gwiazdy Alfa Centauri A w latach

świetlnych?

background image

Odpowiedzi

1. 149,6 x 10

6

km

2. 5,9736x10

24

kg

3. 354 700 000 km

3

4. 3511 km
5. 194 424 km

2

6. 931 p.n.e
7. 27 m
8. 200 mln egz.
9. 9 596 960 km

2

10. 4,36 ly

background image

Inne pytania – Steve McConell

„Szacowanie oprogramowania. Kulisy

czarnej magii”

1. Temperatura na powierzchni słońca
2. Szerokość geograficzna Szanghaju
3. Powierzchnia Azji
4. Rok urodzenia Aleksandra Wielkiego
5. Łączna wartość waluty amerykańskiej pozostającej w

obrocie w 2004 roku

6. Całkowita objętość Wielkich Jezior
7. Łączne wpływy kasowe na całym świecie ze sprzedaży

biletów na film Titanic

8. Całkowita długość linii brzegowej Oceanu Spokojnego
9. Liczba tytułów książek opublikowanych w USA od 1776

roku

10. Najcięższy płetwal błękitny jaki został kiedykolwiek

zarejestrowany

background image

Odpowiedzi

• Temperatura na powierzchni słońca

6000

o

C

Szerokość geograficzna Szanghaju

31

o

szerokości N

• Powierzchnia Azji 44390000 km

2

Rok urodzenia Aleksandra Wielkiego

356 p.n.e.

Łączna wartość waluty amerykańskiej pozostającej w obrocie w

2004 roku 719,9 miliarda dolarów

Całkowita objętość Wielkich Jezior

23000 km

3

=6,8*1023

litrów

Łączne wpływy kasowe na całym świecie ze sprzedaży biletów

na film Titanic

1,835 mld dolarów

Całkowita długość linii brzegowej Oceanu Spokojnego 135663

km

Liczba tytułów książek opublikowanych w USA od 1776 roku 22

mln

Najcięższy płetwal błękitny jaki został kiedykolwiek

zarejestrowany

170 000 kg

background image

Wnioski z podobnych badań

Dla większość ludzi 90% pewności oznacza
jedynie 30% (Zultner 1999, Jorgensen 2002)
Częściej podawane są wartości zaniżone
Człowiek ma naturalną skłonność do
zawężania przedziałów bez wyraźnego
zewnętrznego impulsu:

instynkt – dokładniej, znaczy lepiej
profesjonalizm
pycha
wyimaginowana presja otoczenia

background image

Wartość dokładność

oszacowań

Najczęściej spotykana definicja
oszacowania:

Najbardziej optymistyczna prognoza o

niezerowym prawdopodobieństwie
spełnienia – Tom DeMarco

Według niektórych autorytetów
(Capers Jones) nierealne terminy są
najbardziej destrukcyjne dla projektu i
oprogramowania

background image

Negatywne czynniki

zawyżonego oszacowania

Prawo Parkinsona – realizacja zadania
zawsze wypełnia cały dostępny czas i
dostępne zasoby
Syndrom studenta – zwlekanie na ostatnią
chwilę z rozpoczęciem zadania
Kierownik typu X – pracownicy są
nieodpowiedzialni, okłamują szefów,
zawyżają oszacowania i wymagają ciągłej
kontroli
Daty w kalendarzu są bliższe niż myślisz

background image

Negatywne czynniki

zaniżania oszacowania

• Brak możliwości rzeczywistego zaplanowania prac w projekcie
• Mniejsze prawdopodobieństwo na terminowe wykonanie

projektu

• „Ucinanie kantów” na szkoleniu, dokumentacji, projekcie

technicznym prowadzi do zmniejszenia jakości produktu

• Dodatkowe czynności i zasoby związane z gaszeniem pożaru

(spotkania, eskalacje, raporty, wersje beta, itd.)

Ucieczka pracowników wykwalifikowanych i znających

problematykę

„Ludzie pod presją nie myślą szybciej”

„Projekty można prowadzić na dwa sposób: a) zaplanować i
realizować lub b) realizować wstrzymać zaplanować i

realizować”

background image

Wynik dobrego oszacowania

projektu

Możliwość lepszego zaplanowania zadań w
projekcie
Osiągnięcie planowanej jakości
Zdecydowanie lepsze zarządzanie
budżetem projektu – system motywacyjny
Uznanie dla profesjonalizmu zespołu
projektowego
Możliwość planowania kolejnych projektów
Dobre relacje z klientem – lepsze
perspektywy na kolejne kontrakty

background image

Błędy metod

Brak odniesienia do poprzednich projektów
Stosowanie tylko jednej metody bez
możliwości weryfikacji z wynikami innych
metod
Brak ciągłego uaktualniania estymacji i
porównania z rzeczywistymi wielkościami po
zakończeniu projektu
Brak stosowania jakiejkolwiek metody
estymacji
Szacowanie w celu dostosowania wielkości do
oczekiwań sponsora projektu, klienta,
udziałowców, „price to win” itd.

background image

Błędy społeczne

Nadmierny optymizm w stosunku do
dostępności i kompetencji zespołu
projektowego
Przecenianie wpływu narzędzi i
nowych technologii
Brak odniesieni do krzywej uczenia
się zespołu projektowego
Utajnianie złych informacji przed
przełożonymi

background image

Błędy organizacyjne

Brak doświadczonych kierowników
projektów
Rozproszenie odpowiedzialności w
strukturze organizacyjnej, brak
jasnych ścieżek raportowania
Rozproszenie zespołu projektowego
Nieodpowiednie narzędzia i
technologia

background image

Proces estymacji

Estymacja wykonana na późniejszym
etapie projektu jest bardziej wiarygodna
W przypadku oszacowań
jednopunktowych stosowane są
przedziały predefiniowane dla
poszczególnych etapów projektów –
stożek niepewności
W przypadku projektów iteracyjnych,
każda iteracja powinna być traktowana
jako pełny projekt

background image

Dokładność estymacji od

fazy projektu – stożek

niepewności

background image

Stożek niepewności – brak

kontroli projektu

background image

Często pomijane zadania w oszacowaniach

(COCOMO II) (ang. constructive cost model) –

model szacowania liczby osobogodzin w

procesie tworzenia oprogramowania

Wymagania pozafunkcjonalne:

poprawa wydajności
elastyczność
współbieżność
niezawodność
skalowalność
bezpieczeństwo (audity, certyfikacje, itd.)
ergonomia interfejsu

background image

Często pomijane zadania w

oszacowaniach (COCOMO II)

Obszar wymagań funkcjonalnych:

instalacja i konfiguracja programu
opracowanie konwersji danych
interfejsy do systemów zewnętrznych
dokumenty pomocy
etap wdrożenia
spotkania, konferencje, wizytacje
przygotowania dokumentów
projektowych


Document Outline


Wyszukiwarka

Podobne podstrony:
Szacowanie oprogramowania IS rokIV w10 v0 1
Szacowanie Koszt%F3w Tworzenia Oprogramowania
BYT 2003 Szacowanie zlozonosci oprogramowania v1
BYT 2004 Szacowanie zlozonosci oprogramowania v2
Szacowanie zlozonosci oprogramowania
W4 Proces wytwórczy oprogramowania
Proces tworzenia oprogramowania
Szacowanie zasobów st
metodologia badan wydatkow i szacowanie budzetu rekomowego
BYT 2005 Pomiar funkcjonalnosci oprogramowania
oprogramowanie uzytkoweCz1 Zarzadzanie2011
Lec04 PL Oprogramowanie fin
08 Prototypowanie oprogramowaniaid 7587 ppt
Inzynieria oprogramowania w ujeciu obiektowym UML wzorce projektowe i Java iowuje
pm 3 4 szacowanie niepewnosci
zasady grupy, java, javascript, oprogramowanie biurowe, programowanie, programowanie 2, UTK, systemy
Opis oprogramowania wspomagające analizę komponentów systemu komputerowego, Prace kontrolne
oprogramowanie sem 2, Semestr 2, Oprogramowanie

więcej podobnych podstron