RPI 2009 7 Rownowaga


Studia dzienne jednostopniowe magisterskie
Studia dzienne jednostopniowe magisterskie
2009-2010
Realizacja Projektu
Realizacja Projektu
Informatycznego
Informatycznego
Jakub Miler
Katedra In\ynierii Oprogramowania
Wydział Elektroniki, Telekomunikacji i Informatyki
Politechnika Gdańska
jakubm@eti.pg.gda.pl
Materiały pomocnicze do wykładu na Wydziale ETI Politechniki Gdańskiej.
Wykorzystanie materiałów w innym celu i ich rozpowszechnianie bez zgody WETI PG zabronione.
- 1 - © J.Miler
Wykład 7
Wykład 7
Równowaga
Równowaga
dyscypliny i zwinności
dyscypliny i zwinności
Projekt TCT
Projekt TCT
- 2 - © J.Miler
Równowaga dyscypliny
Równowaga dyscypliny
i zwinności
i zwinności
Kryteria i zasady doboru metodyk
Kryteria i zasady doboru metodyk
Na podstawie:
B. Boehm, R. Turner,
Balancing Agility and Discipline, A Guide for the Perplexed,
Addison-Wesley, 2004
- 3 - © J.Miler
Cechy projektów sterujące doborem metodyki
Cechy projektów sterujące doborem metodyki
Cechy zwiÄ…zane z zastosowaniem
" główne cele projektu
" rozmiar projektu
" otoczenie biznesowe
Cechy zwiÄ…zane z zarzÄ…dzaniem
" relacja z klientem
" planowanie i nadzorowanie
" komunikacja w projekcie
Cechy techniczne
" podejście do definiowania wymagań
" podejście do wytwarzania
" podejście do testowania
Cechy zwiÄ…zane z osobami
" klient
" wykonawcy
" kultura
- 4 - © J.Miler
Główne cele projektu
Główne cele projektu
Cele metodyki powinny być zgodne z celami projektu
Główne cele metodyk lekkich:
" szybkie dostarczenie wartości biznesowej
" elastyczna reakcja na zmiany
Cechy praktyczne metodyk lekkich:
" zbudujmy szybko i sprawdzmy, ile jest warte
" unikamy du\ych nakładów podjętych na podstawie błędnych zało\eń
" nastawienie na reakcję na zmiany ni\ ich uwzględnianie w planie
"  złośliwy klient mo\e doprowadzić do bardzo chaotycznego projektu
Główne cele metodyk sterowanych planem:
" przewidywalność
" stabilność
" wysoka wiarygodność produktu
Cechy praktyczne metodyk sterowanych planem:
" stosowanie planów, specyfikacji, standaryzacji, pomiarów, nadzorowania
" sprawdzajÄ… siÄ™ w stabilnych projektach, generujÄ… du\o pracy na utrzymanie definicji
procesu przy zmiennych warunkach
" są wymagane do certyfikacji procesów
- 5 - © J.Miler
Rozmiar projektu
Rozmiar projektu
Metodyki lekkie sprawdzają się (prawie wyłącznie) w mniejszych projektach
" zespół do 40 osób
" rzadko udaje się osiągnąć sukces w większych zespołach
Metodyki sterowane planem skalują się dobrze do większych projektów
" nie oznacza to, \e nie mogą być stosowane w małych projektach
" biurokratyczne podejście uniemo\liwia realizację małych projektów
" plany, dokumentacja, procesy zapewniajÄ… lepszÄ… komunikacjÄ™ i koordynacjÄ™ pracy
w du\ych zespołach
" w bardzo du\ych projektach typu  system systemów muszą być specyfikacje i
przeglądy, nie jest mo\liwe osiągnięcie jakości przez spotkania zespołu i wiedzę własną
zespołu
- 6 - © J.Miler
Otoczenie biznesowe
Otoczenie biznesowe
Otoczenie dla metodyk lekkich
" szybko zmienne, w zmiennych warunkach biznesowych
" gdzie liczy się  produkt w rękach , a mniej utrzymanie czy integracja
" projekty wewnętrzne (ang. in-house)
Otoczenie dla metodyk sterowanych planem
" wymagania są w du\ej części znane na początku (w tym pozyskane przez
prototypowanie) i pozostają dość stabilne
" potrzeba szerokiego zakresu prac: produkcja, organizacja, biznes
" system ma wpływ na wiele osób na ró\nych stanowiskach (wielu udziałowców)
" sytuacje przejściowe związane z wycofywaniem systemów spadkowych
" słabo podzielne wymagania (nie da się dostarczać produktu w częściach)
- 7 - © J.Miler
Relacja z klientem
Relacja z klientem
Podwórko metodyk lekkich
" zaanga\owani, dostępni na miejscu reprezentanci klienta
" pytanie, czy reprezentanci właściwie reprezentują oczekiwania u\ytkowników
" zaufanie klienta budowane jest przez działający system i uczestnictwo klienta
" w projektach wewnętrznych to zaufanie jest i pozwala ograniczyć umowy i specyfikacje
Podwórko metodyk sterowanych planem
" podstawÄ… relacji z klientem sÄ… umowy i specyfikacje
" umowy i specyfikacje definiujÄ… produkt i pracÄ™ w stabilnym otoczeniu
" umowa wymaga pracy na wstępie i jest trudna do zmiany
" nieprecyzyjna umowa prowadzi do konfliktu
" zaufanie klienta budowane jest przez dojrzałość procesów
- 8 - © J.Miler
Planowanie i nadzorowanie
Planowanie i nadzorowanie
W metodykach lekkich
" planowanie i szacowanie zespołowe na podstawie wspólnej wiedzy
" ciągłe planowanie i zmiana planów
" najwa\niejsza jest współpraca, ustalanie i negocjacja priorytetów
" plany (np. zakres pracy) szybko siÄ™ zmieniajÄ…, bo zmieniajÄ… siÄ™ warunki projektu
W metodykach sterowanych planem
" plany wcielają w \ycie proces i stanowią środek komunikacji w zespole
" plany stanowią sporą część produktów projektu
" plany obejmujÄ… opis procesu (harmonogram, punkty kontrolne, procedury)
" specyfikacje, architektura, wytyczne  planujÄ… produkt
" plany bazujÄ… na danych historycznych przy szacowaniu projektu
" szybkozmienne warunki generujÄ… du\e koszty zmian w planach
- 9 - © J.Miler
Komunikacja w projekcie
Komunikacja w projekcie
Metodyki lekkie
" bazujÄ… na niejawnej rozproszonej wiedzy w zespole
" podstawą wiedzy jest doświadczenie osób z zespołu
" wiedza o projekcie jest zbierana w czasie spotkań planistycznych i przeglądowych
" wiedza jest dzielona poprzez tworzenie nowych par i zespołów
" bazują na częstej, osobistej i dwukierunkowej komunikacji
" w większych zespołach utrzymywanie spójności wiedzy jest utrudnione (dla N osób jest
N*(N-1)/2 ście\ek komunikacji osoba-osoba)
" równie\ zawierają elementy jawnie zapisanej wiedzy (np. przypadki testowe, kod)
" tworzona jest tylko niezbędna dokumentacja -  skalowanie w górę
Metodyki sterowane planem
" bazujÄ… na jawnie zapisanej wiedzy
" komunikacja jest głównie jednokierunkowa (opisy procesów, raporty z postępu prac)
" równie\ zawierają komunikację bezpośrednią
" tworzona jest dokumentacja wymagana przez proces z eliminowaniem
( przycinaniem ) niepotrzebnych elementów   skalowanie w dół
" mniej doświadczony zespół będzie stosował całą metodykę (proces), poniewa\ nie będzie
umiał przyciąć go do potrzeb projektu, realizując nadmiarowe praktyki
- 10 - © J.Miler
Podejście do definiowania wymagań
Podejście do definiowania wymagań
W metodykach lekkich
" wymagania sÄ… reprezentowane jako elastyczne, nieformalne historyjki
" szybkie iteracje pozwalają ustalać zmiany wymagań
" wymagania o najwy\szym priorytecie do włączenia do iteracji są ustalane wspólnie
przez programistów i klienta
" wymagania jakościowe postrzegane są jako kolejna cecha oprogramowania
W metodykach sterowanych planem
" wymagania są formalnie zatwierdzane, kompletne, spójne, śladowe i weryfikowalne
" często specyfikacje powstają w innym zespole ni\ oprogramowanie
" by zmniejszyć problem dezaktualizujących się wymagań stosuje się cykle spiralne
(oparte na ryzyku)
" lepiej specyfikuje się wymagania jakościowe np. niezawodność, wydajność,
skalowalność; postrzegane są jako zło\one cechy mające szeroki wpływ na system
- 11 - © J.Miler
Podejście do wytwarzania
Podejście do wytwarzania
Metodyki lekkie
" promują  prosty projekt  taki który przechodzi testy dla danego wydania i nie
posiada cech nadmiarowych z punktu widzenia zakresu tego wydania
" projekt powinien być utrzymywany w prostocie  upraszczany przez refaktoryzację
" zało\enie 1: koszt zmian w projekcie pozostaje mały wraz z upływem czasu
" zało\enie 2: scenariusz zastosowania zmienia się tak szybko, \e nadmiarowe
rozwiązania projektowe nie będą u\yte
" doświadczenie pokazuje, \e zało\enie 1 jest w praktyce nie do spełnienia
" refaktoryzacja ma ograniczenia; są wymagania, które łamią architekturę np.
skalowalność, wydajność, wielojęzyczność, tolerowanie awarii, du\y rozmiar danych
" zało\enie 2 realizowane jest w postaci zasady YAGNI; nie jest ona uzasadniona, gdy
mo\na sensownie przewidzieć przyszłe potrzeby
Metodyki sterowane planem
" u\ywają planowania i architektur by przygotować się na zmiany wymagań
" umo\liwia to m.in. reu\ycie komponentów w linii produktów
" du\a część pracy wią\e się z definicją wydolnej architektury w początkowym etapie
projektu (ang. Big Design Up Front  BDUF)
" przy bardzo zmiennych wymaganiach wydatek na dobrą definicję architektury rozło\y
projekt
- 12 - © J.Miler
Podejście do testowania
Podejście do testowania
W metodykach lekkich
" testy zastępują wymagania
" testy sÄ… wykonywalne i automatyczne
" dzięki temu wymagania są testowalne, unika się części dokumentacji, mo\liwa jest
ciągła integracja, mamy zabezpieczenie przy refaktoryzacji oraz jawną wiedzę o
działaniu systemu
" testy dezaktualizujÄ… siÄ™ wraz z wymaganiami
" pojawiają się niezgodności i wyścigi między testami a kodem
" wymagana jest spora wiedza programistyczna przy przygotowywaniu testów
W metodykach sterowanych planem
" stosowanie przeglądów specyfikacji by zmniejszyć efekt póznego wykrycia defektów
" większy nacisk na weryfikację zgodności ze specyfikacją ni\ na potwierdzenie
zgodności z celami i potrzebami klienta
" stosowane są równie\ testy automatyczne
- 13 - © J.Miler
Klient
Klient
W metodykach lekkich
" reprezentant klienta jest przydzielony i pracuje z zespołem, zatem najczęściej będzie to
osoba mało kluczowa w organizacji klienta
" konieczna jest wysoka  jakość reprezentanta klienta
" reprezentant klienta powinien być: chętny do współpracy, reprezentatywny,
uprawniony, zaanga\owany i mieć odpowiednią wiedzę (ang. Collaborative,
Representative, Authorized, Committed, Knowledgeable  CRACK)
" brak chęci współpracy wprowadza konflikty, frustrację i obni\a morale zespołu
" niereprezentatywność prowadzi do niewłaściwych produktów
" brak uprawnienia powoduje opóznienia przy zatwierdzaniu decyzji lub nieuprawnione
decyzje
" brak zaanga\owania skutkuje unikaniem swojej roli w procesie
" brak wiedzy skutkuje opóznieniami, niewłaściwym produktem lub oboma naraz
W metodykach sterowanych planem
" reprezentanci klienta klasy CRACK mogą być anga\owani czasowo w prace projektu
" głównym wyzwaniem jest uniknięcie ścisłego, biurokratycznego nadzoru nad
projektem, gdzie zgodność z planem wa\niejsza jest od rezultatów projektu
- 14 - © J.Miler
Wykonawcy
Wykonawcy
W metodykach lekkich
" kluczowe są takie cechy jak: przyjacielskość, talent, umiejętności i zdolności
interpersonalne (komunikacja)
" osiąga się du\e korzyści gdy ma się świetny zespół
" ze zdolnymi ludzmi dobrze działa efekt synergii (np. przy projektowaniu)
" liczą się zdolności i zrozumienie ludzi bardziej ni\ procesy i dokumentacja
W metodykach sterowanych planem
" mniej zdolne osoby wnoszą mniejsze ryzyko dzięki planom i specyfikacjom
" jest całkiem sporo  mniej zdolnych osób
Poziomy zrozumienia ( świadomości ) metodyki
" 3  osoba potrafi przedefiniować metodykę (złamać zasady) w nowej nieznanej sytuacji
" 2  osoba potrafi przyciąć metodykę i dopasować ją do znanej sytuacji
" 1A  osoba potrafi wykonywać twórcze kroki metodyki (np. stosowanie wzorców,
zło\ona refaktoryzacja, integracja COTS)
" 1B  osoba potrafi wykonywać odtwórcze kroki metodyki (np. kodowanie metody,
prosta refaktoryzacja, stosowanie standardów kodowania, wykonywanie testów)
" -1  osoba mo\e mieć umiejętności techniczne, ale nie potrafi lub nie chce
współpracować w zespole i postępować zgodnie z ustaloną metodyką
- 15 - © J.Miler
Kultura
Kultura
Metodyki lekkie
" oferujÄ…  wiele stopni swobody
" klasyczne środowisko  zakładu rzemieślniczego  osoby ufają w umiejętności i pracę
innych oraz starają się nie zawieść zaufania innych
" są postrzegane jako rewolucyjne, a jednocześnie niesprawdzone
W metodykach sterowanych planem
" ludzie czujÄ… siÄ™ dobrze, gdy majÄ… jasne zasady i procedury
" środowisko  linii produkcyjnej  zadania ka\dej osoby są ściśle zdefiniowane, inne
osoby oczekujÄ…, \e te zadania zostanÄ… wykonane zgodnie ze specyfikacjÄ… i nie muszÄ…
wnikać w strukturę tych zadań
" w ekstremalnej postaci przybiera formÄ™ biurokratycznÄ…
" kultura organizacji utrwala siÄ™ wraz z ludzmi
- 16 - © J.Miler
 Własne podwórka metodyk*
 Własne podwórka metodyk*
