Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf ·...

65
Metodyki zwinne wytwarzania oprogramowania Wyklad 1 Marcin Mlotkowski 5 października 2016

Transcript of Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf ·...

Page 1: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Metodyki zwinne wytwarzania oprogramowaniaWykład 1

Marcin Młotkowski

5 października 2016

Page 2: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnychOrganizacja pracowni

Plan wykładu

1 Sprawy organizacyjneOrganizacja pracowni

2 WstępWprowadzenieZarządzanie projektem

3 Powstanie metodyk zwinnych

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 2 / 42

Page 3: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnychOrganizacja pracowni

O wykładzie i wykładowcy

Prowadzący

Marcin Młotkowskikonsultacje: środa 08:15–10:00, pok. 303

Strona wykładu

http://www.ii.uni.wroc.pl/˜ marcinm/dyd/zwinne/

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 3 / 42

Page 4: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnychOrganizacja pracowni

Cel wykładu

Wykład dostarczy wiadomości o zasadach programowaniazwinnego, o metodykach oraz ich zaletach i wadach. Wykładobejmuje również zasady projektowania obiektowego a także teorięi praktykę testowania. Zadaniem pracowni jest nabycie pewnejpraktyki w stosowaniu zasad zwinnych, w szczególności pracyzespołowej.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 4 / 42

Page 5: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnychOrganizacja pracowni

Plan wykładu

Ogólne zasady zwinnego wytwarzania oprogramowaniaPlanowanie działaniaWspółpraca z użytkownikiem: określanie wymagańfunkcjonalnych i niefunkcjonalnychRola testowania w programowaniu zwinnymWzorce projektoweUdoskonalanie kodu

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 5 / 42

Page 6: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnychOrganizacja pracowni

Literatura I

Alistar Cockburn.Agile Software Development. Gra zespołowa.Wydawnictwo Helion, 2008.

Martin Fowler.Refaktoryzacja.Wydawnictwa Naukowo–Techniczne, 2006.

Erich Gamma, Richard Helm, Ralph Johnson, and JohnVilissides.Wzorce Projektowe.Wydawnictwa Naukowo–Techniczne, 2005.

Ron Jeffries.Programowanie ekstremalne w C#.Microsoft Press, 2005.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 6 / 42

Page 7: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnychOrganizacja pracowni

Literatura II

Robert C. Martin and Micah Martin.Agile. Programowanie zwinne: zasady, wzorce i praktykizwinnego wytwarzania oprogramowania w C ].Wydawnictwo Helion, 2008.

Ken Schwaber.Agile project management with SCRUM.Microsoft Press, 2004.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 7 / 42

Page 8: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnychOrganizacja pracowni

Do poczytania

Frederick Brooks.The Mythical Man-Month.

Jason Fried and David Heinemeier Hansson.ReWork: Change the Way You Work Forever.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 8 / 42

Page 9: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnychOrganizacja pracowni

Podział na zespoły

podział na grupy 3-osobowe;praca podczas pracowni;

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 9 / 42

Page 10: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Plan wykładu

1 Sprawy organizacyjneOrganizacja pracowni

2 WstępWprowadzenieZarządzanie projektem

3 Powstanie metodyk zwinnych

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 10 / 42

Page 11: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Pomieszanie pojęć

metodyka, metodologia, zarządzanie projektami

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 11 / 42

Page 12: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Słownik

Projekt

Zorganizowane działanie zmierzające do osiągnięcia zamierzonegocelu.

Cechy:

projekt ma założony czas trwania;projekt jest unikatowy;projekt ma cele;projekt potrzebuje zasobów;projekt jest obarczony ryzykiem.

Proces

Powtarzalny ciąg czynności, bez zaplanowanego końca.Przykładem może być wyprodukowanie partii towaru na liniiprodukcyjnej.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 12 / 42

Page 13: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Słownik

Projekt

Zorganizowane działanie zmierzające do osiągnięcia zamierzonegocelu. Cechy:

projekt ma założony czas trwania;projekt jest unikatowy;projekt ma cele;projekt potrzebuje zasobów;projekt jest obarczony ryzykiem.

Proces

Powtarzalny ciąg czynności, bez zaplanowanego końca.Przykładem może być wyprodukowanie partii towaru na liniiprodukcyjnej.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 12 / 42

Page 14: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Słownik

Projekt

Zorganizowane działanie zmierzające do osiągnięcia zamierzonegocelu. Cechy:

