Narzedzia wspomagajace zarzadzanie projektem

background image

Narzędzia wspomagające

zarządzanie projektem

Wojciech Gwiaździński,

s2178

background image

Wprowadzenie

• Istotą zarządzania projektem jest zastosowanie wiedzy i narzędzi, które

pozwolą na osiągnięcie zamierzonego  celu przy jednoczesnym
wypracowaniu określonych korzyści.

• Zarządzanie zmianami w projekcie informatycznym jest niezwykle ważnym

elementem projektu informatycznego, który w dużym stopniu ułatwia i
usprawnia pracę całego zespołu, pozwala tworzyć oprogramowanie lepszej
jakości.

• Dobry warsztat pracy projektowej musi zawierać szeroką paletę narzędzi

odpowiednich dla każdej fazy zarządzania projektem. Istotna jest nie tylko
znajomość narzędzi i metod, ale również wiedza dotycząca przydatności i
zakresu ich stosowania.

• Chodzi tu o przyjęte systemy planowania, nadzorowania, dokumentowania,

konsultowania i sterowania projektem.

background image

Narzędzia do zarządzania projektem (1)

• Na rynku istnieje wiele narzędzi informatycznych do wspierania funkcji

zarządzania projektem, począwszy od aplikacji posiadających
jednostkowe możliwości (takie jak generowanie harmonogramów do
planu projektu) i narzędzi sprawozdawczych do złożonych
wielofunkcyjnych programów (do zarządzania portfelami projektów w
skali całej instytucji).

• Ze względu na liczbę proponowanych możliwości należy precyzyjnie

określić oczekiwania i wymagania stawiane narzędziom. Zastanawiając
się nad nabyciem określonego narzędzia, należy określić wymagania
funkcjonalne w kategoriach „musi mieć” i „może mieć”, należy określić
zakres cen oraz zagadnienia związane z pomocą techniczną oraz
wsparciem technicznym, serwisem i wdrożeniem.

• Wiele funkcji związanych z zarządzaniem projektem można

zrealizować wykorzystując proste programy biurowe, np. edytor
tekstów lub arkusz kalkulacyjny, albo też poprzez najnowsze
propozycje firm produkujących specjalistyczne oprogramowanie.

background image

Narzędzia do sporządzania planu i

harmonogramu projektu (1)

Dobre narzędzie musi spełniać poniższe podstawowe

wymagania

:

• określanie czasu trwania zadań projektu

• określanie terminów rozpoczęcia oraz zakończenia zadań –

każdy projekt realizowany jest w pewnych ograniczeniach

czasowych (ta funkcja umożliwia zapisywanie tych ograniczeń)

• określanie „kamieni milowych” – „kamień milowy” to

wykonanie zadania o większym znaczeniu w toku realizacji

projektu i odnosi się do czegoś znaczącego, np. zakup terenu

pod parking wielopoziomowy lub zakończenie prac nad

projektem architektonicznym („kamieniom milowym” nie są

przypisywane odrębne środki ani terminy),

• przydział środków do realizacji zadań – narzędzie powinno

pozwalać zarówno na przydzielenie określonego zasobu do

każdego zadania, jak i sprawdzenie wysiłku włożonego w jego

realizację

,

background image

Narzędzia do sporządzania planu i

harmonogramu projektu (2)

• wskazanie stanu wykorzystania środków i zasobów – narzędzie

powinno zawierać analizę ilustrującą stopień wykorzystania danego

środka i zasobów, eksponując wszelkie zasoby i środki, których

wykorzystanie przekracza 80%

• wyjściowy harmonogram projektu – to harmonogram w wersji przyjętej

przez kierownictwo na początku projektu, nie zmienia się w trakcie

realizacji projektu (harmonogram wyjściowy stanowi dla kierownika

projektu punkt odniesienia, w miarę aktualizacji harmonogramu

odzwierciedlającego rzeczywiste doświadczenia i modyfikacje

wprowadzane do projektu)

• określenie ścieżki krytycznej – to wszystkie czynności, które muszą

zostać ukończone w przewidzianych ramach czasowych, jeżeli projekt

ma się zakończyć w terminie (zrozumienie ścieżki krytycznej jest

konieczne do udanego zarządzania projektem, np. zmiany

wprowadzone w trakcie realizacji projektu wywrą na niego znacznie

większy wpływ, jeżeli dotyczą zadań znajdujących się na ścieżce

krytycznej projektu)

• automatyczne modyfikowanie harmonogramu projektu uwzględniające

postępy prac

background image

Zarządzanie sprzecznościami

(1)

Zarządzanie sprzecznościami wspomagane jest mniejszą liczbą narzędzi i

