Skuteczne metody wymiarowania projektów IT

O zaletach wymiarowania wielkości oprogramowania, modelach współpracy z biznesem i wątpliwościach w stosunku do wynajmu pracowników IT opowiada Arkadiusz Wójcik, dyrektor Pionu Ubezpieczeń Społecznych w  Asseco Poland.

Na czym polega wymiarowanie wielkości oprogramowania i w jakim celu jest stosowane?

Wymiarowanie wielkości oprogramowania służy głównie do estymacji skali realizowanych projektów informatycznych; w przeciwieństwie do innych metod, stanowi obiektywną miarę, skupiającą się na wymaganiach użytkownika, a nie pracochłonności czy kosztach realizacji prac. Dużą zaletą tej metody jest to, że może zostać wyliczona zarówno przez zamawiającego, jak i przez wykonawcę, i to jeszcze przed rozpoczęciem prac, wyłącznie na podstawie wymagań. Jednostką wielkości oprogramowania są w tym ujęciu punkty funkcyjne, które dla obu stron stanowią podstawę do oszacowania m.in. czasu potrzebnego na jego wytworzenie oraz niezbędnego do realizacji projektu budżetu. Jest to standard uznawany na całym świecie, który może zostać wykorzystany niemal przy każdym projekcie. Największą zaletą tej metody jest to, że jest niezależna od specjalistów, wykonawcy, marży czy technologii, w jakiej wykonane zostało oprogramowanie. Zatem punkty funkcyjne są właściwie uniwersalną walutą do mierzenia oprogramowania, która może być podstawą do rozliczenia wykonawcy (czyli wypłaty wynagrodzenia), ale doskonale nadaje się również do porównywania efektywności różnych wykonawców w ramach tego samego lub różnych projektów. Dzięki metodzie wymiarowania wielkości oprogramowania możemy więc zestawić ze sobą np. projekt realizowany 20 lat temu w prymitywnej technologii z systemem bankowym stworzonym przy wykorzystaniu najnowocześniejszych rozwiązań.

Arkadiusz Wójcik, Dyrektor Pionu Ubezpieczeń Społecznych w Asseco Poland

"Wymiarowanie projektów IT jest korzystne dla obu stron projektu. Zamawiający, rozliczając się z wykonawcą w punktach funkcyjnych, wymusza na nim poprawę efektywności, ponieważ wynagrodzenie, jakie otrzyma, jest zależne wyłącznie od stopnia realizacji wymagań, a nie od czasu, jaki poświęcił na jego wykonanie."

Jakie jeszcze korzyści płyną z wymiarowania projektów? Jakie są wady tej metody?

Korzystam z metody punktów funkcyjnych od kliku lat i właściwie nie widzę żadnych jej szczególnych wad. Wymiarowanie projektów IT jest korzystne dla obu stron projektu. Zamawiający, rozliczając się z wykonawcą w punktach funkcyjnych, wymusza na nim poprawę efektywności, ponieważ wynagrodzenie, jakie otrzyma, jest zależne wyłącznie od stopnia realizacji wymagań, a nie od czasu, jaki poświęcił na jego wykonanie. Mechanizm ten zwiększa motywację wykonawcy i, co ważne, napędza jego wydajność. Większa wydajność pozwala z kolei na szybsze zakończenie poszczególnych etapów prac i rozpoczęcie kolejnych zadań, a przecież zamawiającemu zależy na tym, żeby dostać produkt jak najszybciej. Wymiarowanie oprogramowania jest zatem bardzo skuteczną metodą, pozwalającą wybrać najefektywniejszego wykonawcę, jasno określić zakres zlecenia oraz zminimalizować ryzyko związane z opóźnieniami realizacji i wynikającymi z tego dodatkowymi kosztami. Zamawiający płaci zaś dokładnie za to, co chciał uzyskać; to on zdefiniował wymagania i to na ich podstawie wyliczone zostaną punkty funkcyjne, a za nimi wynagrodzenie.

Zobacz również:

  • Grupa Asseco na fali wznoszącej

Proszę teraz porównać te cechy do modelu, w którym projekt rozliczany jest w systemie godzinowym – czy to z wyłonionym wykonawcą, czy to na zasadzie body-leasing. Zakładane korzyści, szczególnie w tym drugim przypadku, okazują się złudne. Specjaliści, którzy realizują projekty w tej formule, współpracują ze sobą często po raz pierwszy, nie mają wypracowanych żadnych metod komunikacji, sposobu wspólnej pracy, czy wypracowanego procesu wytwórczego. Nie może tu być mowy o zgraniu i wykorzystaniu najbardziej optymalnego zespołu, w którym odpowiednie kompetencje zostaną najlepiej wykorzystane na odpowiednim stanowisku. Na to potrzeba czasu. Nawet jeżeli w połowie dwuletniego projektu zespół się dotrze, to okaże się, że pierwsze kilka-kilkanaście miesięcy było okresem nieefektywnym. Co więcej, po zakończeniu projektu pozytywne efekty zgrania zespołu są tracone, ponieważ ludzie ci rozchodzą się i zaczynają pracę przy innych projektach, dla innych klientów. Nie wspomnę już o braku mechanizmów wymuszających poprawę efektywności.