Cecha Metodyki lekkie Metodyki sterowane planem
Zastosowanie
Główne cele szybka wartość, reakcja na przewidywalność, stabilność,
zmiany wysoka wiarygodność
Rozmiar mniejsze zespoły i projekty większe zespoły i projekty
Åšrodowisko niestabilne, szybkozmienne, stabilne, wolnozmienne,
skupione na projekcie skupione na projekcie i
organizacji
ZarzÄ…dzanie
Relacja z klientem wyznaczony klient na spotkania z klientem gdy
miejscu, skupia się na potrzeba, dostarcza ustaleń
priorytetach wydań (np. do specyfikacji)
Planowanie i plany zaszyte w opisie jawnie dokumentowane plany,
nadzorowanie produktu, nadzór jakościowy nadzór ilościowy
Komunikacja niejawna, współdzielona jawna, udokumentowana
wiedza wiedza
* Okoliczności, w których metodyki dają sporą szansę na sukces projektu
- 17 - © J.Miler
 Własne podwórka metodyk (2)
 Własne podwórka metodyk (2)
Cecha Metodyki lekkie Metodyki sterowane planem
Techniczne
Wymagania nieformalne historyjki i sformalizowane wymagania,
przypadki testowe z proces, dojrzałość, interfejsy,
priorytetami, jakość, przewidywalna
nieprzewidywalne zmiany ewolucja
Wytwarzanie prosty projekt, krótkie szczegółowy projekt, dłu\sze
przyrosty, refaktoryzacja z przyrosty, refaktoryzacja
zało\enia mo\liwa i tania zakładana jako droga
Testowanie wykanywalne testy definiujÄ… udokumentowane plany i
wymagania procedury testowania
Osoby
Klient wyznaczone, dostępne na osoby klasy CRACK, nie
miejscu osoby klasy CRACK muszą być stale dostępne
Wykonawcy co najmniej 30% 50% osób poziomu 3 na
pełnoetatowych ekspertów początku projektu, potem 10%;
poziomu 2 i 3, bez osób mo\e być do 30% osób
poziomu 1B i -1 poziomu 1B, bez osób poz. -1
Kultura zadowolenie i moc poprzez zadowolenie i moc poprzez
wiele stopni swobody zestaw zasad i procedur
(skłonność do chaosu) (skłonność do porządku)
- 18 - © J.Miler
5 głównych czynników wyboru metodyki
5 głównych czynników wyboru metodyki
Rozmiar
" metodyki lekkie: małe produkty i zespoły, trudności ze skalowaniem w górę
" metodyki sterowane planem: przeznaczone do du\ych produktów i zespołów, trudne do
 przykrojenia do potrzeb małych projektów
