Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Programowanie Ekstremalne

Podobne prezentacje


Prezentacja na temat: "Programowanie Ekstremalne"— Zapis prezentacji:

1 Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Organizacja Procesów Programowych Wykład 1, 24.II.2003 Programowanie Ekstremalne Copyright, 2003 © Jerzy R. Nawrocki Organizacja Procesów Programowych, Wykład 1

2 J. Nawrocki, Programowanie Ekstremalne
Wstęp Syndrom LOOP Loop L O P ate (późno) ver budget (przekroczony budżet) vertime (nadgodziny) oor quality (kiepska jakość) J. Nawrocki, Programowanie Ekstremalne

3 J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Wstęp ISO 9000 Kryte- ria Good guys Auditor Bad guys J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

4 CMM – Capability Maturity Model
Wstęp CMM – Capability Maturity Model Departament Obrony USA SEI, Carnegie-Mellon Univ. CMMI: grudzień, 2000 CMM J. Nawrocki, Programowanie Ekstremalne

5 Procedury dla CMM Poziom 2
Wstęp Procedury dla CMM Poziom 2 przeglądy zobowiązań zewnętrznych opracowywanie planu przedsięwzięcia szacowanie rozmiaru, pracochłon-ności, kosztu, krytycznych zasobów obliczeniowych i harmonogramu dokonywanie zmian w planie przeglądy przedsięwzięcia przy kamieniach milowych planowanie zapewnienia jakości Proc x 13 J. Nawrocki, Programowanie Ekstremalne

6 J. Nawrocki, Programowanie Ekstremalne
Wstęp J. Nawrocki, Programowanie Ekstremalne

7 J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Wstęp Problemy Za dużo papierów! Za dużo zebrań! J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

8 J. Nawrocki, Programowanie Ekstremalne
Wstęp J. Nawrocki, Programowanie Ekstremalne

9 J. Nawrocki, Programowanie Ekstremalne
Wstęp J. Nawrocki, Programowanie Ekstremalne

10 J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Wstęp XP Zbawca Zawsze to mówiłem! Najważniejsza komunikacja ustna. Jedyne artefakty: kod + testy IEEE/ANSI standard 830/1993? Zbędny! Inspekcje Fagana? Zbędne! Punkty funkcyjne? Zbędne! Żadnych nadgodzin! J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

11 Model dojrzałości dla XP
Wstęp Model dojrzałości dla XP 4. Dojrzały Wydajność procesu 3. Zaawansowany Programowanie parami 2. Początkowy Relacje z klientem (CRM) Zapewnienie jakości produktu 1. Zupełnie niezgodny J. Nawrocki, Programowanie Ekstremalne

12 J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Plan wykładu Relacje z klientem Zapewnienie jakości Programowanie parami Minimalne pomiary J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

13 Zadbaj o efektywną współpracę
Relacje z klientem Zadbaj o efektywną współpracę Nie musisz być wydajny, byleś był skuteczny Klient powinien cały czas pracować z zespołem Uczyń klienta swoim przywódcą („co robić” ważniejsze niż „jak robić”) J. Nawrocki, Programowanie Ekstremalne

14 J. Nawrocki, Programowanie Ekstremalne
Role w XP Klient Programista Tester Tropiciel Trener J. Nawrocki, Programowanie Ekstremalne

15 Organizacja zespołu SDS
Zarząd przedsięwzięcia Reprez. użytkow-nika Dyrektor przedsię-wzięcia Reprez. dostawcy AW | BW Promotor Zapewnianie jakości Studenci 5. roku Kierownik przedsięwzięcia Student 4. roku Kierownik produktu Student 4. roku Zespół Studenci 3. roku J. Nawrocki, Programowanie Ekstremalne

16 Opowieści użytkownika
Relacje z klientem Opowieści użytkownika Muszę napisać opowieść. Opowieść: Jest wstępem do rozmowy. Jest krótka. Opisuje funkcję/cechę systemu. Ma wartość dla klienta. Musi być testowalna. It was not OK. J. Nawrocki, Programowanie Ekstremalne

17 Opowieści użytkownika
(c) Jerzy Nawrocki 24 lutego 2003 Relacje z klientem Opowieści użytkownika Data: Typ: Nowa: X Naprawa:__ Rozbudowa:__ Numer opowieści: 23 OPOWIEŚĆ: Dla każdego konta oblicz saldo dodając wszystkie wpłaty i odejmując wszystkie wypłaty. Rozmiar: J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

18 Stosuj częste krótkie wydania
Relacje z klientem Stosuj częste krótkie wydania Pierwsze wydanie sterowca gotowe! Wydania SDS: 17.4: Wydanie I 19.6: Wydanie II Wydanie: Ma wartość użytkową. Trafia do użytkowników końcowych. J. Nawrocki, Programowanie Ekstremalne

19 Wydanie podziel na przyrosty
Relacje z klientem Wydanie podziel na przyrosty Przyrost: Niepusty zbiór opowieści użytkownika. Charakter wewnętrzny (nie trafia do użytkownika końcowego). 2 – 3 tygodnie (70%). SDS: 3 tyg. Przyrost II Przyrost I J. Nawrocki, Programowanie Ekstremalne

20 Struktura przyrostu wg RUP
(c) Jerzy Nawrocki 24 lutego 2003 Relacje z klientem Struktura przyrostu wg RUP Przyrost Analiza wymagań Projekt Elaboration iteration 2 Kodowanie, testy jednost. Testy systemu i podsys. J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

