Zwinność w praktyce, Jarek Potiuk

1,238 views

Published on

Zwinność w praktyce, Jarek Potiuk, "Cykl szkoleń dla start-upów, BIC Summer Start" - http://MamStartup.pl

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,238
On SlideShare
0
From Embeds
0
Number of Embeds
655
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Zwinność w praktyce, Jarek Potiuk

  1. 1. Zwinność w praktyce
  2. 2. Dla kogo?● Założyciele startupów● Programiści● Pozostali członkowie zespołów
  3. 3. Po co?● Żeby móc WSPÓLNIE rozwijać swój projekt: efektywnie● Żeby być gotowym na sukces● Żeby nie kosztowało to za wiele czasu nerwów pieniędzy
  4. 4. O czym (luźno)● Filozofia tworzenia oprogramowania● Jak przyciągać dobrych ludzi● Jak się skalować● Jak wybierać technologie● Jakie narzędzia używać
  5. 5. Metodologie tradycyjne
  6. 6. Inżynieria ”normalna”● Długa tradycja● Konieczny ”duży projekt” przed konstrukcją● Trudno zmienić decyzję● Materiały konstrukcyjne● Stabilne wymagania● Powtarzalność wyników
  7. 7. Inżynieria ”softwareowa”● Krótka tradycja● Wiele metod osiągnięcia tego samego celu● Każdy system jest ”nowy”● Software można wymienić● Etap ”konstrukcji” wymagający myślenia● Ciągle zmieniające się wymagania
  8. 8. Programiści: Budowniczy czy ogrodnicy
  9. 9. Manifest agile http://agilemanifesto.orgPoprzez wytwarzanie oprogramowania oraz pomaganie innym wtym zakresie odkrywamy lepsze sposoby realizowania tej pracy. Wwyniku tych doświadczeń zaczęliśmy przedkładać: ● osoby i interakcje nad procesy i narzędzia. ● Działające oprogramowanie nad dokładną dokumentację. ● Współpracę z klientem nad negocjację umów. ● Reakcja na zmiany nad realizowanie planu.Oznacza to, że wprawdzie doceniamy to co wymieniono po prawejstronie, to jednak bardziej cenimy to co wymieniono po lewej.
  10. 10. Manifest mistrzów sztuki programowania Poprzeczka w góręJako ambitni mistrzowie sztuki programowania nieustanniepodnosimy poprzeczkę profesjonalizmu poprzez praktykę orazpomoc innym w jej poznawaniu. Dzięki temu zaczęliśmydoceniać: ● nie tylko oprogramowanie które działa, ale jest dobrze wykonane, ● nie tylko reakcja na zmiany, ale ciągłe zwiększanie wartości, ● nie tylko osoby i interakcje, ale społeczność profesjonalistów, ● nie tylko współpracę z klientami, ale skuteczne partnerstwo.Doszliśmy więc do wniosku, że elementy wymienione po prawej są niezbędne przyrealizacji tego, co wymieniono po lewej.
  11. 11. Podstawowe praktyki "agile"● Samo-organizujący się zespół● Zespół mocą podejmowania decyzji● Częste dostarczanie działającego rozwiązania● Przytulanie zmiany● Planowanie czasu na naukę● Otwarta komunikacja● Testowanie wszystkiego● Automatyzacja wszystkiego● Przecieranie szlaku (innym)● Minimalizacja WIP (Work in Progress)● Minimalizacja strat (ang. waste)
  12. 12. Metodologie● SCRUM● Kanban●Ale najważniejszy jest sposób myślenia:- brak ortodoksji- reakcja na zmiany- myślenie
  13. 13. SCRUM
  14. 14. Proces Scrum
  15. 15. Backlog
  16. 16. Ogarnięcie tego wszystkiego
  17. 17. Narzędzia IT (tak tylko poglądowo :) )● Project management● Issue tracking● Time tracking● Project documentation management● Wiki● Source code version control● Code review● Code update notifications● Programming IDEs● Static code analysis● Code coverage● Automated build● Automated unit testing● Automated functional testing● Automated performance testing● Test case management● Continuous integration● Artifact management
  18. 18. Po co narzędzia?● nie jest to cel sam w sobie● istotna jest wartość dodana ○ automatyczne testy -> elastyczność ○ przejrzysty kod -> łatwość skalowania ○ ciągła integracja -> elastyczność ○ śledzenie problemów -> jakość ○ kontrola wersji -> bezpieczeństwo
  19. 19. Wybór technologii● Dodawanie wartości● Nowoczesne technologie: ○ efektywne tworzenie ○ więcej rzeczy "z pudełka" ○ większe zainteresowanie programistów● Dostępność programistów (?)● Elastyczność● Przytul zmianę● Proof-of-concept (pociski smugowe)
  20. 20. Jak zachęcić programistów● Nowoczesne technologie● Duża władza/Duża odpowiedzialność● Traktowanie wszystkich jak partnerów● Dobre środowisko pracy● Elastyczność czasu● Możliwość nauki● Mentoring● Dzielenie się sukcesem● Jasne perspektywy zysku● Wpływ na wyniki● Szcerość, otwartość

×