projekt ma założony czas trwania;projekt jest unikatowy;projekt ma cele;projekt potrzebuje zasobów;projekt jest obarczony ryzykiem.

Proces

Powtarzalny ciąg czynności, bez zaplanowanego końca.Przykładem może być wyprodukowanie partii towaru na liniiprodukcyjnej.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 12 / 42

Page 15: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Przykłady projektów

zaprojektowanie, implementacja i wdrożenie projektuinformatycznego;kampania marketingowa;prace remontowe;opracowanie nowego leku;...

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 13 / 42

Page 16: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Słownik, cd.

Metodyka zarządzania projektem

Standard zarządzania projektem.

Metodologia

Standard zarządzania projektem opracowany dla specyficznychdziedzin.

Na przykład badanie opinii publicznej w jakiejś sprawie za pomocąankiet telefonicznych.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 14 / 42

Page 17: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Słownik, cd.

Metodyka zarządzania projektem

Standard zarządzania projektem.

Metodologia

Standard zarządzania projektem opracowany dla specyficznychdziedzin.

Na przykład badanie opinii publicznej w jakiejś sprawie za pomocąankiet telefonicznych.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 14 / 42

Page 18: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Wniosek

Metodyki zarządzania projektem to nie tylko metodyki wprojektach informatycznych!

Przykłady uniwersalnych metodyk

PMI (Project Management Institute), PRINCE (Projects In aControlled Environment)

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 15 / 42

Page 19: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Najprostsza metodyka: horda Mongolska

Opis

Terminy gonią, więc zatrudniamy jak najwięcej osób.

Kiedy się sprawdza

Kopanie rowów.

Kiedy się nie sprawdza

Kopanie studni.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 16 / 42

Page 20: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Najprostsza metodyka: horda Mongolska

Opis

Terminy gonią, więc zatrudniamy jak najwięcej osób.

Kiedy się sprawdza

Kopanie rowów.

Kiedy się nie sprawdza

Kopanie studni.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 16 / 42

Page 21: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Najprostsza metodyka: horda Mongolska

Opis

Terminy gonią, więc zatrudniamy jak najwięcej osób.

Kiedy się sprawdza

Kopanie rowów.

Kiedy się nie sprawdza

Kopanie studni.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 16 / 42

Page 22: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Metodyka zarządzania vs metodyka wytwarzania

Metodyka zarządzania

Zarządzanie całym projektem.

Metodyka wytwarzania

Zarządzanie samym procesem wytwarzania produktu.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 17 / 42

Page 23: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Przykład metodyki wytwarzania: model kaskadowy

Specyfikacjawymagań

Implementacjasystemu

Testowaniesystemu

Wdrożeniesystemu

Projektsystemu

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 18 / 42

Page 24: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Kolejne iteracje w modelu kaskadowym

Specyfikacjawymagań

Implementacjasystemu

Testowaniesystemu

Wdrożeniesystemu

Projektsystemu

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 19 / 42

Page 25: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Niektóre cechy modelu kaskadowego

nie można przejść do kolejnej fazy przed zakończeniembieżącejiteracje są kosztownenieelastyczny podziałwymuszenie sporządzenia dokładnej specyfikacji przedrozpoczęciem projektowania i kodowania

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 20 / 42

Page 26: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Współpraca z klientem

klient za bardzo nie wie, czego chce;

klient nawet wie, czego chce, ale nie zna się naprogramowaniu;klient zmienia specyfikację

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 21 / 42

Page 27: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Współpraca z klientem

klient za bardzo nie wie, czego chce;klient nawet wie, czego chce, ale nie zna się naprogramowaniu;

klient zmienia specyfikację

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 21 / 42

Page 28: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Współpraca z klientem

klient za bardzo nie wie, czego chce;klient nawet wie, czego chce, ale nie zna się naprogramowaniu;klient zmienia specyfikację

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 21 / 42

Page 29: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Zmiany

Jedyną rzeczą stałą w projekcie są zmiany.

Przyczyny zmian

klient zmienił wymaganiaklient powiedział dokładnie o co mu chodzizmiana prawa

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 22 / 42

Page 30: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Zmiany

Jedyną rzeczą stałą w projekcie są zmiany.

Przyczyny zmian

klient zmienił wymaganiaklient powiedział dokładnie o co mu chodzizmiana prawa

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 22 / 42

Page 31: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Czym się zarządza w projekcie?

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 23 / 42

Page 32: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Klasyfikacja Project Management Institute

