Organizacja projektu Formy organizacji projektu Istnieje wiele sposobów zorganizowania pracowników, aby osiągnąć pożądany efekt. Najczęściej stosowane są: Organizacja projektowa – pracownicy są zorganizowani w ramach danego projektu. Ten rodzaj wymaga szybkiego podejmowania decyzji, minimalizuje kontakty między pracownikami, daje poczucie dużej identyfikacji personelu z projektem. Polecony jest w podejściu RAD. Organizacja projektu - cd Organizacja funkcjonalna – pracownicy są zorganizowani zgodnie z obowiązkami funkcjonalnymi, a każda funkcja obejmuje kilka projektów. Ten sposób organizacji daje efekty wynikające z ekonomiki skali, sprzyja wzrostowi specjalizacji i redukcji efektu wymiany personelu. Organizacja projektu - cd Organizacja macierzowa – pracownicy z każdego działu mogą być przydzieleni do każdego projektu i działu funkcjonalnego. Podstawą jest organizacja funkcjonalna, na którą nakłada się organizacja projektowa w postaci kierowników projektów. Zalety tego podejścia to maksymalizacja celów krótkookresowych przez organizację projektu oraz maksymalizacja celów długookresowych (pogłębienie specjalizacji) oraz podział funkcjonalny. Zarządzanie projektem Zarządzanie projektem wymaga przygotowania modeli związanych z projektem budowy systemu w celu: 1. Oszacowania pieniędzy, czasu i osób przydatnych do prac nad projektem. 2. Aktualizacja tych oszacowań w miarę rozwoju prac na projektem. 3. Zarządzanie zadaniami i czynnościami osób pracujących w projekcie. 4. Przygotowanie budżetu i oszacowaniu wymienionych wyżej zasobów jest tym trudniejsze im bardziej niepowtarzalny i złożony jest projekt. Szacowanie dotyczy: 1. 2. 3. 4. 5. Zasobów ludzkich – zatem ilu analityków, projektantów, programistów, a ilu użytkowników systemu i innych osób należy zatrudnić podczas budowy systemu. Harmonogram - jak długo będzie trwał projekt, ile czasu należy poświęcić na każdą fazę projektowania. Harmonogram personelu - ile osób należy zatrudnić i kiedy będą te osoby potrzebne (zostaną włączone do pracy). Budżet – ile pieniędzy będzie kosztować budowa, podstawowe koszty – prace personelu budującego budżet można je określić bezpośrednio po określeniu harmonogramu personelu). Szacowanie zagrożeń. Problemy obliczania oszacowań 1. Różnice między szacowaniem a negocjowaniem (szacunki + 20%). 2. Duże zróżnicowanie zdolności technicznych. 3. Niebezpieczeństwo szacowania własnej pracy. 4. Brak baz danych dla oszacowań. 5. Nacisk kierownictwa na przedwczesne szczegółowe oszacowania. 6. Oszacowania oparte na założeniu bezpłatnych nadgodzin. Formuły szacowania Formuły szacowania czasu pracy oparte na liczbie linii kodu. Waston i Felix z IBM zbudowali model, w którym E = 5,2 * L 0,91 gdzie: E wyraża się w osobo-miesiącach, L zaś to tysiące linii kodu podobny wzór opracowali Bailey i Basili, ma postać E = 3,4 + 0,72 * DL1,17 25 %, gdzie nakład pracy także jest mierzona w osobo-miesiącach zaś DL to tysiące linii dostarczonego kodu Formuły szacowania - cd Model COCOMO Barry’ego Boehma zawiera wzory dla trzech różnych typów systemów organizacyjnych, półsamodzielnych i wbudowanych: E = 2,4 * KDSI 1,05 (systemy organiczne) E = 3,0 * KDSI 1,12 (systemy półsamodzielne) E = 3,6 * KDSI 1,20 (systemy wbudowane) Prawo Brooksa Uwaga: Podwojenie osób w projekcie niekoniecznie zmniejsza czas trwania o połowę. Fred Brooks twierdzi, że dodanie więcej osób do opóźnionego projektu oprogramowania zwiększa jego opóźnienie w stworzeniu. Są dwie przyczyny tego stanu rzeczy: 1. dodatnie więcej liczby osób zwiększa wymagania na komunikację między członkami zespołu, 2. część pracy w projekcie nie jest podzielona; może wykonana tylko przez jedną osobę i dodanie więcej osób nic tu nie wnosi. Barry Boehm twierdzi, że czas trwania może być wyrażony następującą formułą: T=2,5*E0,33, w której E oznacza nakład pracy mierzony w osobomiesiącach. Obliczanie kosztów i zysków Celem technik obliczania kosztów i zysków jest przekonanie użytkowników nowego systemu oraz grup kierowniczych, że oczekiwane korzyści z systemu przewyższają koszty. Analiza kosztów Jej celem jest obliczenie wszystkich oczekiwanych kosztów związanych z systemem; nie tylko kosztu budowy, lecz także instalacji, utrzymania i konserwowania systemu, jak też kosztów dodatkowych. Koszty budowy systemu Aby oszacować koszty należy uwzględnić koszty zatrudnienia następujących grup: analityków, programistów i projektantów, kierownictwo, członków społeczności użytkownika, konsultantów i programistów kontraktowych, być może także audytorów, specjalistów od kontroli jakości i personelu ośrodka obliczeniowego. Koszty budowy systemu Koszty budowy systemu są bardzo różne, obejmują one: - wynagrodzenia i narzut dla całego personelu związanego z projektowaniem, - koszty szkolenia, - czas pracy komputera i koszty narzędzi programistycznych, - koszty zatrudnienia nowych pracowników, - środowiska pracy i wyposażenia dla nowych pracowników, - koszty wyjazdów do odległych użytkowników. Koszt instalacji systemu Dla dużych systemów proces instalacji obejmuje m.in. koszty: - szkolenia użytkowników, - konwersji bazy danych, - kontroli zgodności z przepisami, - pracy równoległej, - pracy zespołu budującego podczas instalacji. Koszty pieniądza Zależnie od przedsiębiorstwa koszt związany z użyciem pieniędzy może być wyrażony jako koszt obsługi kredytu lub koszt zysków, jakie poniosłoby, gdyby zostały zainwestowane, a nie użyte w projekcie pieniądze. Koszty operacyjne Po zainstalowaniu systemu dalsza jego eksploatacja przez użytkownika również kosztuje, typowe koszty operacyjne obejmują: sprzęt i związane z nim wyposażenie, oprogramowanie, osobowe, konserwacji, lokalizacji. Koszty awarii Należy uwzględnić koszt potencjalnych awarii systemu. Analiza korzyści Próba obliczenia wymiernych korzyści stwarza wiele problemów. Niemniej dla każdego projektu usiłuje się określić korzyści taktyczne i strategiczne. Korzyści taktyczne – są zwykle związane z redukcją personelu urzędowego lub administracyjnego. Nowy system może umożliwić wykonanie tych samych funkcji przez połowę lub mniej użytkowników i wykonanie innych funkcji. Korzyści taktyczne to również oszczędności uzyskane dzięki szybszemu przetwarzaniu transakcji. Szybszy obrót pozwala zmniejszyć koszty urzędników oraz wyższych przepływów gotówkowych. Nowy system może przynieść oszczędność w sprzęcie komputerowym. Analiza korzyści - cd Korzyści strategiczne – np. identyfikacja lub przyciągnięcie różnych klientów, do których firma wcześniej nie mogła dotrzeć. Wyjście na nowe rynki lub dostarczenie nowych produktów, które nie były dostępne wcześniej. Metody obliczeń • Jak wyrażać koszty i korzyści systemu? Istnieje w literaturze wiele metod pozwalających określić korzyści m. in. Można wykonać analizę: - przepływów gotówkowych, - zysków z inwestycji, - IRR – wewnętrzna stopa zwrotu, - NPV – bieżąca wartość netto, - Zysk inwestycyjny – Z = D(dochód) / K (koszty) Formuła obliczania IRR: IRR = i1 + PV(i2 – i1) / PV + | NV | i1 – stopa procentowa dla której wartość oczekiwana jest dodatnia i1 – stopa procentowa przy której NPV jest dodatnie (PV) i2 – stopa procentowa przy której NPV jest ujemne (NV) NV – poziom i2 NPV dla którego NPV jest < 0 PV – poziom i1 NPV dla którego NPV jest 0 NPV = SUMA(t=1->n) NCFi * COt – NCFi – przepływy pieniężne SUMA(t=1->n) NCFi * COt – SUMA(t=0->n) Kt * COt , gdzie COt = 1 / (1+i)t Analiza ryzyka Bardzo ważnym zagadnieniem dla kierownictwa jest analiza ryzyka przedsięwzięcia informatycznego. 1. Dostawca sprzętu komputerowego może zbankrutować 2. Zespół projektowy może ucierpieć na skutek choroby pracownika (zmiana personelu) 3. Wybrana technologia do realizacji projektowania może działać gorzej niż rekomendowano 4. Można nie wykorzystać nadarzającej się okazji np. system jest gotowy do wdrożenia, a przepisy urzędowe czy wewnętrzne w firmie nie pozwalają na zmianę systemu. Analiza ryzyka - cd 5. Polityczna lub kontraktowa wrogość związków zawodowych 6. Zespół projektowy ma braki prowadzące do obniżenia korzyści z systemu 7. Złe warunki gospodarcze i ekonomiczne mogą spowodować anulowanie projektu 8. Koszty ukryte 9. Użytkownikom system operacyjnym może być trudniejszy niż przypuszczano (opóźnienia w pracy) Analiza ryzyka - cd 10. Nie uzyskano oczekiwanej poprawy sytuacji na rynku 11. System nie pracuje w oczekiwany sposób 12. Wartość dodatkowych informacji uzyskanej dzięki systemowi nie daje wymiernych korzyści. Role analityka systemów Analityk sytemu jest kluczowym członkiem każdego projektu budowy systemu. Może występować w kilku rolach: 1. Archeolog i kronikarz – wskazuje na to co się dzieje w firmie, opracowuje reguły i działania systemu, które istnieją jedynie jako “przekazy ludowe”. 2. Nowator – analityk musi umieć oddzielić objawy problemów użytkownika od prawdziwych przyczyn. Korzysta ze swojej wiedzy o informatyce i powinien pomagać użytkownikom znaleźć nowe przydatne sposoby wykorzystania z komputerów oraz nowe sposoby prowadzenia interesów. 3. Mediator – podstawowym zadaniem analityka jest doprowadzenie do ugody między różnymi uczestnikami dyskusji w trakcie budowy systemu m.in. z: użytkownikami, menadżerami, programistami, audytorami i z innymi osobami. Wymagana jest sztuka dyplomacji i negocjacji. 4. Kierownik projektu.