SlideShare a Scribd company logo
1 of 55
Download to read offline
Agile software development
Cowboy coding
    (code & fix)
Model kaskadowy
   Winston Royce, 1970
Model
                 przyrostowy




Model spiralny
Agile
(eXtreme Programming, Scrum, Crystal Clear, ...)
Dla każdej reguły, jakkolwiek
„fundamentalnej” czy
„racjonalnej”, istnieją okoliczności,
w których właściwe jest nie tylko
odstąpić od niej, ale wręcz
zastosować regułę przeciwstawną.

            Paul K. Feyerabend, „Przeciw metodzie”
Manifest Agile
Manifest Agile
   Ludzi i komunikację
            ponad
    procesy i narzędzia.
Manifest Agile
     Ludzi i komunikację
              ponad
      procesy i narzędzia.

  Działające oprogramowanie
              ponad
  wyczerpującą dokumentację.
Manifest Agile
     Ludzi i komunikację
              ponad
      procesy i narzędzia.

  Działające oprogramowanie
              ponad
  wyczerpującą dokumentację.

    Współpracę z klientem
              ponad
    negocjowanie kontraktu.
Manifest Agile
     Ludzi i komunikację
              ponad
      procesy i narzędzia.

  Działające oprogramowanie
              ponad
  wyczerpującą dokumentację.

    Współpracę z klientem
              ponad
    negocjowanie kontraktu.

    Reagowanie na zmiany
              ponad
      trzymanie się planu.
Iteracje
Jedna rola
    =
developer
„Big Design Up Front”
Celem projektu jest dostarczenie
oprogramowania. Nie ma rzeczy
ważniejszej od tego. Model, tak jak
każdy inny sposób komunikacji, jest
wystarczający wtedy, gdy pozwala
drugiej osobie kontynuować pracę.

Efekt komunikacji jest ważniejszy
niż jej forma.
                    Alistair A.R. Cockburn
On-site customer
Kontrakty
bez określonego
    zakresu
      cena
      czas
     jakość
     zakres
Kontrakty
bez określonego
    zakresu
 cena

 czas     jakość

zakres
Kontrakty
bez określonego
    zakresu
 cena

 czas     zakres

jakość
Test-driven development
          (TDD)