zarządzanie integracją projektu;zarządzanie zakresem projektu;zarządzanie czasem;zarządzanie kosztami;zarządzanie jakością;zarządzanie zasobami ludzkimi;zarządzanie komunikacją;zarządzanie ryzykiem;zarządzanie zaopatrzeniem.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 24 / 42

Page 33: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Zarządzanie integracją projektu

różne dziedziny (informatyka + ...)

różni specjaliści

planowanie projektu (sposób współpracy)

analiza ekonomiczna projektu.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 25 / 42

Page 34: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Zarządzanie zakresem

ustalenie celów strategicznych;

ustalenie kryteriów (czas, budżet, jakość);

podział na elementy i ich analiza.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 26 / 42

Page 35: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Zarządzanie czasem

ustalenie listy zadań i ich zależności;

oszacowanie czasu;

kontrola terminowości.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 27 / 42

Page 36: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Zarządzanie kosztami

koszty pracy;

koszty powierzchni biurowej;

koszty szkoleń, licencji etc;

kontrola kosztów.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 28 / 42

Page 37: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Zarządzanie jakością

kryteria jakości (produktu i procesu);

wdrożenie kontroli jakości;

analiza błędów

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 29 / 42

Page 38: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Zarządzanie zasobami ludzkimi

wiedza o umiejętnościach osób, brakach;

rozwijanie wiedzy zespołu;

stosunki międzyludzkie.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 30 / 42

Page 39: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Zarządzanie komunikacją

standardy wymiany informacji (wymagania, kody źródłoweetc);

kontrola wykonywanych zadań;

archiwizacja.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 31 / 42

Page 40: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Zarządzanie ryzykiem

identyfikacja zagrożeń (włamanie, awaria dysku);

usuwanie skutków zagrożeń;

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 32 / 42

Page 41: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

WprowadzenieZarządzanie projektem

Zarządzanie zaopatrzeniem

zaopatrzenie w materiały (np. specjalistyczny sprzęt);

zaopatrzenie w oprogramowanie i licencje, instalacja

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 33 / 42

Page 42: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Plan wykładu

1 Sprawy organizacyjneOrganizacja pracowni

2 WstępWprowadzenieZarządzanie projektem

3 Powstanie metodyk zwinnych

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 34 / 42

Page 43: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Inspiracje

duża liczba projektów zakończona niepowodzeniem

wady stosowanych metodyk

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 35 / 42

Page 44: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Inspiracje

duża liczba projektów zakończona niepowodzeniem

wady stosowanych metodyk

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 35 / 42

Page 45: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Sposób prowadzenia projektu: kaskada vs zwinne

Szczegółowe procedury i zaawansowane narzędzia do zarządzaniaprojektem.

Postawienie na współpracę i zaufanie

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 36 / 42

Page 46: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Sposób prowadzenia projektu: kaskada vs zwinne

Szczegółowe procedury i zaawansowane narzędzia do zarządzaniaprojektem.

Postawienie na współpracę i zaufanie

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 36 / 42

Page 47: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Specyfikacja projektu: kaskada vs zwinne

Wyczerpująca dokumentacja

Działające oprogramowanie

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 37 / 42

Page 48: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Specyfikacja projektu: kaskada vs zwinne

Wyczerpująca dokumentacja

Działające oprogramowanie

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 37 / 42

Page 49: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Współpraca z klientem: kaskada vs zwinne

Negocjacje kontraktu

Stała współpraca z klientem

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 38 / 42

Page 50: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Współpraca z klientem: kaskada vs zwinne

Negocjacje kontraktu

Stała współpraca z klientem

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 38 / 42

Page 51: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Organizacja projektu: kaskada vs zwinne

Trzymanie się planu

Reagowanie na zmiany

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 39 / 42

Page 52: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Organizacja projektu: kaskada vs zwinne

Trzymanie się planu

Reagowanie na zmiany

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 39 / 42

Page 53: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Rezultat tych zmian

W lutym 2001, w Snowbird (Utah)

spotkało się 17 deweloperów.

I napisało Agile Manifesto

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 40 / 42

Page 54: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Rezultat tych zmian

W lutym 2001, w Snowbird (Utah)

spotkało się 17 deweloperów.

I napisało Agile Manifesto

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 40 / 42

Page 55: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Agile Manifesto

