Miary funkcjonalne i co można z nimi zrobić fakty i mity Warszawa, 7-8 czerwca 2017
300 D&C w swojej działalności od lat promuje miary funkcjonalne wymiarujemy i szacujemy szkolimy: metody wymiarowania, wpływ na proces, warsztaty pomagamy we wdrożeniach łączymy z innymi narzędziami opinie: nieporozumienia, niedopowiedzenia mniej znane możliwości
Dzięki metodom funkcjonalnym można poznać prawdziwą cenę oprogramowania Poza funkcjonalnością na cenę wpływa wiele innych czynników: - wymagania niefunkcjonalne np.: ergonomia, bezpieczeństwo, wydajność - warunki zamówienia np.: termin wdrożenia, procedury odbioru - wpływ rynku np.: popyt na usługi programistyczne, dostępność specjalistów Liczba punktów funkcyjnych jest: - wskaźnikiem rozmiaru funkcjonalnego, który ma przełożenie na koszt jego realizacji - może ulec zmianie, jeżeli zmieni się wiedza o systemie Wielkie oczekiwania!!! Wielki zawód!!!
Co tak naprawdę dostanę? Co będę musiał zrobić? Zamawiający Wykonawca ryzyko przeszacowane potrzeby CENA
Metody wymiarowania pozwalają na obiektywizację oceny wielkości oprogramowania Wielkość oprogramowania Wymagania niefunkcjonalne: powtarzalny, odwołuje się do norm i wzorców, zwykle też jest wspierany przez aktualnie dostępną technologię, łatwiej go skodyfikować, rzadziej ulega zmianie, nie jest czynnikiem dużego ryzyka. Funkcjonalność; unikatowa, zmienna, różnie interpretowana, wrażliwa na zawodną pamięć Ustalony rozmiar funkcjonalny narzuca ramy - obiektywizuje
Ułatwia porównywanie kosztów projektów Zmniejsza ryzyko poprzez większą przejrzystość Zwiększa elastyczność w trakcie prowadzenia projektu. Zakres może się klarować w zwinnym procesie. Ułatwia definiowanie projektów Sprzyja dywersyfikacji dostawców Promuje efektywność W rezultacie poprawia konkurencyjność
Metr kwadratowy Punkt funkcyjny łazienka 7 m 2 kuchnia 15 m 2 przedpokój 12 m 2 salon 28 m 2 sypialnia 20 m 2 garderoba 12 m 2 94 m 2 wyszukiwanie podmiotu 7 PF wprowadzanie wniosku 15 PF wyszukiwanie wniosku 12 PF kontrola wniosków 28 PF naliczanie płatności 20 PF raport dot. płatności 12 PF 94 PF
Rozmiar funkcjonalny nie ma sensu ponieważ oprogramowanie jest zbyt skomplikowane Rozmiar funkcjonalny operuje na samej funkcjonalności. Jest niezależny od sposobu realizacji i użytej technologii. To uproszczenie jest główną zaletą miar.
Proces wymiarowania jest bardzo kosztowny i pracochłonny Proces wymiarowania rozpatrywany w oderwaniu od reszty procesu produkcji oprogramowania Czy opłaca się dodać pietruszkę do zupy? To usystematyzowany proces identyfikacji wymagań Kwestia przyjęcia właściwych praktyk, konwencji i narzędzi.
Wymiarowanie funkcjonalne wymaga analizy potrzeb Skłania do zadawania pytań: Co ma system robić? Jakie będzie przechowywał dane? W jaki sposób będzie wspierał użytkownika? Wyniki mogą zburzyć oczekiwania sponsorów i zepsuć ich samopoczucie.
Zasady wymiarowania poprawiają jakość i kompletność wymagań Trzeba ustalić to, co często uchodzi uwadze Nie wiesz nie zwymiarujesz Nieoczekiwana korzyść: lepszej jakości wymagania
Nie można zastosować miar funkcjonalnych, jeżeli nie mamy szc zegółowych wymagań Możliwe jest szacowanie bazujące na uproszczeniach metod funkcjonalnych Techniki oparte na szablonach funkcjonalnych (np. CRUD) Mniejsza dokładność, w zamian za szybko dostępną informację
Trzeba znać z góry zakres oprogramowania, aby stosować metody punktów funkcyjnych w projekcie Pomiar można odroczyć i przeprowadzić go jak już dysponujemy wystarczającą wiedzą, nawet jeżeli oprogramowanie będzie już gotowe. Rozmiar funkcjonalny można aktualizować, jeżeli wymagania ulegną zmianie, albo zostaną uszczegółowione. Punkty funkcyjne jako jednostka rozliczeniowa znacznie upraszcza zasady realizacji projektu, w warunkach gdy nie jest z góry znany zakres funkcjonalny.
Metody punktów funkcyjnych nie ma zastosowania, jeżeli posługujemy się metodykami zwinnymi Jeżeli realizujemy funkcjonalność, to zastosowanie mają metody funkcjonalne. Jest to niezależnie od metodyki zarządzania projektem. W jakim stopniu kolejne przyrosty powiększają funkcjonalność? Jak dużo dzieli nas od celu? Czy w tym tempie zdążymy zrealizować cele? Może trzeba zmienić priorytety? Może trzeba zwiększyć zespół?
Rozmiar funkcjonalny jest przydatny tylko do szacowania kosztów realizacji Miara funkcjonalna Co umożliwia system Złożoność systemu Co powinni umieć użytkownicy Czas na testy Pracochłonność realizacji Pracochłonność utrzymania Liczba szkoleń Wielkość dokumentacji Liczba środowisk Koszt realizacji Koszt utrzymania Wielkość zespołu
To nie może tyle kosztować Jak zweryfikować koszt oprogramowania? sponsor Sprawdziliśmy, to powinno być tańsze Co to za liczba? Co Wy wiecie o naszym systemie? Świetnie. Od czego zacząć? Zwymiaruj mi ten system tu masz opis metody wykonawca Można użyć miar funkcjonalnych Ale.?!? Wybrać metodę i zwymiarować Co za głupia robota pracownik, inżynier Nie mam na to czasu doradca
Miary funkcjonalne Mają bogatą historię Często się o nich mówi w kontekście pieniędzy, więc wywołują emocje Dorobiły się zarówno zwolenników jak i przeciwników Obrosły legendą
Koniec Standard Modelowania = analiza systemowa + wymiarowanie metodą COSMIC. Udostępniony na zasadach licencji Creative Commons w wersji CC BY-SA 3.0 http://300dc.pl/wp-content/uploads/2014/05/standard-modelowania-300dc.pdf 300 D&C Sp. z o. o. ul. Lektykarska 12 01-687 Warszawa tel.: (+48) 22 864 05 36 e-mail: biuro@300dc.pl http://300dc.pl/