Lekkie metodyki programowania: Szansa czy zagrożenie?

1 Lekkie metodyki programowania: Szansa czy zagrożenie?In...
Author: Bogusław Błądek
0 downloads 2 Views

1 Lekkie metodyki programowania: Szansa czy zagrożenie?Innowacje w realizacji przedsięwzięć informatycznych Lekkie metodyki programowania: Szansa czy zagrożenie? Jerzy Nawrocki Politechnika Poznańska Copyright, 2003 © Jerzy R. Nawrocki

2 Syndrom LOOP Loop L ate (późno) O ver budget (przekroczony budżet) Pvertime (nadgodziny) oor quality (kiepska jakość)

3 Plan wystąpienia ISO 9001 CMM Manifest zwinności Programowanie Ekstremalne Studio Rozwoju Oprogramowania

4 Plan wystąpienia ISO 9001 CMM Manifest zwinnościProgramowanie Ekstremalne Studio Rozwoju Oprogramowania

5 ISO 9001 Kryte- ria Dobrzy Źli Audytor

6 ISO 9001 Kryte- ria Dobrzy Źli Audytor

7 Dokumentacja w ISO 9001 Polityka jakości i cele jakości Księga jakościUdokumentowane procedury wymagane przez standard Plany jakości, udokumentowane procedury, instrukcje pracy Zapisy

8 Problemy z ISO 9001 ISO ISO Zabieg marketingowyBrak elastyczności działania ISO Udokumentowane = lepsze Zbyt dużo dokumentacji Zbyt ogólne

9 Plan wystąpienia CMM ISO 9001 Manifest zwinnościProgramowanie Ekstremalne Studio Rozwoju Oprogramowania

10 CMM: Capability Maturity ModelOrganizacje programistyczne SEI, Pittsburg, USA 5. Optymalizujący 4. Zarządzany ilościowo 3. Zdefiniowany 2. Zarządzany (powtarzalny) 1. Początkowy

11 CMM: Capability Maturity Model~ 1% Motorola, Kraków 5. Optymalizujący 4. Zarządzany ilościowo ~ 30% 3. Zdefiniowany 2. Zarządzany (powtarzalny) 1. Początkowy

12 CMM: Capability Maturity ModelCele Praktyki Zarządzanie wymaganiami Planowanie przedsięwzięcia Śledzenie postępów Zarządzanie podzleceniami Zapewnienie jakości Zarządzanie konfiguracją Pomiary i analiza 5. Optymalizujący 4. Zarządzany ilościowo 3. Zdefiniowany 2. Zarządzany (powtarzalny) 1. Początkowy

13 Procedury dla CMM Poziom 2przeglądy zobowiązań zewnętrznych opracowywanie planu przedsięwzięcia szacowanie rozmiaru, pracochłonności, kosztu, krytycznych zasobów obliczeniowych i harmonogramu dokonywanie zmian w planie przeglądy przedsięwzięcia przy kamieniach milowych planowanie zapewnienia jakości . . . x 13

14 CMM: Capability Maturity Model5. Optymalizujący 4. Zarządzany ilościowo ISO = CMM 2.5 3. Zdefiniowany 2. Zarządzany (powtarzalny) 1. Początkowy

15 Problemy z ISO i CMM Za dużo papierów! Za dużo zebrań!

16 Plan wystąpienia Manifest zwinności ISO 9001 CMMProgramowanie Ekstremalne Studio Rozwoju Oprogramowania

17 ISO i CMM

18 Potrzeba czegoś lżejszego ...

19 Manifest zwinności (Agile Manifesto)Luty 2001, Snowbird, Utah, 17 osób Kent Beck (karty CRC, xUnit, XP) Alistair Cockburn (rodzina metodyk Crystal) Marin Fowler (refaktoryzacja, UML Distilled) Jim Highsmith (Adaptive Software Development)

20 Manifest zwinności Ważniejsze:Jednostki i interakcje niż procesy i narzędzia Działające oprogramowanie niż obszerna dokumentacja Współpraca klienta niż negocjacja kontraktu Nadążanie za zmianami niż trzymanie się planu

21 Programowanie EkstremalnePlan wystąpienia ISO 9001 CMM Manifest zwinności Programowanie Ekstremalne Studio Rozwoju Oprogramowania

22 Programowanie EkstremalneProgramowanie Ekstremalne (XP) = lekka (zwinna) metodyka tworzenia oprogramowania Tom DeMarco „XP jest dzisiaj najważniejszym ruchem w IO."

23 Programowanie EkstremalneXP 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!

24 Programowanie EkstremalneWybrane praktyki XP: Klient na miejscu Krótkie przyrosty i wydania Najpierw przypadki testowe potem kod Automatyzacja wykonywania testów Ciągła integracja Programowanie parami

25 Programowanie EkstremalneSłabości XP: brak dokumentacji klient „na miejscu” i tylko jeden zbyt krótka perspektywa planowania Jak rozwiązać te problemy i zachować zwinność?

26 Liczba zaangażowanych osóbMatryca projektów Krytyczność Defekty skutkują utratą L6 L20 L40 L100 L200 L500 E6 E20 E40 E100 E200 E500 D6 D20 D40 D100 D200 D500 C6 C20 C40 C100 C200 C500 1-6 -20 -40 -100 -200 -500 Życia (L) Dużych pieniędzy (E) Małych pieniędzy (D) Komfortu (C) Liczba zaangażowanych osób

27 Rodzina metodyk CristalClear Yellow Orange Red Alistair Cockburn

28 Studio Rozwoju OprogramowaniaPlan wystąpienia ISO 9001 CMM Manifest zwinności Programowanie Ekstremalne Studio Rozwoju Oprogramowania

29 Studio Rozwoju OprogramowaniaOd 1998 Część programu Master in Software Engineering Corocznie 11 przedsięwzięć realizowanych w zespołach 8-osobowych (III + IV + V rok) OK

30 Metoda PRINCE 2 PRINCE = PRojects IN Controlled EnvironmentsCCTA = the Central Computer and Telecommunications Agency, UK PRINCE 2 wspiera ISO 9001.

31 Łączenie XP z PRINCE 2 PRINCE 2 Programowanie EkstremalneKierownik Zespołu Zarząd Przedsięwzięcia Reprezentant użytkowników Dyrektor Reprezentant dostawcy Kier.Przeds. = Trener Kontrola Przedsięwzięcia Programiści Pomocnik = Tropiciel Kier.Prod. = Klient + Tester PRINCE 2 Programowanie Ekstremalne

32 Studio Rozwoju OprogramowaniaBartek Adam Zarząd Przedsięwzięcia Reprezentant użytkowników Dyrektor Reprezentant dostawcy V rok Kontrola Przedsięwzięcia IV rok Kierownik Przedsięwzięcia IV rok Kierownik Produktu Pomocnik Kierownika III rok (praca inż.) Kierownik Zespołu Programiści Kierownik Zespołu

33 Pytania? ?