Poprzez wytwarzanie oprogramowania oraz pomaganie innym wtym zakresie odkrywamy lepsze sposoby realizowania tej pracy. Wwyniku tych doświadczeń zaczęliśmy przedkładać:Ludzi i ich wzajemne interakcje (współdziałanie) ponadprocedury i narzędzia.Działające oprogramowanie nad wyczerpującą dokumentację.Współpracę z klientem nad negocjację umów.Reagowanie na zmiany nad realizowanie planu.Oznacza to, że wprawdzie doceniamy to co wymieniono po prawejstronie, to jednak bardziej cenimy to co wymieniono po lewej.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 41 / 42

Page 56: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Zasady programowania zwinnego

1 osiągnięcie satysfakcji klienta poprzez szybkość wytwarzaniaoprogramowania,

2 działające oprogramowanie jest dostarczane okresowo (raczejtygodniowo niż miesięcznie),

3 podstawową miarą postępu jest działające oprogramowanie,4 późne zmiany w specyfikacji nie mają destrukcyjnego wpływu

na proces wytwarzania oprogramowania,5 bliska, dzienna współpraca pomiędzy biznesem a developerem,6 bezpośredni kontakt, jako najlepsza forma komunikacji w

zespole i poza nim,7 ciągła uwaga nastawiona na aspekty techniczne oraz dobry

projekt (design),8 prostota,9 samozarządzalność zespołów,10 regularna adaptacja do zmieniających się wymagań.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 42 / 42

Page 57: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Zasady programowania zwinnego

1 osiągnięcie satysfakcji klienta poprzez szybkość wytwarzaniaoprogramowania,

2 działające oprogramowanie jest dostarczane okresowo (raczejtygodniowo niż miesięcznie),

3 podstawową miarą postępu jest działające oprogramowanie,4 późne zmiany w specyfikacji nie mają destrukcyjnego wpływu

na proces wytwarzania oprogramowania,5 bliska, dzienna współpraca pomiędzy biznesem a developerem,6 bezpośredni kontakt, jako najlepsza forma komunikacji w

zespole i poza nim,7 ciągła uwaga nastawiona na aspekty techniczne oraz dobry

projekt (design),8 prostota,9 samozarządzalność zespołów,10 regularna adaptacja do zmieniających się wymagań.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 42 / 42

Page 58: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Zasady programowania zwinnego

1 osiągnięcie satysfakcji klienta poprzez szybkość wytwarzaniaoprogramowania,

2 działające oprogramowanie jest dostarczane okresowo (raczejtygodniowo niż miesięcznie),

3 podstawową miarą postępu jest działające oprogramowanie,

4 późne zmiany w specyfikacji nie mają destrukcyjnego wpływuna proces wytwarzania oprogramowania,

5 bliska, dzienna współpraca pomiędzy biznesem a developerem,6 bezpośredni kontakt, jako najlepsza forma komunikacji w

zespole i poza nim,7 ciągła uwaga nastawiona na aspekty techniczne oraz dobry

projekt (design),8 prostota,9 samozarządzalność zespołów,10 regularna adaptacja do zmieniających się wymagań.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 42 / 42

Page 59: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Zasady programowania zwinnego

1 osiągnięcie satysfakcji klienta poprzez szybkość wytwarzaniaoprogramowania,

2 działające oprogramowanie jest dostarczane okresowo (raczejtygodniowo niż miesięcznie),

3 podstawową miarą postępu jest działające oprogramowanie,4 późne zmiany w specyfikacji nie mają destrukcyjnego wpływu

na proces wytwarzania oprogramowania,

5 bliska, dzienna współpraca pomiędzy biznesem a developerem,6 bezpośredni kontakt, jako najlepsza forma komunikacji w

zespole i poza nim,7 ciągła uwaga nastawiona na aspekty techniczne oraz dobry

projekt (design),8 prostota,9 samozarządzalność zespołów,10 regularna adaptacja do zmieniających się wymagań.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 42 / 42

Page 60: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Zasady programowania zwinnego

1 osiągnięcie satysfakcji klienta poprzez szybkość wytwarzaniaoprogramowania,

2 działające oprogramowanie jest dostarczane okresowo (raczejtygodniowo niż miesięcznie),

3 podstawową miarą postępu jest działające oprogramowanie,4 późne zmiany w specyfikacji nie mają destrukcyjnego wpływu

na proces wytwarzania oprogramowania,5 bliska, dzienna współpraca pomiędzy biznesem a developerem,

6 bezpośredni kontakt, jako najlepsza forma komunikacji wzespole i poza nim,

7 ciągła uwaga nastawiona na aspekty techniczne oraz dobryprojekt (design),

8 prostota,9 samozarządzalność zespołów,10 regularna adaptacja do zmieniających się wymagań.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 42 / 42