Krytyczność
" metodyki lekkie: niesprawdzone w zastosowaniach związanych z bezpieczeństwem
" metodyki sterowane planem: przeznaczone do zastosowań krytycznych (mission-critical)
Dynamika
" metodyki lekkie: szybkozmienne otoczenie, dodatkowa praca przy małych zmianach
" metodyki sterowane planem: stabilne otoczenie, dodatkowa praca przy częstych
zmianach
Osoby
" metodyki lekkie: wymagają ciągłej obecności osób na poziomie 2 i 3, osoby 1B ryzykowne
" metodyki sterowane planem: wymagają du\ej liczby osób poziomu 2 i 3 na początku,
pózniej mniej, włączają osoby poziomu 1B
Kultura
" metodyki lekkie: skłonność do chaosu
" metodyki sterowane planem: skłonność do porządku
- 19 - © J.Miler
Wymiary przestrzeni wyboru metodyki
Wymiary przestrzeni wyboru metodyki
Osoby
(% poziomu 1B) (% poziomu 2 i 3)
40 15
30 20
20 25
Dynamika
Krytyczność
(% zmienionych wymagań / miesiąc)
(straty na skutek defektów)
10 30
niekluczowe
1
0 35
fundusze
\ycie
5
\ycie
wielu
kluczowe 10
1 osoby
osób 30
fundusze
wygoda
50
3
90
10
70
30
50
100
30
300
10
Rozmiar
Kultura
(liczba osób)
(% skłonnych do chaosu vs. porządku)
- 20 - © J.Miler
l
e
k
k
i
e
s
t
e
r
o
w
a
n
e
p
l
a
n
e
m
Wybór metodyki sterowany ryzykiem
Wybór metodyki sterowany ryzykiem
DominujÄ… zagro\enia dyscypliny
Wybierz metodykÄ™ lekkÄ…
2. DominujÄ… zagro\enia
Oceny wiarygodne
1.
zwinne
Porównaj
Oceń
zagro\enia
Wybierz metodykÄ™
zagro\enia
sterowanÄ… planem
Nic nie dominuje
3.
Wydziel części
Wybierz
zwinne
metodykÄ™
mieszanÄ…
5. 4.
Wykonuj Określ strategię
i aktualizuj proces i proces
- 21 - © J.Miler
Wybór metodyki sterowany ryzykiem (2)
Wybór metodyki sterowany ryzykiem (2)
Krok 1: ocena zagro\eń otoczenia, zwinności i dyscypliny
" je\eli brak pewności oszacowań wykonaj prototyp lub zbierz i przeanalizuj dane
Krok 2: porównanie ryzyka
" je\eli dominują zagro\enia zwinności wybierz metodykę sterowaną planem, idz do 4
" je\eli dominujÄ… zagro\enia dyscypliny wybierz metodykÄ™ lekkÄ…, idz do 4
" je\eli ró\ne zagro\enia dominują dla ró\nych części systemu, idz do kroku 3
Krok 3: analiza architektury
" wydziel części nadające się do zastosowania metodyki lekkiej, a resztę wykonaj
metodykÄ… sterowanÄ… planem, idz do 4
Krok 4: wybór strategii projektu (określenie procesu)
" zdefiniuj proces na podstawie planów obni\ania poszczególnych zagro\eń
Krok 5: realizacja i śledzenie
" obserwuj rozwój projektu oraz zagro\enia/mo\liwości oraz przedefiniowuj proces
zgodnie z nowym stanem projektu
- 22 - © J.Miler
Zagro\enia - przykłady
Zagro\enia - przykłady
Otoczenie projektu  zagro\enia wynikające z ogólnego otoczenia projektu
" E-Tech. Niepewność technologiczna
" E-Coord. Wielu ró\nych udziałowców do koordynacji
" E-Cmplx. Zło\ony system systemów
Zagro\enia zwinne  charakterystyczne dla metodyk lekkich
" A-Scale. Skalowalność i krytyczność
" A-YAGNI. U\ycie prostego projektu lub zasady YAGNI
" A-Churn. Zmienność (utrata) kadry
" A-Skill. Brak osób umiejących stosować metodyki lekkie
Zagro\enia dyscypliny  charakterystyczne dla metodyk sterowanych planem
" P-Change. Częste zmiany
" P-Speed. Potrzeba szybkich rezultatów
" P-Emerge. Nowe wymagania
" P-Skill. Brak osób umiejących stosować metodyki sterowane planem
- 23 - © J.Miler
Przykład projektu
Przykład projektu
Projekt TCT: przebieg i praktyki
Projekt TCT: przebieg i praktyki
- 24 - © J.Miler
Zaufanie do systemów informatycznych
Zaufanie do systemów informatycznych
Why should I trust
How to develop
this system/service
a system/service
and get involved?
that is trustworthy?
User
Supplier
Trustee s user/potential user
(of the Trustee)
(collective or individual)
Does the system
How to convince
comply with a given
users to get
set of criteria?
involved?
The Trustee
Reviewer/Assessor
Operator
(e.g., third party)
(of Trustee)
- 25 - © J.Miler
Dowód zaufania
Dowód zaufania
Dowód zaufania to ustrukturalizowany wywód odwołujący się do materiału
dowodowego uzasadniajÄ…cy, \e dany system jest wystarczajÄ…co godny
zaufania w danym zastosowaniu w danym środowisku
Nie jest dowodem matematycznym, dobrÄ… analogiÄ… jest sprawa w sÄ…dzie
Uwzględnia ró\ne składniki zaufania
" bezpieczeństwo
" prywatność
trust objective
" ochrona informacji
arg.
" wolność wyboru
claim assum. claim
" itd.
arg. ref. arg.
Ma strukturę drzewa, dla większej
claim fact assum. claim
czytelności i mocy wyrazu
arg. ref. ref. arg.
Podlega ocenie przez ekspertów
assum. fact fact assum.
ref. ref. ref. ref.
- 26 - © J.Miler
Struktura dowodu zaufania
Struktura dowodu zaufania
Claim
Counter-Argument Argument
Warrant
Strategy Strategy
Assumption Claim Fact
Reference
- 27 - © J.Miler
Ogólny język argumentacji - przykład
Ogólny język argumentacji - przykład
- 28 - © J.Miler
Cel i kontekst projektu TCT
Cel i kontekst projektu TCT
Cel projektu TCT: dostarczyć narzędzie wspomagające zespołowe tworzenie
i utrzymywanie dowodów zaufania
Kontekst projektu TCT:
" projekt wewnętrzny  produkt na potrzeby własne
" istniejące spadkowe narzędzie jednostanowiskowe
" zbudowanych kilka dowodów zaufania w spadkowym narzędziu
" start projektu  grudzień 2005
" konieczność dostarczenia nowych wersji dowodów zaufania do końca czerwca 2006
" dostępny zespół 5 osób o ró\nych kompetencjach i preferencjach
" przewidywane zastosowanie komercyjne narzędzia (licencje!)
- 29 - © J.Miler
TCT Editor - wydania
TCT Editor - wydania
Główne wersje: TCT Editor 1.0, TCT Editor 2.0, TCT Editor 3.0
Wydania rozszerzajÄ…ce: TCT Editor 1.1, TCT Editor 1.2
- 30 - © J.Miler
TCT Editor 1.0  przebieg wydania
TCT Editor 1.0  przebieg wydania
Uwarunkowania
" wykonawcy są jednocześnie klientami produktu
" podzbiór wymagań dobrze znany z doświadczenia z poprzednim narzędziem
" nowe scenariusze zastosowań dla produktu
" kluczowe wymagania pozafunkcjonalne: rozproszenie (on-line), u\yteczność/ergonomia
" konieczność migracji danych z narzędzia spadkowego
" pełna analiza technologiczna mimo posiadania pewnych kompetencji
" kierownik skłaniający się ku procesowi zdyscyplinowanemu
Proces zdyscyplinowany (sterowany planem)
" etap 0: planowanie: plan projektu, w tym harmonogram
" etap 1: inicjalizacja: logo, szablony, oficjalny opis projektu
" etap 2: wizja rozwiązania: scenariusze, identyfikacja kluczowych funkcji narzędzia
" etap 3: definicja architektury: szczegółowa analiza wymagań sterujących wyborem
architektury, przegląd technologii, prototyp architektoniczny, podział na warstwy
" etap 4: kodowanie: definicja interfejsów, odgórny podział prac między członków zespołu
" etap 5: testowanie: definicja przypadków testowych, ręczne testy (cudzych przypadków)
" etap 6: zamro\enie kodu i wdro\enie: kod, instrukcja instalacji
" etap 7: eksploatacja i utrzymanie: podręcznik u\ytkownika, ulotki
" komunikacja: cykl: spotkanie, podział prac, spotkanie, podział prac, itd.
- 31 - © J.Miler
TCT Editor 2.0  przebieg wydania
TCT Editor 2.0  przebieg wydania
Uwarunkowania
" nowe wymagania (np. generacja raportów), mała spodziewana zmienność wymagań
" mało skalowalny (zbyt prosty) projekt uniemo\liwia dalszy rozwój narzędzia
" konieczność wspierania nowych wersji przeglądarek
" odejście z zespołu jednej osoby (głównego projektanta i programisty bazy danych)
" zatrudnienie nowego programisty do rozwoju narzędzia
" zmiana kierownika projektu  nowy  kierownik skłaniający się ku zwinności
Proces Å‚Ä…czÄ…cy praktyki zdyscyplinowane i zwinne
" wymagania utrzymywane jako zgłoszenia w narzędziu do śledzenia błędów Mantis
" przeprojektowanie architektury narzędzia
" refaktoryzacja starego kodu aplikacji klienta w zamierzeniu, a ostatecznie zupełnie nowy
 prosty projekt aplikacji klienta ulepszany stopniowo przez refaktoryzacjÄ™