są one albo bardzo proste (mają charakter zmodyfikowanej listy) lub są to
złożone aplikacje zintegrowane z narzędziami wspomagającymi planowanie
projektu. Podstawowymi elementami niezbędnymi do zarządzania
sprzecznościami są:

zapewnienie informacji dotyczących sprzeczności w układzie:

data identyfikacji

status sprzeczności

opis sprzeczności i kluczowy wpływ

priorytet (wraz ze wskaźnikami pilności i ważności)

osoba odpowiedzialna

termin rozwiązania sprzeczności

działania podjęte i zaplanowane

background image

Zarządzanie sprzecznościami

(2)

okres trwania sprzeczności – w miarę upływu czasu sprzeczności o niskim stopniu
nasilenia mogą ulec zaostrzeniu (program powinien generować raporty na temat
upływu czasu od wystąpienia danej sprzeczności, zwracając uwagę kierownika
projektu na „starsze” sprzeczności),

sporządzanie raportów według zróżnicowanych parametrów,

np

.:

-sprzeczności nierozwiązane,
-wygasłe/niedotrzymane terminy,
-osoba odpowiedzialna za rozwiązywanie sprzeczności,
-kategoria,

dostarczanie informacji do raportów o stanie zaawansowania projektu,

zachowywanie spójności procesu oraz dokumentacja sprzeczności – można to
osiągnąć dzięki rozwijanym

listom, edycji pól i obowiązkowym rubrykom do wypełnienia (to wymusza spójność
opisu).

background image

Zarządzanie zmianą

(1)

Podobnie jak w przypadku zarządzania sprzecznościami, dostępne narzędzia
do zarządzania zmianą są albo bardzo proste, albo bardzo złożone i
zintegrowane z innymi narzędziami. Podstawowe wymagania, jakie stawia
się przed oprogramowaniem wspomagającym zarządzanie zmianą, to:

zapewnienie informacji zawierającej następujące elementy

:

• data wniosku o wprowadzenie zmiany,
• imię i nazwisko osoby wnioskującej,
• powód proponowanej zmiany,
• opis zmiany,
• wpływ na projekt,
• status: nowy, przyjęty, odrzucony,
• termin podjęcia decyzji o przyjęciu/odrzuceniu,
• decyzja, uzasadnienie i podpisy,
• data przyjęcia lub odrzucenia,

background image

Zarządzanie zmianą

(2)

okres zmian – w miarę upływu czasu wpływ zmian jest zróżnicowany (zmiany
będą zwykle bardziej poważne) i program powinien dostarczać raportów na
temat upływu czasu od wystąpienia danej propozycji zmian, zwracając uwagę
kierownika projektu na „starsze” propozycje zmian

sporządzanie raportów według zróżnicowanych

parametrów, np:

propozycje zmian, w odniesieniu do których nie podjęto decyzji (nie przyjęte,

ani nie odrzucone),
– wygasłe/niedotrzymane terminy,
– osoba przydzielona do zajęcia się daną propozycją zmiany,
– kategoria,
– faza projektu,

dostarczanie informacji do raportów o stanie zaawansowania projektu,

zachowywanie spójności procesu oraz dokumentacji składania wniosków i
aprobowania zmian. Można to osiągnąć dzięki rozwijanym listom, edycji pól i
obowiązkowym rubrykom do wypełnienia, które wymuszają spójność opisu.

background image

Zarządzanie zmianą - szczegóły (1)

Zarządzanie zmianą składa się z dwóch podstawowych

elementów:

- Kontrola wersji
- Śledzenie błędów i zmian

• Projekty informatyczne stają się coraz bardziej skomplikowane, trwają coraz

dłużej, wymagają efektywnej i dobrze skoordynowanej współpracy zespołu
specjalistów

• Jednym z najbardziej podstawowych sposobów na usprawnienie komunikacji

w zespole jest użycie narzędzi do wersjonowania kodu źródłowego
programów, dokumentacji oraz wszelkich innych plików powstających przy
wytwarzaniu produktu (np. grafika, podręcznik użytkownika, itp.).

• Kontrola wersji pozwala na śledzenie zmian wnoszonych przez

poszczególnych członków zespołu, umożliwia, w razie potrzeby, przywrócenie
poprzednich wersji oprogramowania, pozwala zablokować dostęp do
wybranych zasobów tak, aby dwie lub więcej osób nie modyfikowały
jednocześnie tego samego pliku, co może mieć niepożądane konsekwencje.

background image

Zarządzanie zmianą - szczegóły (2)

Kolejnym sposobem usprawnienia pracy zespołu jest wykorzystanie narzędzie

do śledzenia błędów i zmian w projekcie. Jest rzeczą oczywistą, że

oprogramowanie w czasie swojego cyklu życia, począwszy od wczesnej fazy