Page 61: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Zasady programowania zwinnego

1 osiągnięcie satysfakcji klienta poprzez szybkość wytwarzaniaoprogramowania,

2 działające oprogramowanie jest dostarczane okresowo (raczejtygodniowo niż miesięcznie),

3 podstawową miarą postępu jest działające oprogramowanie,4 późne zmiany w specyfikacji nie mają destrukcyjnego wpływu

na proces wytwarzania oprogramowania,5 bliska, dzienna współpraca pomiędzy biznesem a developerem,6 bezpośredni kontakt, jako najlepsza forma komunikacji w

zespole i poza nim,

7 ciągła uwaga nastawiona na aspekty techniczne oraz dobryprojekt (design),

8 prostota,9 samozarządzalność zespołów,10 regularna adaptacja do zmieniających się wymagań.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 42 / 42

Page 62: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Zasady programowania zwinnego

1 osiągnięcie satysfakcji klienta poprzez szybkość wytwarzaniaoprogramowania,

2 działające oprogramowanie jest dostarczane okresowo (raczejtygodniowo niż miesięcznie),

3 podstawową miarą postępu jest działające oprogramowanie,4 późne zmiany w specyfikacji nie mają destrukcyjnego wpływu

na proces wytwarzania oprogramowania,5 bliska, dzienna współpraca pomiędzy biznesem a developerem,6 bezpośredni kontakt, jako najlepsza forma komunikacji w

zespole i poza nim,7 ciągła uwaga nastawiona na aspekty techniczne oraz dobry

projekt (design),

8 prostota,9 samozarządzalność zespołów,10 regularna adaptacja do zmieniających się wymagań.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 42 / 42

Page 63: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Zasady programowania zwinnego

1 osiągnięcie satysfakcji klienta poprzez szybkość wytwarzaniaoprogramowania,

2 działające oprogramowanie jest dostarczane okresowo (raczejtygodniowo niż miesięcznie),

3 podstawową miarą postępu jest działające oprogramowanie,4 późne zmiany w specyfikacji nie mają destrukcyjnego wpływu

na proces wytwarzania oprogramowania,5 bliska, dzienna współpraca pomiędzy biznesem a developerem,6 bezpośredni kontakt, jako najlepsza forma komunikacji w

zespole i poza nim,7 ciągła uwaga nastawiona na aspekty techniczne oraz dobry

projekt (design),8 prostota,

9 samozarządzalność zespołów,10 regularna adaptacja do zmieniających się wymagań.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 42 / 42

Page 64: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Zasady programowania zwinnego

1 osiągnięcie satysfakcji klienta poprzez szybkość wytwarzaniaoprogramowania,

2 działające oprogramowanie jest dostarczane okresowo (raczejtygodniowo niż miesięcznie),

3 podstawową miarą postępu jest działające oprogramowanie,4 późne zmiany w specyfikacji nie mają destrukcyjnego wpływu

na proces wytwarzania oprogramowania,5 bliska, dzienna współpraca pomiędzy biznesem a developerem,6 bezpośredni kontakt, jako najlepsza forma komunikacji w

zespole i poza nim,7 ciągła uwaga nastawiona na aspekty techniczne oraz dobry

projekt (design),8 prostota,9 samozarządzalność zespołów,

10 regularna adaptacja do zmieniających się wymagań.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 42 / 42

Page 65: Wykład 1 Marcin Młotkowski 5 października 2016marcinm/dyd/zwinne/wprowadzenie.pdf · LiteraturaII Robert C. Martin and Micah Martin. Agile. Programowanie zwinne: zasady, wzorce

Sprawy organizacyjneWstęp

Powstanie metodyk zwinnych

Zasady programowania zwinnego

1 osiągnięcie satysfakcji klienta poprzez szybkość wytwarzaniaoprogramowania,

2 działające oprogramowanie jest dostarczane okresowo (raczejtygodniowo niż miesięcznie),

3 podstawową miarą postępu jest działające oprogramowanie,4 późne zmiany w specyfikacji nie mają destrukcyjnego wpływu

na proces wytwarzania oprogramowania,5 bliska, dzienna współpraca pomiędzy biznesem a developerem,6 bezpośredni kontakt, jako najlepsza forma komunikacji w

zespole i poza nim,7 ciągła uwaga nastawiona na aspekty techniczne oraz dobry

projekt (design),8 prostota,9 samozarządzalność zespołów,10 regularna adaptacja do zmieniających się wymagań.

Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 42 / 42