21 Znajdź metaforę dla systemu
Relacje z klientem Znajdź metaforę dla systemu Sterowiec? To taka łódka, tyle, że pływa w powietrzu a nie po wodzie. Metafora: Wyjaśnia działanie systemu w terminach zrozumiałych dla klienta. J. Nawrocki, Programowanie Ekstremalne

22 J. Nawrocki, Programowanie Ekstremalne
Relacje z klientem Stosuj grę planistyczną „Aby rzeczy pierwsze były pierwsze” – S. Covey J. Nawrocki, Programowanie Ekstremalne

23 Gra planistyczna - strategia J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Relacje z klientem Gra planistyczna - strategia Minimalna inwestycja. Minimalny czas realizacji. Najbardziej wartościowe funkcje. J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

24 J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Relacje z klientem Planowanie wydania Klient Informatycy Klient 6 h More colors 9 h More func. More colors 9 godz More colors Pisze opowieści użyt. Pracochł., ryzyko prędkość Wybiera zakres J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

25 J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Relacje z klientem Planowanie wydania Szacują opowieść Informatycy It was not OK. Za duża! Dzieli opowieść Klient It was not OK. Klient It was not OK. Pisze opowieść J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

26 J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Relacje z klientem Planowanie iteracji Głównymi decydentami są informatycy. 1. Podział zbioru opowieści na zadania (burza mózgów). 2. Podejmowanie się realizacji zadań ( < prędkość). Iteracja o zerowej funkcjonalności. .. jak informatyk z informatykiem. J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

27 J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Relacje z klientem Faza realizacji Trudności (Informatycy) Nowe funkcje (Klient) Re-estymacja (Informatycy) J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

28 J. Nawrocki, Programowanie Ekstremalne
Relacje z klientem Mierz prędkość projektu (pracochłonność/przyrost) - tropiciel Eksperymentuj by zmniejszyć ryzyko Nie poszerzaj funkcjonalności zbyt wcześnie Wciąż tworzę dzieła wiekopomne, O których jutro ... sam zapomnę. Czy nie widać jakiś zagrożeń? J. Nawrocki, Programowanie Ekstremalne

29 J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Plan wykładu Relacje z klientem Zapewnianie jakości Programowanie parami Minimalne pomiary J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

30 J. Nawrocki, Programowanie Ekstremalne
Zapewnianie jakości Dbaj o prostotę Co pewien czas dokonuj refaktoryzacji Unikaj optymalizacji Dla każdej jednostki kodu opracuj NAJPIERW zestaw testów, potem pisz kod. J. Nawrocki, Programowanie Ekstremalne

31 J. Nawrocki, Programowanie Ekstremalne
Zapewnianie jakości Kod musi przejść wszystkie testy jednostkowe zanim przekażesz go do eksploatacji Dla każdego wykrytego błędu utwórz zestaw testów Często integruj kod Często wykonuj testy akceptacyjne i publikuj ich wyniki J. Nawrocki, Programowanie Ekstremalne

32 J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Plan wykładu Relacje z klientem Zapewnianie jakości Programowanie parami Minimalne pomiary J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

33 J. Nawrocki, Programowanie Ekstremalne
Programowanie parami Ma być x==y if (x=y) z=0; Autor Recenzent J. Nawrocki, Programowanie Ekstremalne

34 J. Nawrocki, Programowanie Ekstremalne
Programowanie parami Po pewnym czasie.. Jak to testować? x-=y; else Recenzent Autor J. Nawrocki, Programowanie Ekstremalne

35 J. Nawrocki, Programowanie Ekstremalne
Programowanie parami Cały produkt jest kodowany w parach. Standard kodowania. Częste integracje. Tylko jedna para integruje kod w danej chwili. Pary się zmieniają. Error J. Nawrocki, Programowanie Ekstremalne

36 J. Nawrocki, Programowanie Ekstremalne
Programowanie parami Kod jest własnością całego zespołu. System zarządzania wersjami ! Automatyczne testowanie. Otwarta przestrzeń pracy dla zespołu. Error J. Nawrocki, Programowanie Ekstremalne

37 J. Nawrocki, Programowanie Ekstremalne
(c) Jerzy Nawrocki 24 lutego 2003 Plan wykładu Relacje z klientem Zapewnianie jakości Programowanie parami Minimalne pomiary J. Nawrocki, Programowanie Ekstremalne Organizacja Procesów Programowych, Wykład 1

38 J. Nawrocki, Programowanie Ekstremalne
Minimalne pomiary Kolekcjonowanie opowieści użytkownika. Prędkość projektu i poszczególnych osób w kolejnych tygodniach i przyrostach. Liczba próbnych rozwiązań. Obecność klienta na spotkaniach planistycznych i przy akceptacji. Data każdego testu akcept. Data i godzina każdej integracji. Wykryte błędy i ich testy identyfik. J. Nawrocki, Programowanie Ekstremalne

39 J. Nawrocki, Programowanie Ekstremalne
Podsumowanie XP jest lekką metodyką programowania Małe przedsięwzięcia programistyczne (do 10 osób). Podstawowe czynniki ryzyka: brak dokumentacji – pielęgnacja produktu, problemy z dostępnością klienta, tylko 1 przedstawiciel klienta. Wreszcie! J. Nawrocki, Programowanie Ekstremalne


Pobierz ppt "Programowanie Ekstremalne"

Podobne prezentacje


Reklamy Google