projektowania systemu, poprzez etap budowania system, aż do wdrożenia

kolejnych wersji u klienta będzie się zmieniało.

Kluczową sprawą jest takie zarządzanie cyklem życia aplikacji, które

gwarantuje, że zgłoszony błąd, czy zgłoszone nowe wymaganie, nie zostanie

„zgubione”.

Wprowadzenie procedur zarządzania zmianami w projekcie owocuje wzrostem

produktywności zespołu. Każdy wie, czym powinien się zająć, co więcej, można

rozłożyć równomiernie obciążenie pracą, gdyż wiadomo kto ma ile

przydzielonych zadań. Ponadto użycie odpowiednich narzędzi powoduje, że

tworzenie wszelkich raportów, podsumowań staje się bardzo proste – można je

wygenerować jednym przyciśnięciem klawisza.

Z drugiej strony także klient jest zadowolony, ponieważ istnieje jasny tryb

zgłaszania błędów bądź próśb o uzupełnienie produktu o nową funkcjonalność.

Wiadomo, kto na danym etapie prac zajmuje się określonym zgłoszeniem, kto

powinien poinformować klienta o tym, że prace zostały ukończone i jest

dostępna nowa, poprawiona wersja produktu.

background image

Kontrola wersji – czym jest?

• Kiedy tworzymy program koncentrujemy się przede wszystkim na tym żeby

uzyskać żądaną funkcjonalność z możliwie najmniejszą liczbą błędów. Ale w
trakcie pracy poprawiając jedne błędy często tworzymy inne.

• Pisząc tekst korzystamy z funkcji „Cofnij” edytora automatycznie, kiedy

tylko jest nam potrzebna – nikt nie powie że funkcja „Cofnij” jest
niepotrzebna. Ale gdy zamkniemy program to tracimy całą informację o
zmianach w naszej pracy.

• Kontrola wersji zapełnia tą lukę dodając taką historię. Historia zaś daje

możliwość powrotu do dowolnego punktu w czasie tworzenia systemu.
Kontrola wersji działa jak przycisk „Cofnij” w skali makro.

background image

Jak działają systemy kontroli wersji? (1)

Repository (repozytorium) – miejsce przechowywania plików w systemie

kontroli wersji, niekoniecznie baza danych, często pewna specyficzna

struktura katalogów z opisami.

Katalog roboczy – miejsce w którym znajdują się kopie lokalne plików

nad którymi pracujemy. Najczęściej katalog na naszym komputerze.

Get (pobranie) – pobranie plików z repozytorium np.: z serwera

Check-in (wstawienie) – gdy skończymy zmieniać pliki to wstawiamy je

na serwer, tak aby każdy mógł je pobrać w najnowszej wersji

Check-out (wybranie) – pobranie plików z serwera z zamiarem zmiany.

Może być związane z jednoczesną blokadą.

Lock (blokada) – zablokowanie innym użytkownikom możliwości

wybrania.

Label (etykieta) – oznaczenie nazwą grupy plików w celu łatwej ich

identyfikacji

Branch (gałąź) – stworzenie alternatywnej linii wersjonowania. Pozwala

to na rozwój tego samego pliku w różnych kierunkach, np.: wprowadzanie

poprawek do starej wersji i dodawanie funkcji do nowej wersji.

Merge (połączenie) – łączenie dwóch kopii pliku w jeden. Może się

odnosić do dwóch sytuacji: łączenia gałęzi i rozwiązywania konfliktów.

background image

Jak działają systemy kontroli

wersji? (2)

Przykładowy ciąg działań

Tworzymy repozytorium

Dodajemy do niego pliki projektu

Pobieramy (Get) pliki z repozytorium do katalogu

roboczego

Wybieramy (Check-out) pliki do edycji

Zmieniamy to co potrzebujemy

Sprawdzamy, że wszystko działa

Wstawiamy (Check-in) zmienione pliki do repozytorium

Jeżeli okaże się że ktoś zmienił plik, który wstawiamy to

prawdopodobnie będziemy musieli połączyć (Merge) wersje.

Jeżeli jeszcze coś jest do zrobienia to wracamy do punktu 4

Jak widać praca z SKW z punktu widzenia użytkownika na

podstawowym poziomie jest bardzo prosta.

background image

Kontrola wersji c.d.

• często wstawiać pliki do repozytorium. Obecnie

narzędzia do wersjonowania działają na poziomie

pliku i tylko tam umieszczane zmiany są zauważane,

dlatego częste wstawianie pozwala na dosyć

dokładne określenie zmiany oraz tego czego ona

dotyczy.

• Wstawiać do repozytorium tylko te zmiany, które nie

powodują problemów z kompilacją. Przed każdym