Przy jakich projektach stosuje się metodę punktów funkcyjnych? Na ile zasadność jej zastosowania zależy od skali projektu lub branży, w której działa klient?

Metodę punktów funkcyjnych można stosować niezależnie od projektu czy sektora, w jakim działa firma bądź instytucja. Są także specyficzne projekty informatyczne, dla których metoda punktów funkcyjnych się nie nadaje, oraz projekty tak małe, że koszt zastosowania nowej metodyki jest nieopłacalny. Jednak w większości przypadków, szczególnie dla podmiotów, które sukcesywnie wdrażają kolejne rozwiązania informatyczne, korzyści są niemal natychmiastowe. Czyli im dłużej wykorzystujemy metodę wymiarowania oprogramowania, tym korzyści będzie więcej.

Jakie są Pana zdaniem najlepsze techniki szacowania i pomiaru wielkości oprogramowania? Z jakiej metody najchętniej Pan korzysta?

W Asseco korzystamy z coraz bardziej popularnej metody COSMIC. Wyznaczanie rozmiaru funkcjonalnego w tym standardzie jest intuicyjne, można je bardzo sprawnie zautomatyzować, bazując jedynie na dobrej dokumentacji analitycznej. Jest to moim zdaniem najbardziej efektywna, sprawdzona w wielu projektach metoda, wymagająca przy tym najmniej dodatkowych nakładów. Jej zalety dostrzega coraz więcej specjalistów.

Jeśli dobrze pamiętam, to gdy zdecydowaliśmy się wykorzystywać COSMIC, byłem piąta osobą w Polsce, która zdobyła certyfikat potwierdzający jego znajomość. Od tamtej pory wiele się zmieniło i dzisiaj w Asseco mamy około dwudziestu ekspertów z tym certyfikatem. Zdobyliśmy również ogromne doświadczenie praktyczne w stosowaniu tej metodyki, głównie w projektach prowadzonych na rzecz Zakładu Ubezpieczeń Społecznych. Kompleksowy System Informatyczny ZUS jest największym systemem informatycznym w Polsce, i nigdy wcześniej w naszym kraju COSMIC nie był wykorzystany na tak szeroką skalę. W ostatnich siedmiu latach, w trakcie prac rozwojowych nad tym systemem, wszystko zostało zmierzone właśnie tą metodą.

Jaka jest rola dokumentacji w modelu punktów funkcyjnych?

Wykonana w uznanym standardzie i aktualna dokumentacja jest niezwykle istotna, ponieważ daje gwarancję uniezależnienia się właściciela systemu od twórcy oprogramowania. Pozwala na bezpieczny wybór najlepszego wykonawcy, który będzie system utrzymywał i rozwijał w kolejnych latach. Jeśli zamawiający dysponuje tylko kodami źródłowymi, a dokumentacji nie ma, jest niekompletna, nieaktualna lub wadliwa, to tylko wykonawca, który zbudował system, będzie potrafił go w miarę sprawnie modyfikować i w ten sposób uzależni zamawiającego od siebie. W przypadku dużego projektu koszt wejścia nowej firmy, która nie wie jak działa system, jest olbrzymi. Niesie to za sobą ogromne zagrożenia, mające szczególny wpływ na podmioty z sektora publicznego, działające w oparciu o Ustawę o zamówieniach publicznych. W tym przypadku system stanowi własność państwa i osoby za niego odpowiedzialne muszą zadbać o to, żeby dysponować zarówno kodami źródłowymi, jak i dokumentacją; muszą mieć pewność, że w przypadku zmiany wykonawcy, będzie on mógł w krótkim czasie skutecznie przejąć opiekę nad systemem. W mojej opinii cała administracja publiczna powinna w procesach zmiany lub budowy oprogramowania rozliczać się przy wykorzystaniu metody punktów funkcyjnych, ponieważ widać, że wymusza ona bieżące oraz poprawne dokumentowanie systemu. Jest to najbardziej korzystny dla państwa model, promujący najlepszych na rynku, rzetelnych wykonawców.

Jak skutecznie wdrożyć metodę punktów funkcyjnych w organizacji?

Przede wszystkim trzeba dostosować organizację i zmienić sposób myślenia. Jeżeli nie ma aktualnej dokumentacji systemów informatycznych, to należałoby zacząć od bilansu otwarcia, czyli zgrubnego oszacowania wielkości poszczególnych elementów systemu (modułów, programów). Później można wykonać już pierwsze projekty z wykorzystaniem ustalonego standardu dokumentacji i punktów funkcyjnych. Oczywiście trzeba od tego momentu egzekwować od wykonawcy sposób realizacji prac. Taki właśnie proces został przeprowadzony przy budowie systemu KSI ZUS; a jeżeli sprawdził się przy tak dużym projekcie, to jego zastosowanie nie będzie stanowić problemu w pozostałych przypadkach.