Lekkie metodyki programowania: Szansa czy zagrożenie?

Slides:



Advertisements
Podobne prezentacje
Agile w praktyce, czyli jak to robimy naprawdę
Advertisements

Programowanie Ekstemalne
Opis metodyki i procesu produkcji oprogramowania
Programowanie Ekstremalne
JAKOŚĆ & Metody Jej Pomiaru
Zarządzanie projektem informatycznym ZPR
Zarządzanie przedsięwzięciami i PRINCE2
EXtreme Programming » Magdalena Tchorzewska.
Jerzy Nawrocki Piotr Pawałowski Krzysztof Pospiech
Próba eksperymentalnej oceny metody PROBE
Na Etapie Inżynierii Wymagań
ISO 9001:2000 z perspektywy CMMI a poznańska rzeczywistość
Dokumentowanie wymagań w języku XML
Inżynieria oprogramowania II Wykład 5 Standardy serii ISO 9000
Inżynieria oprogramowania II Wykład 4 Normy serii ISO 9000
Inżynieria oprogramowania Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Zwinne metodyki programowania
Szacowanie rozmiaru i pracochłonności
Inżynieria oprogramowania II Wykład 12 Projekty dyplomowe
Zarządzanie konfiguracją Doskonalenie Procesów Programowych Wykład 6 Copyright, 2001 © Jerzy.
Wprowadzenie do przedmiotu
Model dojrzałości CMMI
Copyright © Jerzy R. Nawrocki Standardy serii ISO Inżynieria oprogramowania II Wykład.
Zwinne metodyki programowania Copyright, 2006 © Jerzy R. Nawrocki Inżynieria oprogramowania.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
Wykład 1 Inżynieria oprogramowania II Wykład 1 Wprowadzenie
Inżynieria Oprogramowania Copyright, 2002 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Personal Software Process
XPrince: Równoważenie zwinności i dyscypliny
J. Nawrocki, Inżynieria oprog. Plan wykładu Praktyki XP Wcześniejsze badania Personal Software Process eXtremme Programming Opis eksperymentu WynikiPodsumowanie.
Analiza i walidacja wymagań
Copyright © Jerzy R. Nawrocki Zbieranie wymagań Analiza systemów informatycznych Wykład.
Copyright © Jerzy R. Nawrocki Wprowadzenie Analiza systemów informatycznych Wykład.
Inżynieria oprogramowania II Wykład 10 PRINCE2 i TSP
Testy akceptacyjne Analiza systemów informatycznych Wykład 9
Modelowanie i język UML
Dyscyplina i zwinność w projektach informatycznych
Dyscyplina i zwinność w projektach informatycznych (cz. 2)
Informatyka jako dziedzina wiedzy Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Copyright © Jerzy R. Nawrocki Personal Software Process Inżynieria oprogramowania II Wykład.
Testowanie oprogramowania
Zarządzanie przedsięwzięciami i PRINCE2
Model jakości CMM/CMMI
Pomiary w inżynierii oprogramowania
Metodyki Lekkie Agile Methodologies
Continuous Integration
Microsoft Solution Framework
Inżynieria Oprogramowania Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Pomiary procesów programistycznych Copyright, 2002 © Jerzy R. Nawrocki Zarządzanie jakością.
Copyright © Jerzy R. Nawrocki Kontrola jakości oprogramowania Inżynieria oprogramowania.
Systemy informatyczne
Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Jakość w projektach studenckich Paweł Polaczyk. Paweł Polaczyk, Jakość w projektach studenckich 2/12 Plan prezentacji Informacje ogólne Jakość Zagrożenia.
1 PROINFO System zarządzania informacją o przedsięwzięciu informatycznym Seminarium dyplomowe 2004 WIiZ Politechnika Poznańska.
ŁUKASZ DZWONKOWSKI Modele zwinne i ekstremalne. Podejście tradycyjne
Zarządzanie projektami informatycznymi
(c) Jerzy Nawrocki Jerzy Nawrocki
Agile Manifesto Manifest Zwinnego Wytwarzania Oprogramowania
Wprowadzenie do teoretycznych podstaw informatyki Copyright, 2004 © Jerzy R. Nawrocki
Copyright © Jerzy R. Nawrocki Team Software Process Inżynieria oprogramowania II Wykład.
Innowacyjne metody zarządzania jakością oprogramowania Przeglądy oprogramowania i standard IEEE 1028 Bartosz Michalik
Inżynieria oprogramowania
Wprowadzenie do teoretycznych podstaw informatyki
Zarządzanie projektami informatycznymi
Zarządzanie projektami
IEEE SPMP Autor : Tomasz Czwarno
Kontrola jakości Inżynieria oprogramowania II
Jerzy Nawrocki Adam Wojciechowski
Inżynieria oprogramowania II Wykład 5 Model CMMI
Zapis prezentacji:

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 Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/ Copyright, 2003 © Jerzy R. Nawrocki

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

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

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

ISO 9001 Kryte- ria Dobrzy Źli Audytor

ISO 9001 Kryte- ria Dobrzy Źli Audytor

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

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

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

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

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

CMM: Capability Maturity Model Cele 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

Procedury dla CMM Poziom 2 przeglą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

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

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

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

ISO i CMM

Potrzeba czegoś lżejszego ...

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)

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

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

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

Programowanie Ekstremalne 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!

Programowanie Ekstremalne Wybrane 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

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

Liczba zaangażowanych osób Matryca 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

Rodzina metodyk Cristal Clear Yellow Orange Red Alistair Cockburn

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

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

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

Łączenie XP z PRINCE 2 PRINCE 2 Programowanie Ekstremalne Kierownik 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

Studio Rozwoju Oprogramowania Bartek 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

Pytania? ?