Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

XPrince: Równoważenie zwinności i dyscypliny

Podobne prezentacje


Prezentacja na temat: "XPrince: Równoważenie zwinności i dyscypliny"— Zapis prezentacji:

1 XPrince: Równoważenie zwinności i dyscypliny
Inżynieria oprogramowania, Wykład 15 XPrince: Równoważenie zwinności i dyscypliny „Trabrennen” w Austrii

2 Kryzys oprogramowania
Syndrom LOOP Loop Loop is dangerous. L O P ate oor quality ver budget vertime J.Nawrocki, XPrince

3 Podejście bazujące na dyscyplinie
Więcej dyscypliny! Wymag. Projekt Kod Testy 1 2 3 4 5 CMM IEEE Std ISO 9000 J.Nawrocki, XPrince

4 Dyscyplina w zarządzaniu projektami
Managing Successful Projects with PRINCE 2 1975: PROMPT, Simpact Systems Ltd 1979: PROMPT staje się standardem CCTA CCTA = the Central Computer and Telecommunications Agency, UK 1989: CCTA wprowadza PRINCE PRINCE = PRojects IN Controlled Environments 1996: CCTA publikuje PRINCE2 J.Nawrocki, XPrince

5 Nadmierna dyscyplina zabija inicjatywę i elastyczność
J.Nawrocki, XPrince

6 Zwinne wytwarzanie oprogramowania – lata 90-te
O K Działające oprogr. Ludzie i komunikacja Współpracujący klient Reagowanie na zmiany Tommorow or never! J.Nawrocki, XPrince

7 "XP jest dzisiaj najważniejszym ruchem w IO."
Extreme Programming (XP) = lekka (zwinna) metodyka rozwoju oprogramowania "XP jest dzisiaj najważniejszym ruchem w IO." Tom DeMarco J.Nawrocki, XPrince

8 Silna orientacja na klienta Przyrosty i krótkie wydania
XP Cenne praktyki XP: Silna orientacja na klienta Przyrosty i krótkie wydania Testy przed kodowaniem Refaktoryzacja Gra planistyczna etc. J.Nawrocki, XPrince

9 XP No silver bullet! Frederick P. Brooks IBM OS/360 Manager (1964-65)
J.Nawrocki, XPrince

10 Założenie „on-site customer” Brak spisanej dokumentacji
Słabości Dyscyplina (Celebra ) Zwinność (XP) Nadmiar papierów Powolny proces decyz. Mała elastyczność Opór przed zmianą Założenie „on-site customer” Brak spisanej dokumentacji Zbyt krótka perspektywa planu J.Nawrocki, XPrince

11 Rozwiązanie Barry Boehm Richard Turner Balancing Agility and Discipline A Guide for the Perplexed „każde skuteczne przedsięwzięcie w zmieniającym się świecie wymaga zarówno zwinności, jak i dyscypliny” Addison-Wesley, 2004. J.Nawrocki, XPrince

12 Studio Rozwoju Oprogramowania
Politechnika Poznańska Wydział Informatyki i Zarządzania Studio Rozwoju Oprogramowania (od 1998) Produkty programist. Transfer technologii: Dobre praktyki Metody i narzędzia Wzorce dokumentów J.Nawrocki, XPrince

13 Rational Unified Process
Źródła XPrince PRINCE 2 Rational Unified Process XPrince eXtreme Programming in controlled environments XP J.Nawrocki, XPrince

14 „Trabrennen” w Austrii
Plan prezentacji Wstęp Struktura zespołu Cykl życia projektu Inżynieria wymagań i UC Workbench Rozwój oprogramowania „Trabrennen” w Austrii J.Nawrocki, XPrince

15 „Trabrennen” w Austrii
Plan prezentacji Wstęp Struktura zespołu Cykl życia projektu Inżynieria wymagań i UC Workbench Rozwój oprogramowania „Trabrennen” w Austrii J.Nawrocki, XPrince

16 Zespół XP Coach Tracker Tester Klient Programiści J.Nawrocki, XPrince

17 Zespół Zarządzania Projektem w PRINCE2
Komitet sterujący Główny użytkownik Przewodn. Główny dostawca J.Nawrocki, XPrince

18 Zespół Zarządzania Projektem w PRINCE2
Komitet sterujący Główny użytkownik Przewodn. Główny dostawca Raport Plan Kierownik projektu J.Nawrocki, XPrince

19 Zespół Zarządzania Projektem w PRINCE2
Komitet sterujący Główny użytkownik Przewodn. Główny dostawca Raport Nadzór projektu Plan Kierownik projektu J.Nawrocki, XPrince

20 Zespół Zarządzania Projektem w PRINCE2
Komitet sterujący Główny użytkownik Przewodn. Główny dostawca Raport Nadzór projektu Plan Kierownik projektu Grupa zad. Wsparcie projektu Raport Kierownik Zespołu Kierownik zesp. Kierownik Zespołu J.Nawrocki, XPrince

21 Role w RUP Kierownik projektu Tester Architekt Programista Analityk
J.Nawrocki, XPrince

22 Zespół XPrince XP Prince 2 Komitet sterujący Główny użytkownik
Przewodn. Główny dostawca Nadzór projektu Kierownik = Coach Analityk=Klient Architekt Kierownik Zespołu Programiści Kierownik Zespołu J.Nawrocki, XPrince

23 „Trabrennen” w Austrii
Plan prezentacji Wstęp Struktura zespołu Cykl życia projektu Inżynieria wymagań i UC Workbench Rozwój oprogramowania „Trabrennen” w Austrii J.Nawrocki, XPrince

24 Cykl życia wg PRINCE2 16.10 27.11 23.01 8.04 27.05 17.06 1.07 Przyg. założ. proj. Inicjowanie projektu Etap 1 Etap 2 Etap 3 Etap 4 Zamk. Projektu J.Nawrocki, XPrince

