Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałGaweł Barabasz Został zmieniony 10 lat temu
1
Inżynieria oprogramowania, Wykład 4 Slide 1 Zarządzanie przedsięwzięciami Zarządzający programowaniem odpowiadają za planowanie i tworzenie harmonogramu przedsięwzięcia.
2
Inżynieria oprogramowania, Wykład 4 Slide 2 Cele wykładu Rozumieć różnicę między zarządzaniem przedsięwzięciem programistycznym a zarządzaniem innymi rodzajami przedsięwzięć inżynieryjnych. Znać podstawowe zadania kierowników (menedżerów) przedsięwzięcia programistycznego. Wiedzieć, dlaczego planowanie przedsięwzięcia jest niezbędne w przedsięwzięciach programistycznych. Wiedzieć, dlaczego kierownicy przedsięwzięć używają postaci graficznej (wykresów paskowych i wykresów czynności) do zapisywania harmonogramów przedsięwzięć.
3
Inżynieria oprogramowania, Wykład 4 Slide 3 Zawartość wykładu Czynności zarządzania Planowanie przedsięwzięcia Tworzenie harmonogramu przedsięwzięcia Zarządzanie zagrożeniami.
4
Inżynieria oprogramowania, Wykład 4 Slide 4 Konieczność zarządzania stanowi istotną różnicę między profesjonalnym tworzeniem oprogramowania a programowaniem amatorskim. Zarządzanie przedsięwzięciami programistycznymi jest niezbędne, ponieważ profesjonalna inżynieria oprogramowania zawsze podlega ograniczeniom budżetowym i czasowym, ustalanym przez firmę budującą oprogramowania. Zadaniem kierownika zarządzającego przedsięwzięciem programistycznym jest zapewnienie, że to przedsięwzięcie zmieści się w narzuconych ograniczeniach i doprowadzi do dostarczenia oprogramowania. Zarządzanie przedsięwzięciami
5
Inżynieria oprogramowania, Wykład 4 Slide 5 Produkt jest nieuchwytny. Zarządzający budową statku lub przedsięwzięciem inżynierii lądowej może oglądać produkt w trakcie jego tworzenia. Jeśli nie dotrzymano harmonogramu, widać to wyraźnie po stanie produktu. Części tej struktury są w oczywisty sposób nie ukończone. Sprawdzanie harmonogramu realizacji oprogramownia jest znacznie trudniejsze, gdyż postęp trudno ocenić na podstawie zaiplementowanego kodu lub dokonanych specyfikacji. Nie ma standardowych procesów tworzenia oprogramowania. Nie rozpoznaliśmy jeszcze w sposób wystarczająco precyzyjny związków między procesem, a typem produktu. Wielkie przedsięwzięcia programistyczne są często jednorazowe. Wielkie przedsięwzięcia programistyczne są zwykle inne niż poprzednie przedsięwzięcia. Wyróżniki zarządzania programowaniem
6
Inżynieria oprogramowania, Wykład 4 Slide 6 Opracowywanie oferty Planowanie i tworzenie harmonogramu przedsięwzięcia Szacowanie kosztów przedsięwzięcia Wybór i ocena personelu Opracowywanie raportów i prezentacji Czynności zarządzania
7
Inżynieria oprogramowania, Wykład 4 Slide 7 Pierwsza faza to opracowanie oferty zawierającej cele i sposoby realizacji. Zwykle zawiera oszacowanie kosztów i wstępny harmonogram. Od umiejętności przygotowywania ofert, którą nabywa się wraz z doświadczeniem, zależy ilość podpisanych kontraktów. Planowanie przedsięwzięcia polega na identyfikowaniu czynności, odbiorców i produktów powstających w przedsięwzięciu. Następnie należy sformułować plan, który doprowadzi do osiągnięcia celów przedsięwzięcia. Szacowanie kosztów jest czynnością powiązaną z planowaniem, która polega na kalkulacji zasobów koniecznych do realizacji przedsięwzięcia. Monitorowanie przedsięwzięcia jest ustawiczna czynnością. Kierownik musi obserwować postęp przedsięwzięcia i porównywać rzeczywiste koszty w stosunku do planów. Zamiast czekać na zgłoszenie opóźnienia w realizacji harmonogramu, zarządzający programowaniem może przydzielić jednego z ekspertów do tego problemu lub zadecydować, że ten problem należy obejść za pomocą dodatkowego oprogramowania. Uwagi dot. zarządzania projektem programistycznym
8
Inżynieria oprogramowania, Wykład 4 Slide 8 Problemy dotczące zatrudnienia Budżet przedsięwzięcia nie wystarczy do zatrudnienia dobrze opłacanego personelu. Trzeba przyjąć mniej doświadczonych i gorzej wynagradzanych pracowników. Najczęściej trzeba poszukiwać personelu z odpowiednim doświadczeniem w samej firmie bądź w jej otoczeniu. Należy wziąć pod uwagę, że najlepsi ludzie w firmie mogą już brać udział w innych przedsięwzięciach. Firma może oczekiwać, że pracownicy zwiększą swoje umiejętności. Do przedsięwzięcia przydziela się wówczas mniej doświadczone osoby, aby w jego trakcie uczyły się i zdobywały doświadczenie. Wybierając pracowników, zarządzający programowaniem musi działać zgodnie z tymi ograniczeniami.
9
Inżynieria oprogramowania, Wykład 4 Slide 9 Planowanie przedsięwzięcia Efektywność zarządzania przedsięwzięciem programistycznym zależy od starannego zaplanowania postępów. Kierownik musi przewidywać kłopoty, które mogą powstać, i musi mieć gotowe propozycje rozwiązań tych problemów. Plan powstały na początku przedsięwzięcia powinien służyć do sterowania tym przedsięwzięciem. Ten wstępny plan powinien być najlepszym możliwym do opracowania na podstawie dostępnych informacji.
10
Inżynieria oprogramowania, Wykład 4 Slide 10 Typy planów PlanOpis Plan jakości Obejmuje procedury zapewnienia jakości i standardy obowiązujące w przedsięwzięciu. Plan zatwierdzania Obejmuje podejście, zasoby i harmonogram zatwierdzania systemu. Plan zarządzania konfiguracjami Obejmuje procedury zarządzania konfiguracjami i używane struktury. Plan pielęgnacji Przewiduje się w nim wymagania stawiane pielęgnacji, jej koszty i niezbędne nakłady. Plan rozwoju umiejętności personelu Opisuje się w nim jak będą wzrastały umiejętności i doświadczenie personelu.
11
Inżynieria oprogramowania, Wykład 4 Slide 11 Pseudokod z zapisem procesu planowanie przedsięwzięcia Ustal ograniczenia przedsięwzięcia Wstępnie oszacuj parametry przedsięwzięcia Skoryguj etapy i produkty dopóki nie zrealizowano i nie anulowano przedsięwzięcia powtarzaj Opracuj harmonogram przedsięwzięcia Odczekaj Zbadaj postępy przedsięwzięcia Zrewiduj oszacowanie parametrów Zaktualizuj harmonogram przedsięwzięcia Renegocjuj ograniczenia i produkty przedsięwzięcia jeśli (pojawiły się kłopoty), to Rozpocznij przegląd techniczny i dopuszczalne poprawki koniec jeśli koniec powtarzaj
12
Inżynieria oprogramowania, Wykład 4 Slide 12 Plan przedsięwzięcia Wprowadzenie, w którym opisuje się cele i ograniczenia (np. budżetu i czasu) mające wpływ na zarządzanie. Organizacja przedsięwzięcia, w której opisuje się sposób organizacji zespołu wytwórczego, osoby i ich funkcje w zespole. Analiza zagrożeń, w której opisuje się zagrożenia przedsięwzięcia, prawdopodobieństwo ich wystąpienia i proponowane strategie ich zmniejszenia. Wymagania stawiane zasobom sprzętowym i programowym, w których opisuje się sprzęt i pomocnicze oprogramowanie niezbędne do tworzenia. Podział pracy, w którym opisuje się podział przedsięwzięcia na zadania oraz identyfikuje etapy i produkty związane z tymi zadaniami. Harmonogram przedsięwzięcia, w którym opisuje się zależności pomiędzy zadaniami, czas potrzebny do ich wykonania oraz przydział osób do poszczególnych zadań. Mechanizmy monitorowania i składania raportów, w których opisuje się raporty menedżerskie, terminy ich dostarczenia i sposoby monitorowania całego przedsięwzięcia.
13
Inżynieria oprogramowania, Wykład 4 Slide 13 Etapy i produkty Kierownicy potrzebują informacji. Ponieważ oprogramowanie nie jest uchwytne, informacje mogą być dostarczane jedynie w postaci dokumentów, w których opisano stan budowanego oprogramowania. Bez tej informacji nie można ocenić postępów, oszacować kosztów ani skorygować harmonogramu. Produkty są zwykle związane z etapami, ale nie odwrotnie. Planując przedsięwzięcie, należy ustalić etapy, czyli ukończenie określonego zadania związanego z jakimś formalnym wynikiem. Produkt jest wynikiem przedsięwzięcia dostarczanym klientowi. Jest zwykle przekazywany na zakończenie pewnej, dużej fazy przedsięwzięcia.
14
Inżynieria oprogramowania, Wykład 4 Slide 14 Etapy w procesie określania wymagań Studium wykonalności Studium projektowe Specyfikowanie wymagań Wymagania systemowe Projekt architektoniczny Raport oceniający Wymagania użytkownika Raport wykonalności CZYNNOŚCI ETAPY Tworzenie prototypu Analizowanie wymagań
15
Inżynieria oprogramowania, Wykład 4 Slide 15 Tworzenie harmonogramu przedsięwzięcia Tworzenie harmonogram przedsięwzięcia jest szczególnie trudnym zadaniem dla zarządzających programowaniem. Menedżerowie szacują czas i zasoby niezbędne do ukończenia czynności oraz organizują je w zwarte sekwencje. Szacowanie harmonogramu jest jeszcze bardziej skomplikowane wskutek tego, że w rozmaitych przedsięwzięciach użyto różnych metod programowania i implementacji. Tworzenie harmonogramu przedsięwzięcia obejmuje dzielenie całkowitego nakładu pracy na oddzielne czynności i kalkulowanie czasu wymaganego na ich ukończenie.
16
Inżynieria oprogramowania, Wykład 4 Slide 16 Proces tworzenia harmonogramu przedsięwzięcia Wykresy czynności i wykresy paskowe Opracuj grafy przedsięwzięcia Przydziel osoby do czynności Opracuj zasoby dla czynności Zidentyfikuj czynności Zidentyfikuj Zależności między czynnościami Wymagania stawiane oprogramowaniu
17
Inżynieria oprogramowania, Wykład 4 Slide 17 Problemy Tworząc harmonogramy, kierownicy nie mogą zakładać, że każdy etap przedsięwzięcia będzie wolny od problemów. Zatrudnione osoby mogą zachorować lub pójść na urlop, sprzęt może się popsuć, a dostawa podstawowego oprogramowania wspomagającego lub sprzętu może się opóźnić. Oprócz kalendarza zarządzający muszą także oszacować zasoby niezbędne do ukończenia każdego zadania. Najważniejszym zasobem jest praca ludzi. Dobrą, praktyczną zasadą jest szacowanie tak, jakby wszystko miało się udać, a następnie zwiększenie szacunków, aby uwzględnić nie przewidziane kłopoty. Na końcu można wszystko pomnożyć przez dodatkowy czynnik rezerwy.
18
Inżynieria oprogramowania, Wykład 4 Slide 18 Wykresy paskowe i sieci działań Wykresy paskowe i sieci działań to notacje graficzne stosowane do przedstawiania harmonogramów przedsięwzięcia. Na wykresie paskowym obrazuje się, kto odpowiada za każdą czynność oraz kiedy ta czynność ma się rozpocząć i skończyć. Za pomocą sieci działań zapisuje się zależności między różnymi czynnościami składającymi się na przedsięwzięcie. Wykresy paskowe oraz sieci działań mogą być przygotowywane automatycznie przez narzędzia wspomagające zarządzanie na podstawie zawartości bazy danych przedsięwzięcia.
19
Inżynieria oprogramowania, Wykład 4 Slide 19 Zbiór zadań, ich czas trwania zależności
20
Inżynieria oprogramowania, Wykład 4 Slide 20 Sieć działań T2 M3 T6 T10 M7 T5 T7 M2 T4 M5 T8 4/7/99 8 14/7/99 15 4/8/99 15 25/8/99 7 5/9/99 10 19/9/99 15 11/8/99 25 10 20 5 25/7/99 15 dni 25/7/99 18/7/99 10 T1 M1T3 T9 M6 T11 M8 T12 M4 początek dni koniec
21
Inżynieria oprogramowania, Wykład 4 Slide 21 Diagram paskowy czynności
22
Inżynieria oprogramowania, Wykład 4 Slide 22 Przydział personelu na tle wykresu czasu
23
Inżynieria oprogramowania, Wykład 4 Slide 23 Zarządzanie zagrożeniami Ważnymi zadaniami zarządzającego przedsięwzięciem jest przewidywanie zagrożeń, które mogą mieć wpływ na harmonogram przedsięwzięcia lub jakość budowanego oprogramowania, oraz podejmowanie działań w celu uniknięcia tych zagrożeń. Te kategorie zagrożeń można odróżnić w następujący sposób: zagrożenia przedsięwzięcia mają wpływ na zasoby i harmonogram przedsięwzięcia, zagrożenia produktu mają wpływ na jakość i efektywność budowanego oprogramowania, zagrożenia przedsiębiorstwa maja wpływ na przedsiębiorstwo budujące bądź zaopatrujące się w oprogramowanie.
24
Inżynieria oprogramowania, Wykład 4 Slide 24 Możliwe zagrożenia w wytwarzaniu oprogramowania
25
Inżynieria oprogramowania, Wykład 4 Slide 25 Proces zarządzania zagrożeniami Identyfikacja zagrożeń Identyfikuje się możliwe zagrożenia przedsięwzięcia, produktu i przedsiębiorstwa. Analiza zagrożeń Ocenia się prawdopodobieństwo i konsekwencje zagrożeń. Planowanie przeciwdziałania zagrożeniom Opracowuje się plany radzenia sobie z tymi zagrożeniami przez ich unikanie lub zmniejszanie ich następstw. Monitorowanie zagrożeń Ustawicznie ocenia się zagrożenia i koryguje plany ich łagodzenia w miarę napływu coraz lepszych informacji o tych zagrożeniach.
26
Inżynieria oprogramowania, Wykład 4 Slide 26 Proces zarządzania zagrożeniami Identyfikacja zagrożeń Analiza zagrożeń Lista potencjalnych zagrożeń Lista zagrożeń z przypisanymi priorytetami Przeciwdziałania zagrożeniom Monitorowanie zagrożeń Ocena zagrożeń Plany unikania zagrożeń i awarii
27
Inżynieria oprogramowania, Wykład 4 Slide 27 Identyfikacja zagrożeń Zagrożenia technologiczne - wynikają z technologii oprogramowania i sprzętu, użytych do tworzenia części systemu. Zagrożenia ze strony ludzi - związane z członkami zespołu wytwórczego. Zagrożenia organizacyjne - wynikają ze środowiska organizacyjnego, w którym jest tworzone oprogramowanie Zagrożenia narzędziowe - są powodowane przez narzędzia CASE i inne oprogramowanie wspomagające budowanie systemu. Zagrożenia wymagań - wynikają ze zmian wymagań użytkownika i procesu zarządzania zmianami wymagań. Zagrożenia szacowania - są związane z menedżerskimi oszacowaniami charakterystyk systemu i zasobów niezbędnych do zbudowania systemu.
28
Inżynieria oprogramowania, Wykład 4 Slide 28 Zagrożenia i ich typy
29
Inżynieria oprogramowania, Wykład 4 Slide 29 Analiza zagrożeń W trakcie procesu analizy zagrożeń każde zagrożenie jest ponownie rozważane. Ocenia się prawdopodobieństwo i znaczenie każdego z nich. Wymaga ona zdolności do oceny i doświadczenia menedżera przedsięwzięcia. Konsekwencje zagrożenia mogą być oceniane jako katastroficzne, poważne, znośne lub nieistotne.
30
Inżynieria oprogramowania, Wykład 4 Slide 30 Analiza zagrożeń
31
Inżynieria oprogramowania, Wykład 4 Slide 31 Planowanie przeciwdziałania zagrożeniom W procesie planowania przeciwdziałania zagrożeniom bierze się pod uwagę każde poważne zagrożenie i opracowuje strategię panowania nad nim. Strategie unikania Ich zastosowanie prowadzi do zmniejszenia prawdopodobieństwa wystąpienia zagrożenia. Strategie minimalizacji Ich zastosowanie prowadzi do zmniejszenia konsekwencji zagrożenia. Plany awaryjne Ich zastosowanie polega na przygotowaniu się i opracowaniu strategii przeciwdziałania na wypadek najgorszego.
32
Inżynieria oprogramowania, Wykład 4 Slide 32 Strategie zarządzania zagrożeniami
33
Inżynieria oprogramowania, Wykład 4 Slide 33 Monitorowanie zagrożeń Monitorowanie zagrożeń polega na ocenie, czy każde ze zidentyfikowanych zagrożeń staje się bardziej lub mniej prawdopodobne oraz czy zmieniły się jego konsekwencje. Zwykle nie da się bezpośrednio zaobserwować, należy więc zbadać inne czynniki, które umożliwiają wnioskowanie o prawdopodobieństwie zagrożeń i ich następstwach. Czynniki te zwykle zależą od typu zagrożenia. Monitorowanie zagrożeń powinno być procesem ustawicznym. Przy każdym menedżerskim przeglądzie postępów każde zagrożenie należy oddzielnie rozpatrzyć i rozważyć w czasie spotkania.
34
Inżynieria oprogramowania, Wykład 4 Slide 34 Czynniki ryzyka
35
Inżynieria oprogramowania, Wykład 4 Slide 35 Główne tezy Dobre zarządzanie przedsięwzięciami programistycznymi jest niezbędne, jeśli przedsięwzięcia inżynierii oprogramowania mają być ukończone zgodnie z harmonogramem i w ramach budżetu. Zarządzanie programowaniem istotnie różni się od zarządzania w innych dziedzinach inżynierii. Oprogramowanie jest nieuchwytne. Przedsięwzięcia mogą być nowatorskie lub innowacyjne, nie ma więc odpowiedniego zasobu doświadczeń pomagających w zarządzaniu nimi. Zarządzający oprogramowaniem mają do odegrania wiele różnych ról. Najbardziej znaczącymi są planowanie przedsięwzięcia, szacowanie i tworzenie harmonogramu. Planowanie i tworzenie harmonogramu są procesami iteracyjnymi; są wykonywane przez cały czas trwania przedsięwzięcia. W miarę napływu coraz dokładniejszych informacji, plany i harmonogramy muszą być korygowane.
36
Inżynieria oprogramowania, Wykład 4 Slide 36 Etap w przedsięwzięciu jest przewidywalnym rezultatem czynności, który oznacza przedstawienie kierownictwu pewnego formalnego raportu. Etapy powinny odbywać się regularnie przez całe przedsięwzięcie programistyczne. Produkt jest związany z odbiorem i przekazaniem go klientowi przedsięwzięcia. Tworzenie harmonogramu przedsięwzięcia polega na opracowaniu rozmaitych graficznych przedstawień fragmentów planu przedsięwzięcia. Są nimi m.in. Wykresy czynności, na których obrazuje się zależności między czynnościami przedsięwzięcia, oraz wykresy paskowe ukazujące czas trwania czynności. Należy zidentyfikować i ocenić prawdopodobieństwo oraz konsekwencje głównych zagrożeń przedsięwzięcia. W wypadku zagrożeń prawdopodobnych i potencjalnie poważnych należy opracować plany unikania, opanowania lub przeciwdziałania tym zagrożeniom. Zagrożenia należy otwarcie omawiać na każdym menedżerskim spotkaniu w sprawie postępów przedsięwzięcia. Główne tezy
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.