YAGNI
(„You Ain't Gonna Need It”)
Programowanie
      w
    parach
Ważną częścią bycia
quot;topowymquot; programistą
jest pomnażanie
wartości wszystkich
pozostałych.
             Kevin Barnes
Wspólna własność kodu
„Blame doesn't fix bugs.”
Continuous integration
Retrospektywy
Czas w projekcie
  Agile'owym
Zmiany są
nieuniknione
Problemy
Dobre pomysły
 wiki
 code kata

 karty CRC
Literatura
Manifesto for Agile Software Development
  http://agilemanifesto.org/

Software Management Manifesto
   http://c2.com/cgi/wiki?SoftwareManagementManifesto

Optional scope contracts
   http://www.xprogramming.com/ftp/Optional+scope+contracts.pdf

Are you Agile or Are You Fragile?
   http://video.google.pl/videoplay?docid=490917380139552102

Practices of an Agile Developer
   http://pragprog.com/titles/pad

InfoQ: Agile
    http://www.infoq.com/agile/
Literatura
Alistair Cockburn
    http://alistair.cockburn.us/

Ron Jeffries
   http://www.xprogramming.com/

Scott Ambler
   http://www.ambysoft.com/

Martin Fowler
   http://www.martinfowler.com/
Michał Kwiatkowski
constant.beta@gmail.com

More Related Content

What's hot

What's hot (20)

Dlaczego developerzy nie lubią scrum
Dlaczego developerzy nie lubią scrumDlaczego developerzy nie lubią scrum
Dlaczego developerzy nie lubią scrum
 
Jak pracuje Product Owner? Spotkanie LubLean and Agile
Jak pracuje Product Owner? Spotkanie LubLean and AgileJak pracuje Product Owner? Spotkanie LubLean and Agile
Jak pracuje Product Owner? Spotkanie LubLean and Agile
 
Sprint retrospective wartości scrum
Sprint retrospective   wartości scrumSprint retrospective   wartości scrum
Sprint retrospective wartości scrum
 
Analityk biznesowy w agile
Analityk biznesowy w agileAnalityk biznesowy w agile
Analityk biznesowy w agile
 
User Story
User StoryUser Story
User Story
 
Jak (nie) zabić agile przy użyciu jira
Jak (nie) zabić agile przy użyciu jiraJak (nie) zabić agile przy użyciu jira
Jak (nie) zabić agile przy użyciu jira
 
Wymagania w Agile
Wymagania w AgileWymagania w Agile
Wymagania w Agile
 
Scrum
ScrumScrum
Scrum
 
Scrum to nie Agile! Znajdź 10 różnic.
Scrum to nie Agile! Znajdź 10 różnic.Scrum to nie Agile! Znajdź 10 różnic.
Scrum to nie Agile! Znajdź 10 różnic.
 
Jak zostać zwinnym (Agile) analitykiem
Jak zostać zwinnym (Agile) analitykiemJak zostać zwinnym (Agile) analitykiem
Jak zostać zwinnym (Agile) analitykiem
 
[QE 2015] Krystian Kaczor - Wymagania w Agile
[QE 2015] Krystian Kaczor - Wymagania w Agile[QE 2015] Krystian Kaczor - Wymagania w Agile
[QE 2015] Krystian Kaczor - Wymagania w Agile
 
Wstęp do SCRUM - jak dostarczyć właściwe oprogramowanie
Wstęp do SCRUM - jak dostarczyć właściwe oprogramowanieWstęp do SCRUM - jak dostarczyć właściwe oprogramowanie
Wstęp do SCRUM - jak dostarczyć właściwe oprogramowanie
 
SCRUM w pigułce
SCRUM w pigułceSCRUM w pigułce
SCRUM w pigułce
 
Scrum (Polish version) - wprowadzenie do frameworka
Scrum (Polish version) - wprowadzenie do frameworkaScrum (Polish version) - wprowadzenie do frameworka
Scrum (Polish version) - wprowadzenie do frameworka
 
Scrum w 59 minut
Scrum w 59 minutScrum w 59 minut
Scrum w 59 minut
 
Wiosenne Wieczory ze Scrum 2 Estymacja i Planowanie
Wiosenne Wieczory ze Scrum 2 Estymacja i PlanowanieWiosenne Wieczory ze Scrum 2 Estymacja i Planowanie
Wiosenne Wieczory ze Scrum 2 Estymacja i Planowanie
 
Pomysł na analizę w Agile: Agile Modeling
Pomysł na analizę w Agile: Agile ModelingPomysł na analizę w Agile: Agile Modeling
Pomysł na analizę w Agile: Agile Modeling
 
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin KubeckiTGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
TGT#17 - Efektywne testy oprogramowania w środowisku Scrumowym - Marcin Kubecki
 
Zwinność w praktyce, Jarek Potiuk
Zwinność w praktyce, Jarek PotiukZwinność w praktyce, Jarek Potiuk
Zwinność w praktyce, Jarek Potiuk
 
Jak wdrożyć Continuous Delivery do Twojego (starego) projektu?
Jak wdrożyć Continuous Delivery do Twojego (starego) projektu?Jak wdrożyć Continuous Delivery do Twojego (starego) projektu?
Jak wdrożyć Continuous Delivery do Twojego (starego) projektu?
 

Similar to Slajdy z wykładu o Agile

Sprzedaj swój program. Droga do udanych projektów programistycznych
Sprzedaj swój program. Droga do udanych projektów programistycznychSprzedaj swój program. Droga do udanych projektów programistycznych
Sprzedaj swój program. Droga do udanych projektów programistycznych
Wydawnictwo Helion
 
J2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnychJ2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnych
Wydawnictwo Helion
 

Similar to Slajdy z wykładu o Agile (20)

Distributed Agile
Distributed AgileDistributed Agile
Distributed Agile
 
Agile & Scrum podstawy
Agile & Scrum podstawyAgile & Scrum podstawy
Agile & Scrum podstawy
 
Dwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędówDwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędów
 
SCRUM w pracy Testera Oprogramowania
SCRUM w pracy Testera OprogramowaniaSCRUM w pracy Testera Oprogramowania
SCRUM w pracy Testera Oprogramowania
 
JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...
JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...
JDD2015: DDD w praktyce, czyli jak wdrażamy i uczymy się DDD w Allegro - Krzy...
 
Prezentacja firmy XSolve - programowanie, e-commerce, bodyleasing
Prezentacja firmy XSolve - programowanie, e-commerce, bodyleasingPrezentacja firmy XSolve - programowanie, e-commerce, bodyleasing
Prezentacja firmy XSolve - programowanie, e-commerce, bodyleasing
 
Sprzedaj swój program. Droga do udanych projektów programistycznych
Sprzedaj swój program. Droga do udanych projektów programistycznychSprzedaj swój program. Droga do udanych projektów programistycznych
Sprzedaj swój program. Droga do udanych projektów programistycznych
 
Praktyki techniczne
Praktyki technicznePraktyki techniczne
Praktyki techniczne
 
Development Tools Ecosystem
Development Tools EcosystemDevelopment Tools Ecosystem
Development Tools Ecosystem
 
university day 1
university day 1university day 1
university day 1
 
Scam, scum, sacrum
Scam, scum, sacrumScam, scum, sacrum
Scam, scum, sacrum
 
Jak bardzo techniczny musi być tester?
Jak bardzo techniczny musi być tester?Jak bardzo techniczny musi być tester?
Jak bardzo techniczny musi być tester?
 
ALEJE.IT #7 // 18.04.2015 // AGATA SOBEK
ALEJE.IT #7 // 18.04.2015 // AGATA SOBEKALEJE.IT #7 // 18.04.2015 // AGATA SOBEK
ALEJE.IT #7 // 18.04.2015 // AGATA SOBEK
 
Modele wdrażania i zarządzania projektami erp
Modele wdrażania i zarządzania projektami erpModele wdrażania i zarządzania projektami erp
Modele wdrażania i zarządzania projektami erp
 
Technical Side of Agile
Technical Side of AgileTechnical Side of Agile
Technical Side of Agile
 
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
User Experience – wpływ internetu na aplikacje enterprise - Netcamp #14
 
Mity, które blokują Twoją karierę
Mity, które blokują Twoją karieręMity, które blokują Twoją karierę
Mity, które blokują Twoją karierę
 
J2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnychJ2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnych
 
Agile Project Management dla IPMA Polska Poznan
Agile Project Management dla IPMA Polska PoznanAgile Project Management dla IPMA Polska Poznan
Agile Project Management dla IPMA Polska Poznan
 
Narzędzia: Scrum. Czy gamedev jest agile?
Narzędzia: Scrum. Czy gamedev jest agile?Narzędzia: Scrum. Czy gamedev jest agile?
Narzędzia: Scrum. Czy gamedev jest agile?
 

Slajdy z wykładu o Agile