zwinność w praktyce, jarek potiuk

20
Zwinność w praktyce

Upload: mamstartup

Post on 02-Dec-2014

1.246 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Zwinność w praktyce, Jarek Potiuk

Zwinność w praktyce

Page 2: Zwinność w praktyce, Jarek Potiuk

Dla kogo?

● Założyciele startupów

● Programiści

● Pozostali członkowie zespołów

Page 3: Zwinność w praktyce, Jarek Potiuk

Po co?

● Żeby móc WSPÓLNIE rozwijać swój projekt: efektywnie

● Żeby być gotowym na sukces

● Żeby nie kosztowało to za wieleczasunerwówpieniędzy

Page 4: Zwinność w praktyce, Jarek Potiuk

O czym (luźno)

● Filozofia tworzenia oprogramowania ● Jak przyciągać dobrych ludzi● Jak się skalować● Jak wybierać technologie● Jakie narzędzia używać

Page 5: Zwinność w praktyce, Jarek Potiuk

Metodologie tradycyjne

Page 6: Zwinność w praktyce, Jarek Potiuk

Inżynieria ”normalna”

● Długa tradycja ● Konieczny ”duży projekt” przed konstrukcją● Trudno zmienić decyzję● Materiały konstrukcyjne● Stabilne wymagania● Powtarzalność wyników

Page 7: Zwinność w praktyce, Jarek Potiuk

Inżynieria ”software'owa”

● 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

Page 8: Zwinność w praktyce, Jarek Potiuk

Programiści: Budowniczy czy ogrodnicy

Page 9: Zwinność w praktyce, Jarek Potiuk

Manifest agile http://agilemanifesto.org

Poprzez wytwarzanie oprogramowania oraz pomaganie innym w tym zakresie odkrywamy lepsze sposoby realizowania tej pracy. W wyniku 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 prawej stronie, to jednak bardziej cenimy to co wymieniono po lewej.

Page 10: Zwinność w praktyce, Jarek Potiuk

Manifest mistrzów sztuki programowaniaPoprzeczka w górę

Jako ambitni mistrzowie sztuki programowania nieustannie podnosimy poprzeczkę profesjonalizmu poprzez praktykę oraz pomoc innym w jej poznawaniu. Dzięki temu zaczęliśmy doceniać:

● 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 przy realizacji tego, co wymieniono po lewej.

Page 11: Zwinność w praktyce, Jarek Potiuk

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)

Page 12: Zwinność w praktyce, Jarek Potiuk

Metodologie

● SCRUM● Kanban●

Ale najważniejszy jest sposób myślenia:- brak ortodoksji- reakcja na zmiany- myślenie

Page 13: Zwinność w praktyce, Jarek Potiuk

SCRUM

Page 14: Zwinność w praktyce, Jarek Potiuk

Proces Scrum

Page 15: Zwinność w praktyce, Jarek Potiuk

Backlog

Page 16: Zwinność w praktyce, Jarek Potiuk

Ogarnięcie tego wszystkiego

Page 17: Zwinność w praktyce, Jarek Potiuk

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

Page 18: Zwinność w praktyce, Jarek Potiuk

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

Page 19: Zwinność w praktyce, Jarek Potiuk

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)

Page 20: Zwinność w praktyce, Jarek Potiuk

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ść