25 Cykl życia wg XP Wydanie 1 Wydanie 2 Przyrost 1 Przyrost 2 Przyrost 1
J.Nawrocki, XPrince

26 Fazy wg RUP Rozpoczęcie Rozpracowanie Konstrukcja Wdrożenie
J.Nawrocki, XPrince

27 Modelowanie biznesowe
Cykl życia wg XPrince 16.10 27.11 23.01 8.04 27.05 17.06 8.07 Przyg. założ. proj. Cel i zakres Architek tura Wydanie 1 Wydanie 2 Wydanie 3 Zamkn. Projektu Modelowanie biznesowe Przyrost 1 Zakres Przyrost 2 Wdroż. J.Nawrocki, XPrince

28 „Trabrennen” w Austrii
Plan prezentacji Wstęp Struktura zespołu Cykl życia projektu Inżynieria wymagań i UC Workbench Rozwój oprogramowania „Trabrennen” w Austrii J.Nawrocki, XPrince

29 Edycja przypadków użycia Generowanie prototypów typu mockup . . .
Przypadek użycia Wstępna rejestracja artykułu Scenariusz główny 1. System presents a registration form. 2. Author fills the form in. 3. System validates the data and returns a login and password. Rozszerzenia 3a. The data are in wrong format. 3a1. System displays a message and returns to step 2. Edycja przypadków użycia Generowanie prototypów typu mockup . . . J.Nawrocki, XPrince

30 Ekran prototypu wygenerowanego przez UC Workbench
J.Nawrocki, XPrince

31 „Trabrennen” w Austrii
Plan prezentacji Wstęp Struktura zespołu Cykl życia projektu Inżynieria wymagań i UC Workbench Rozwój oprogramowania „Trabrennen” w Austrii J.Nawrocki, XPrince

32 Programować parami czy indywidualnie?
Programowanie indywidualne - Ind 1 osoba – 1 komputer – 1 zadanie Programowanie parami - XP 2 osoby – 1 komputer – 1 zadanie Programowanie Side-by-Side - SbS 2 osoby – 2 komputery – 1 zadanie J.Nawrocki, XPrince

33 Aplikacje internetowe System zarządzania artykułami konf. PapersOnLine
Zadania i proces Aplikacje internetowe System zarządzania artykułami konf. PapersOnLine 6 dni, około 8 godz. dziennie: Dzień 0 „Praca domowa” Dzień 1 Sprawdzian znajomości technologii Dzień 2 Pomiar indywidualnej prędkości program. Dni 3-4 Zdobywanie dośw. w programowaniu parami Dni 5-6 Właściwy eksperyment i pomiar czasu J.Nawrocki, XPrince

34 Średni CZAS programowania
SbS XP Ind Ind XP SbS J.Nawrocki, XPrince

35 Średnia PRACOCHŁONNOŚĆ programowania
SbS XP Ind Ind XP SbS J.Nawrocki, XPrince

36 Programować parami czy indywidualnie?
Wniosek: Elastyczna metodyka programowania powinna udostępniać wszystkie ‘tryby’ programowania: indywidualny, programowanie parami w stylu XP i programowanie Side-by-Side. XP SbS J.Nawrocki, XPrince

37 Integracja powtórnego użycia i test-first coding
public void testStack(){ for (int k=0; k <10; k++){ call(„wloz", k, DONT_CARE); } for (int k = 0; k < 10; k++){ call(„zdejmij", 9 - k); Przykładowe zapytanie J.Nawrocki, XPrince

38 Integracja powtórnego użycia i test-first coding
Wynik wyszukiwania java.util.Stack wloz = void push(Object) zdejmij = Object pop() J.Nawrocki, XPrince

39 Prosty eksperyment Opis w języku naturalnym 9 programistów
public void testStack(){ for (int k=0; k <10; k++){ call(„wloz", k, DONT_CARE); } for (int k = 0; k < 10; k++){ call(„zdejmij", 9 - k); JUnit Przeprowadziliśmy także eksperyment: 9 programistom przedstawiliśmy tekstowy opis funkcjonalności 10 nieskomplikowanych jednostek programowych. Następnie poprosiliśmy, o dostarczenie podstawowych testów, których użyli by do znalezienia tych jednostek przy użyciu omawianej metody. 9 programistów 10 jednostek do znal. J.Nawrocki, XPrince

40 Prosty eksperyment - wyniki
9 z 10 jednostek – Poprawna i jednoznaczna charakterystyka ‘Trudna’ jednostka – klasa manipulująca łańcuchami Okazało się, że w 9/10 przypadków programiści jednoznacznie i poprawnie zidentyfikowali za pomocą swoich przypadków testowych poszukiwaną funkcję w testowym repozytorium. Jedynym problemem okazała się klasa reprezentująca łańcuch z możliwością dopasowywania do wyrażeń regularnych. 4 programistów założyło, że powinna ona mieć statyczną metodę biorąca dwa parametry: łańuch i wyrażenie regularne, podczas, gdy w rzeczywistej klasie łańcuch był ustawiany na etapie konstrukcji obiektu, a metoda match przyjmowała jeden argument. J.Nawrocki, XPrince

41 Podsumowanie Kombinacja zwinnej metodyki (XP) ze zdyscyplinowaną (PRINCE2 i RUP) jest możliwa Wsparcie narzędziowe (UC Workbench) jest ważne Elastyczne podejście do programowania parami Kombinacja powtórnego użycia z test-first coding. At last! J.Nawrocki, XPrince

42 Pytania? ? J.Nawrocki, XPrince


Pobierz ppt "XPrince: Równoważenie zwinności i dyscypliny"

Podobne prezentacje


Reklamy Google