wstawieniem wstawiający zobowiązany jest

sprawdzić czy to co wstawia jest kompilowalne. Jeżeli

pracujemy na wielu plikach, przydatne może być

korzystanie z prywatnych gałęzi kodu oferowanych

przez niektóre narzędzia (np. Surround SCM)

background image

Przykładowe narzędzia KW

SurroundSCM - Bardzo wszechstronny i działający na wielu platformach system kontroli

wersji. Pliki do repozytorium są wstawiane transakcyjnie, jest możliwość blokowania plików

oraz etykietowania grup plików. Duże bezpieczeństwo dzięki działaniu w trybie klient-serwer.

Dzięki połączeniu z TestTrackPro daje możliwość identyfikowania zmian w kodzie z żądaniami

użytkowników. Polecam.

Visual SourceSafe - repozytorium oparte o pliki, nie działa w modelu klient-serwer.

Problemem na który często narzekają użytkownicy jest konieczność częstego naprawiania

bazy plików. Nie posiada transakcyjnego wstawiania plików.

CVS - prawdopodobnie najbardziej rozpowszechniony system zarządzania wersjami plików.

Może pracować zarówno w trybie serwera jak i plikowo na jednej maszynie. Wadą jest brak

możliwości przeniesienia pliku w strukturze z zachowaniem wersji, oraz brak możliwości

zmiany nazwy pliku. Kolejną wadą jest także konieczność sztywnego zaprojektowania

struktury katalogów, ponieważ nie są one wersjonowane. Brak transakcji przy wstawianiu

plików może prowadzić do poważnych problemów. Zaletą jest to że CVS istnieje już tak

długo że wszystkie błędy są już znane. Zaletą i wadą jest przechowywanie pełnych wersji

plików. Zaletą bo łatwo naprawić repozytorium, wadą bo trzymanie w ten sposób dużego

projektu może być koszmarem i zajmować bardzo dużo miejsca. Nowoczesne systemy

przechowują różnicę pomiędzy wersją poprzednią a bieżącą, albo wykorzystują pewną

mieszankę obu podejść, przechowując pełne pliki co pewną ilość wersji.

Subversion - nowy system wersjonowania, niedawno wszedł w wersję 1.0. Powstał z myślą

o naprawieniu problemów występujących w CVS. Wadą jest brak możliwości blokowania

dostępu do pliku i brak informacji o tym kto dany plik edytuje oraz brak możliwości

etykietowania grup plików. Tworzenie etykiety działa na całe repozytorium i tworzy nowy

katalog z bieżącą wersją

plików.

background image

Podsumowanie

Optymalne wykorzystanie zasobów osobowych

Systemy pozwalają tworzyć zespoły projektowe z wykorzystaniem

zarówno wewnętrznych, jak i zewnętrznych zasobów ludzkich. Każdy

z

zespołów otrzymuje wirtualną przestrzeń, w której są tworzone i

przechowywane informacje na temat prowadzonego projektu.

Indywidualne miejsce pracy

Systemy stwarzają każdemu członkowi zespołu indywidualne miejsce

pracy.

Użytkownik ma w nim dostęp do najnowszych informacji na

temat głównych

etapów realizowanego projektu oraz dokumentacji

związanej z projektem.

Szczegółowa kontrola zespołów projektowych

Systemy mogą delegować zadania poszczególnym członkom zespołu

oraz pozwalają sprawować kontrolę nad czasem ich realizacji.

Synchronizacja działań zespołu projektowego

Członkowie zespołów mogą otrzymywać wiadomości. Systemy

zabezpieczają

przed utratą cennych informacji uzyskanych

podczas spotkań i nieformalnych

rozmów, przybliżają wzajemną

współpracę, gromadząc w sposób

uporządkowany wszystkie

pomysły i komentarze dotyczące poszczególnych tematów.


Document Outline


Wyszukiwarka

Podobne podstrony:
narzedzia do wspomagania zarzadzania projektami w firmie ibm
Narzędzia wspomagające zarządzanie jakością
Matryca logiczna jako kluczowe narzędzie zarządzania projektem konsultingowym
NARZ DZIA DO WSPOMAGANIA ZA, Zarządzanie projektami, Zarządzanie(1)
projekt wdrożenia komputerowego wspomagania zarządzania, Pomoce naukowe, studia, informatyka
ak zarządzać zmianą podczas projektu wdrożenia zintegrowanego systemu wspomagającego zarządzanie
Projekt wdrożenia komputerowego wspomagania zarządzania (27 T4NWBDJECNOMQQMZXUB2G2BKCOALQ2FQLYFPRAA
Projektowanie hurtowni danych Wspomaganie zarzadzania relacjami z klientami prohur

więcej podobnych podstron