" refaktoryzacja kodu po stronie serwera (usługi sieciowe i baza danych)
" aktualizacja dokumentacji projektowej
" testy manualne
" jedno testowane i ustabilizowane wydanie
" aktualizacja podręcznika u\ytkownika
" wdro\enie i przeniesienie danych z poprzedniej wersji narzędzia
" komunikacja: praktycznie wyłącznie bezpośrednia, większa współwłasność kodu
- 32 - © J.Miler
TCT Editor 3.0  przebieg wydania
TCT Editor 3.0  przebieg wydania
Uwarunkowania
" wydanie realizowane jako praca dyplomowa magisterska
" cel wydania: funkcja oceny dowodów zaufania
" wymagania zmienne, ustalane na bie\Ä…co
" nieznane kompetencje techniczne i zaanga\owanie wykonawcy
" wykonawca skłaniający się ku chaosowi
" produkt o dojrzałej architekturze, lecz pewnych defektach projektowych
Proces z przewagÄ… praktyk zwinnych (lekki)
" wymagania utrzymywane jako zgłoszenia w narzędziu do śledzenia błędów Mantis
" krótkie iteracje i prezentacja produktu reprezentantowi klienta (konsultantowi dyplomu)
" dalsza refaktoryzacja niektórych elementów projektu
" testy automatyczne
" uzupełniającą rolę w wytwarzaniu pełnił wyznaczony programista z zespołu TCT
" aktualizacja dokumentacji projektowej dla dalszego utrzymania i rozwoju narzędzia
" komunikacja bezpośrednia lub e-mailem
- 33 - © J.Miler
TCT Editor 3.0 - produkt
TCT Editor 3.0 - produkt
- 34 - © J.Miler
TCT - Rozkład intensywności praktyk w czasie
TCT - Rozkład intensywności praktyk w czasie
Releases
December 2005 June 2006 August 2006 November 2006 March 2007
TCT Project starts TCTEditor 1.0 TCTEditor 1.1 TCTEditor 1.2 TCTEditor 2.0
Practices
Plannig
Meetings
Face-to-face
Conversation
Analysis
& Design
Refactoring
Issue
Management
- 35 - yródÅ‚o: J. Miler, A. Cyra, M. Witkowicz, M. Olszewski, Balancing Agility and Discipline in a Research Project, proc. CEE-SET 2007 © J.Miler
Podsumowanie - kilka złotych myśli
Podsumowanie - kilka złotych myśli
Dyscyplina daje siłę i bezpieczeństwo
Zwinność uwalnia i pozwala tworzyć
Udane projekty wymagają zarówno dyscypliny, jak i zwinności
Dyscyplina dominuje w metodykach sterowanych planem (ang. plan-driven)
Zwinność dominuje w metodykach lekkich (ang. agile)
Oba podejścia mają swoje  własne podwórka , ale istnieje te\  teren wspólny
Proces powinien być dopasowany do projektu, zespołu, środowiska
Ryzyko jest kluczem do sterowania  ciÄ™\arem procesu:
Co jest bardziej ryzykowne:
realizować dany element procesu (w większym stopniu)
czy z niego zrezygnować?
- 36 - © J.Miler
Kolokwium
Kolokwium
04.12.2009
Audytorium 1 lewe
godz. 13:15  osoby o nazwiskach zaczynajÄ…cych siÄ™ na A do J
godz. 13:45  osoby o nazwiskach zaczynajÄ…cych siÄ™ na K do P
godz. 14:15  osoby o nazwiskach zaczynajÄ…cych siÄ™ na R do Å›
Struktura kolokwium:
" 10 pytań testowych (1 poprawna odpowiedz z 4)  ka\de za 2 punkty
" 5 pytań półotwartych  ka\de za 4 punkty
Aącznie: 40 punktów
Zalicza: 21 punktów
Czas pisania: 25 minut
- 37 - © J.Miler


Wyszukiwarka

Podobne podstrony:
RPI 09 3 Scrum 2
09 Rownowaga kwasowo zasadowa ustroju
09 Relacje równoważności, funkcje
pref 09
amd102 io pl09
2002 09 Creating Virtual Worlds with Pov Ray and the Right Front End
Analiza?N Ocena dzialan na rzecz?zpieczenstwa energetycznego dostawy gazu listopad 09
2003 09 Genialne schematy
09 islam
GM Kalendarz 09 hum
06 11 09 (28)

więcej podobnych podstron