Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Praktyki techniczne

957 views

Published on

Prezentacja z drugiego Jesiennego Wieczoru Scrum organizowanego przez Fluid Circle (fluidcircle.net).

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Praktyki techniczne

  1. 1. Jesienne Wieczory ze Scrum “ Praktyki techniczne ” <ul><li>2011-09- 20 </li></ul>
  2. 2. Jesienne Wieczory ze Scrum O nas <ul><li>Certified Scrum Master </li></ul><ul><li>MCP, MCTS </li></ul><ul><li>5 lat w branży IT m.in. jako developer, architekt, project manager i niezależny przedsiębiorca </li></ul><ul><li>Professional Scrum Master </li></ul><ul><li>5 lat w branży IT m.in. jako analityk i koordynator produktu </li></ul>
  3. 3. Jesienne Wieczory ze Scrum Kontrakt <ul><li>Jesteśmy na Ty! </li></ul><ul><li>Przerwa: jedna (około 20) czy dwie? </li></ul><ul><li>Telefony, tablety, laptopy </li></ul><ul><li>Inne? </li></ul>
  4. 4. Wprowadzenie Jesienne Wieczory ze Scrum
  5. 5. Czynnik efektywnego zespołu! <ul><li>Jeff Sutherland jeden z ojców Scrum twierdzi: Efektywny zespół = Scrum + Praktyki Techniczne! </li></ul><ul><li>Skorzystaj z praktyk technicznych! </li></ul>Jesienne Wieczory ze Scrum
  6. 6. Cel <ul><li>Na tym szkoleniu dowiesz się: </li></ul><ul><ul><ul><li>Czym są praktyki techniczne ? </li></ul></ul></ul><ul><ul><ul><li>Do czego mo gą się przydać ? </li></ul></ul></ul><ul><ul><ul><li>Przegląd podstawowych praktyk </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  7. 7. Jesienne Wieczory ze Scrum wrzesień-październik 2011 <ul><li>2011-09-06 Rzut okiem na Scrum </li></ul><ul><li>2011-09- 20 Praktyki techniczne </li></ul><ul><li>2011-09-2 7 Estymacja i planowanie </li></ul><ul><li>2011- 10 - 04 Komunikacja w zespole </li></ul><ul><li>2011-10- 11 Wdrożenie i skalowanie Scrum </li></ul>Jesienne Wieczory ze Scrum
  8. 8. Wieczór #3 Estymacja i Planowanie Techniczne <ul><li>Na tym szkoleniu dowiesz się m.in. o: </li></ul><ul><ul><ul><li>Zarządzaniu wymaganiami w duchu agile z użyciem User Stories </li></ul></ul></ul><ul><ul><ul><li>Względnym szacowaniu złożoności zadań i zwinnym planowanie prac </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  9. 9. Wieczór #4 Komunikacja w Zespole <ul><li>Na tym szkoleniu dowiesz się: </li></ul><ul><ul><ul><li>jak przekształcić grupę w zespół? </li></ul></ul></ul><ul><ul><ul><li>jak rozwiązywać konflikty w zespole? </li></ul></ul></ul><ul><ul><ul><li>jak stymulować stały rozwój? </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  10. 10. Wieczór #5 Wdrożenie i skalowanie <ul><li>Na tym szkoleniu dowiesz się: </li></ul><ul><ul><ul><li>Jak skutecznie wprowadzić Scrum do organizacji? </li></ul></ul></ul><ul><ul><ul><li>Jak skoordynować pracę wielu zespołów w dużych projektach? </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  11. 11. <ul><ul><ul><li>Kim jesteś? </li></ul></ul></ul><ul><ul><ul><li>Jaką rolę pełnisz w swojej organizacji? </li></ul></ul></ul><ul><ul><ul><li>Jakie masz doświadczenie w IT? </li></ul></ul></ul><ul><ul><ul><li>Co Cię interesuje w Scrum? </li></ul></ul></ul>Jesienne Wieczory ze Scrum Poznajmy się! (dla nowych osób)
  12. 12. <ul><ul><ul><li>Jakie cechy ma dobry projekt? </li></ul></ul></ul><ul><ul><ul><li>Co często prowadzi do porażki? </li></ul></ul></ul>Jesienne Wieczory ze Scrum Powtórzenie
  13. 13. Cechy dobrego projektu Jesienne Wieczory ze Scrum
  14. 14. Czynniki porażki Jesienne Wieczory ze Scrum
  15. 15. Trzy filary Scrum <ul><li>Małe fragmenty , stały rytm </li></ul><ul><ul><li>vs. planowanie wszystkie z góry </li></ul></ul><ul><li>Częsta inspekcja i adaptacja (proces i produkt) </li></ul><ul><ul><li>vs. wyczerpująca specyfikacja </li></ul></ul><ul><li>Samoorganizujący się, interdyscyplinarny, stabilny zespół specjalistów </li></ul><ul><ul><li>vs. wymienialne zasoby kontrolowane przez PMa </li></ul></ul>Jesienne Wieczory ze Scrum
  16. 16. Co może dać Scrum? <ul><ul><ul><li>Większa produktywność </li></ul></ul></ul><ul><ul><ul><li>przez ciągłe doskonalenie praktyk i systematyczne usuwanie przeszkód organizacyjnych. </li></ul></ul></ul><ul><ul><ul><li>Wymaga dyscypliny i motywacji zespołu oraz wsparcia kierownictwa! </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  17. 17. Co może dać Scrum? <ul><ul><ul><li>Większa wartość produktów </li></ul></ul></ul><ul><ul><ul><li>dzięki priorytetyzacji i adaptacji do prawdziwych wymagań. </li></ul></ul></ul><ul><ul><ul><li>Wymaga zaangażowania klienta! </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  18. 18. Co może dać Scrum? <ul><ul><ul><li>Zaangażowanie i satysfakcja zespołu </li></ul></ul></ul><ul><ul><ul><li>dzięki samostanowieniu i namacalnym efektom pracy. </li></ul></ul></ul><ul><ul><ul><li>Wymaga szacunku i zaufania kierownictwa! </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  19. 19. Uwaga! <ul><ul><ul><li>Scrum jest prosty, ale trudny! </li></ul></ul></ul><ul><ul><ul><li>Scrum bezlitośnie obnaża największe słabości organizacji (aby można je było usunąć!) </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  20. 20. <ul><ul><ul><li>Im więcej ryzyka i niepewności w projekcie tym większą przewagę ma Scrum nad tradycyjnymi podejściami opartymi o planowanie i specyfikację. </li></ul></ul></ul>Jesienne Wieczory ze Scrum Co może dać Scrum?
  21. 21. <ul><ul><ul><li>Microsoft, Google, Oracle, Adobe, Yahoo, Salesforce </li></ul></ul></ul><ul><ul><ul><li>W Polsce: Gadu-Gadu, Gazeta.pl, Ericpol </li></ul></ul></ul><ul><ul><ul><li>Duże firmy i startupy </li></ul></ul></ul><ul><ul><ul><li>Firmy produktowe i usługowe </li></ul></ul></ul><ul><ul><ul><li>Agendy rządowe, wojsko! </li></ul></ul></ul><ul><ul><ul><li>Nie tylko IT! </li></ul></ul></ul>Jesienne Wieczory ze Scrum Kto używa Scrum?
  22. 22. Scrum <ul><li>Szkielet procesu </li></ul><ul><ul><ul><li>Role </li></ul></ul></ul><ul><ul><ul><li>Artefakty </li></ul></ul></ul><ul><ul><ul><li>Wydarzenia </li></ul></ul></ul><ul><ul><ul><li>Reguły </li></ul></ul></ul><ul><li>Praktyki techniczne do ustalenia przez zespół! </li></ul>Jesienne Wieczory ze Scrum
  23. 23. Przebieg procesu Jesienne Wieczory ze Scrum
  24. 24. Cechy dobrego projektu Jesienne Wieczory ze Scrum
  25. 25. Czynniki porażki Jesienne Wieczory ze Scrum
  26. 26. Praktyki techniczne Jesienne Wieczory ze Scrum
  27. 27. The Joel Test by Joel Spolsky <ul><ul><li>7 minut, w parach </li></ul></ul>Jesienne Wieczory ze Scrum
  28. 28. The Joel Test by Joel Spolsky Jesienne Wieczory ze Scrum
  29. 29. <ul><li>T est D riven D evelopment </li></ul>Jesienne Wieczory ze Scrum
  30. 30. T est D riven D evelopment <ul><ul><ul><li>Technika tworzenia oprogramowania zaliczana do metodyk Zwinnych </li></ul></ul></ul><ul><ul><ul><li>Pierwotnie była częścią XP (eXtream Programming) </li></ul></ul></ul><ul><ul><ul><li>Opracowana przez Kenta Becka </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  31. 31. T est D riven D evelopment <ul><ul><ul><li>Założenia: </li></ul></ul></ul><ul><ul><ul><li>Test (Unit Test) , który informuje o błędzie </li></ul></ul></ul><ul><ul><ul><li>Najprostszy Kod który spełnia założenia testu </li></ul></ul></ul><ul><ul><ul><li>Refactoring wprowadzający wzorce projektowe, optymalizację, itp… </li></ul></ul></ul>Fail Pass Refactor Jesienne Wieczory ze Scrum
  32. 32. T est D riven D evelopment <ul><ul><ul><li>Różnica pomiędzy Integrated Test a Unit Test </li></ul></ul></ul><ul><ul><ul><ul><li>Unit Test – testuje jedną atomową funkcję systemu </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Integrated Test – testuje całość bądź moduł aplikacji, najczęściej składa się z Unit Testów </li></ul></ul></ul></ul>Jesienne Wieczory ze Scrum
  33. 33. Funkcja 1 Funkcja 2 … Unit Test Unit Test Unit Test Integration Test T est D riven D evelopment Jesienne Wieczory ze Scrum
  34. 34. T est D riven D evelopment <ul><ul><ul><li>Atrybuty Unit Test </li></ul></ul></ul><ul><ul><ul><ul><li>Powinien być automatyczny i powtarzalny </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Powinien być łatwy do zaimplementowania </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Raz napisany powinien być później reużywany </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Każdy powinien móc go uruchomić </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Powinien być uruchamiany przez „jedno kliknięcie” </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Powinien wykonać się szybko </li></ul></ul></ul></ul>Jesienne Wieczory ze Scrum
  35. 35. T est D riven D evelopment <ul><ul><ul><li>Konwencje architektoniczne i nazewnicze: </li></ul></ul></ul><ul><ul><ul><li>Projekt [NazwaProjektu].Test </li></ul></ul></ul><ul><ul><ul><li>Klasa [NazwaKlasy]Test </li></ul></ul></ul><ul><ul><ul><li>Metoda [NazwaMetody]_[Warunek]_[OczekiwanyRezultat] </li></ul></ul></ul><ul><ul><ul><li>Np. IsFileSizeInRange_FileSizeBelowFiveMb_ReturnsTrue </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  36. 36. T est D riven D evelopment <ul><ul><ul><li>Unit test oparty jest najczęściej o technikę AAA </li></ul></ul></ul><ul><ul><ul><ul><li>Arrange – utworzenie i ustawienie wszystkich niezbędnych obiektów do testów </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Act – wywołanie metody na naszych obiektach </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Assert – domaganie się uzyskania odpowiedniego zachowania / wartości </li></ul></ul></ul></ul>Jesienne Wieczory ze Scrum
  37. 37. T est D riven D evelopment <ul><ul><ul><li>Przykład w oparciu o nUnit: </li></ul></ul></ul><ul><ul><ul><li>[Test] public void IsFileSizeInRange_FileSizeBelowFiveMb_ReturnsTrue() { //arrange, file below five Mb SizeAnalyzer analyzer = new SizeAnalyzer (); File file = File.Open(„test.txt”); //act bool result = analyzer.IsFileSizeInRange(file); //assert Assert.IsTrue(result, „rozmiar pliku powinien mieścić się zakresie!&quot;); } </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  38. 38. T est D riven D evelopment <ul><ul><ul><li>Benefity: </li></ul></ul></ul><ul><ul><ul><li>Zapewnienie jakości </li></ul></ul></ul><ul><ul><ul><li>Czysty i Prosty kod, który można w każdej chwili ponownie przetestować </li></ul></ul></ul><ul><ul><ul><li>Uwidacznia potencjalne problemy algorytmu / funkcjonalności innym członkom projektu </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  39. 39. <ul><li>Zarządzanie Wersjami </li></ul>Jesienne Wieczory ze Scrum
  40. 40. Zarządzanie Wersjami <ul><ul><ul><li>Repozytoria kodów źródłowych </li></ul></ul></ul><ul><ul><ul><li>Czym różnią się systemy kontroli wersji Client-Server od Distributed </li></ul></ul></ul><ul><ul><ul><li>Working Copy, Label (Tag), Branch (Trunk, Release, …), Merge </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  41. 41. Zarządzanie Wersjami <ul><ul><ul><li>Repozytoria typu Client-Server </li></ul></ul></ul><ul><ul><ul><li>SVN - Subversion </li></ul></ul></ul><ul><ul><ul><li>TFS - Team Foundation Server </li></ul></ul></ul><ul><ul><ul><li>Cechy </li></ul></ul></ul><ul><ul><ul><li>Scentralizowane repozytorium </li></ul></ul></ul><ul><ul><ul><li>Każdy CheckOut oraz CheckIn wykonywany jest na centralnym repozytorium </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  42. 42. Zarządzanie Wersjami <ul><ul><ul><li>Repozytoria typu Distributed </li></ul></ul></ul><ul><ul><ul><li>Git, Mercurial </li></ul></ul></ul><ul><ul><ul><li>Cechy </li></ul></ul></ul><ul><ul><ul><li>Rozproszone repozytorium </li></ul></ul></ul><ul><ul><ul><li>Każdy CheckOut oraz CheckIn wykonywany jest na lokalnym repozytorium </li></ul></ul></ul><ul><ul><ul><li>Każde pobranie Working Copy staje się kolejnym Branchem </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  43. 43. Zarządzanie Wersjami <ul><ul><ul><li>Wspólne korzyści: </li></ul></ul></ul><ul><ul><ul><li>Integracja </li></ul></ul></ul><ul><ul><ul><li>Pełna historia zmian , z możliwością pobrania z dowolnego stanu w czasie </li></ul></ul></ul><ul><ul><ul><li>Korzyści systemów rozproszonych: </li></ul></ul></ul><ul><ul><ul><li>Zwiększenie bezpieczeństwa - historia zmian w lokalnym repozytorium </li></ul></ul></ul><ul><ul><ul><li>Ulepszenie komunikacji </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  44. 44. <ul><li>Programowanie w parach </li></ul>Jesienne Wieczory ze Scrum
  45. 45. Programowanie w parach <ul><ul><ul><li>Podstawowe założenia Pilot i Nawigator </li></ul></ul></ul><ul><ul><ul><li>Transfer wiedzy, Monitoring procesu, Mentoring , Feedback </li></ul></ul></ul><ul><ul><ul><li>Zwiększenie produktywności , brak przestojów </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  46. 46. Programowanie w parach <ul><ul><ul><li>Nie jest to prosta technika </li></ul></ul></ul><ul><ul><ul><li>Wymaga skupienia , pewności siebie , szacunku , otwartości na współpracę ale również na krytykę </li></ul></ul></ul><ul><ul><ul><li>Problemy mistrz i uczeń, dominacja , brak komunikacji </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  47. 47. <ul><li>Prototypowanie </li></ul>Jesienne Wieczory ze Scrum
  48. 48. Prototypowanie <ul><ul><ul><li>Czym jest prototypowanie? </li></ul></ul></ul><ul><ul><ul><li>Przez kogo może być wykonywane? </li></ul></ul></ul><ul><ul><ul><li>Korzyść braku konkretnego stylu graficznego </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  49. 49. Prototypowanie <ul><ul><ul><li>Zaprojektuj interfejs graficzny aplikacji na kartce: </li></ul></ul></ul><ul><ul><ul><ul><li>Budżet domowy </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Lista TODO </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Obróbka zdjęć </li></ul></ul></ul></ul><ul><ul><ul><li>7 minut, w parach </li></ul></ul></ul>Jesienne Wieczory ze Scrum
  50. 50. Prototypowanie <ul><ul><ul><li>Przykładowe narzędzia </li></ul></ul></ul><ul><ul><ul><ul><li>Balsamiq </li></ul></ul></ul></ul><ul><ul><ul><ul><li>iPlotz </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Axure </li></ul></ul></ul></ul><ul><ul><ul><ul><li>… Paint  </li></ul></ul></ul></ul>Jesienne Wieczory ze Scrum
  51. 51. Prototypowanie Jesienne Wieczory ze Scrum
  52. 52. Prototypowanie <ul><ul><ul><li>Korzyści: </li></ul></ul></ul><ul><ul><ul><ul><li>Spójna wizja tego co chce klient i co ma zrobić zespół </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Oszczędność przy braku akceptacji UI </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Usprawnienie komunikacji wewnątrz zespołu </li></ul></ul></ul></ul>Jesienne Wieczory ze Scrum
  53. 53. <ul><li>C ontinuous I ntegration </li></ul>Jesienne Wieczory ze Scrum
  54. 54. C ontinuous I ntegration <ul><ul><ul><li>Problemy związane z wprowadzaniem nowej wersji na „produkcję”: </li></ul></ul></ul><ul><ul><ul><ul><li>Manualne uruchamianie skryptów Batch bądź Bash </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Brak scentralizowanego miejsca do wprowadzania nowej wersji </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Duże ryzyko błędów, brak automatycznego przywracania stanu stabilnego </li></ul></ul></ul></ul>Jesienne Wieczory ze Scrum
  55. 55. C ontinuous I ntegration <ul><ul><ul><li>Praktyki: </li></ul></ul></ul><ul><ul><ul><ul><li>Ciągła integracja kodów źródłowych </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Każdy Commit powinien powodować automatyczny Build </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Przynajmniej jeden Build dziennie </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Każdy Build powinien uruchamiać automatycznie testy </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Zautomatyzowane deploy na serwer </li></ul></ul></ul></ul>Jesienne Wieczory ze Scrum
  56. 56. C ontinuous I ntegration <ul><ul><ul><li>Przykładowe narzędzia: </li></ul></ul></ul><ul><ul><ul><ul><li>CruiseControl (.NET, Java, …) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Webistrano / Capistrano  (RoR) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>TeamCity  (.NET, Java) </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Jenkins (Java) </li></ul></ul></ul></ul>Jesienne Wieczory ze Scrum
  57. 57. C ontinuous I ntegration <ul><ul><ul><li>Korzyści: </li></ul></ul></ul><ul><ul><ul><ul><li>Spójna wizja tego co chce klient i co ma zrobić zespół </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Oszczędność przy braku akceptacji UI </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Usprawnienie komunikacji wewnątrz zespołu </li></ul></ul></ul></ul>Jesienne Wieczory ze Scrum
  58. 58. <ul><li>Software Craftsmanship </li></ul>Jesienne Wieczory ze Scrum
  59. 59. SC Manifesto <ul><li>As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value: </li></ul><ul><li>Not only working software, but also   well-crafted software </li></ul><ul><li>Not only responding to change, but also  steadily adding value </li></ul><ul><li>Not only individuals and interactions, but also  a community of professionals </li></ul><ul><li>Not only customer collaboration, but also  productive partnerships </li></ul><ul><li>That is, in pursuit of the items on the left we have found the items on the right to be indispensable. </li></ul>Jesienne Wieczory ze Scrum
  60. 60. Jesienne Wieczory ze Scrum
  61. 61. Scrum Guide <ul><li>l ipiec 2011 </li></ul><ul><li>Scrum.org </li></ul><ul><li>Ken Schwaber Jeff Sutherland </li></ul>Jesienne Wieczory ze Scrum
  62. 62. Zakończenie Jesienne Wieczory ze Scrum
  63. 63. Pytania i odpowiedzi <ul><li>? </li></ul>Jesienne Wieczory ze Scrum
  64. 64. Trzy filary Scrum <ul><li>Małe fragmenty , stały rytm </li></ul><ul><ul><li>vs. planowanie wszystkie z góry </li></ul></ul><ul><li>Częsta inspekcja i adaptacja (proces i produkt) </li></ul><ul><ul><li>vs. wyczerpująca specyfikacja </li></ul></ul><ul><li>Samoorganizujący się, interdyscyplinarny, stabilny zespół specjalistów </li></ul><ul><ul><li>vs. wymienialne zasoby kontrolowane przez PMa </li></ul></ul>Jesienne Wieczory ze Scrum
  65. 65. Co dalej? <ul><li>Jesienne Wieczory Scrum 3, 4, 5 </li></ul><ul><li>Szkolenia dla Twojego zespołu </li></ul><ul><li>Darmowe konsultacje! </li></ul>Jesienne Wieczory ze Scrum
  66. 66. Dziękujemy! Jesienne Wieczory ze Scrum

×