SlideShare a Scribd company logo
1 of 30
Download to read offline
W POSZUKIWANIU PROCESU DOSKONAŁEGO
Wdrożenie Scruma, Continuous Integrations i Code Review w praktyce
Czym się zajmuję?
• Marcin Waligórski
• Android Developer
• FAMOC - system MDM
• Android, iOS, Windows Phone
DLACZEGO ROZPOCZĘLIŚMY POSZUKIWANIA?
PROBLEMY
• Duży narzut na testy przed wydaniem wersji
• Brak specyfikacji, wymagań, kryteriów akceptacji
• Nie do końca spełnione oczekiwania klientów
• Duży koszt utrzymania starszych fragmentów kodu,
brak testów
• Długi czas wydania poprawki dla aplikacji mobilnej
• “Wrzutki”
DROGA DO CELU
SCRUM
Iteracyjna i przyrostowa metodyka
prowadzenia projektów, zaliczana
do metodyk zwinnych, zgodnych
z manifestem Agile
SCRUM…BUT…
• Daily
• Product i sprint backlog
• Iteracyjne przyrosty - sprinty
• Spotkania: demo, retrospektywa, grooming, planing
• Planing poker, story points, definition of done
• Tablice, karteczki, wykres burndown
• Role: Product Owner, Scrum Master, Zespół
PEŁNY SCRUM
ZESPÓŁ SZYBKIEGO
REAGOWANIA
ZESPÓŁ SZYBKIEGO REAGOWANIA
• Szybka reakcja na krytyczne bugi
• Zajmowanie się wrzutkami, wydawaniem wersji
• Wdrażanie nowych technologii i rozwiązań
• Codzienne daily
• Tablica z aktualnymi zadaniami i priorytetami
• Brak sprintów i spotkań scrumowych
Co zyskaliśmy?
• lepiej opisane zadania i
zdefiniowane cele
• brak “przeskakiwania” między
zadaniami
• testy od razu po
developmencie
• szybki feedback i bug fixing
• wzrost ogólnej jakości
produktu
• Częstsze wydania
CONTINUOUS INTEGRATION
Praktyka stosowana w trakcie rozwoju
oprogramowania, polegająca na
częstym, regularnym włączaniu
(integracji) bieżących zmian w kodzie do
głównego repozytorium
Git + Maven + Jenkins
Git + Maven
• GIT
• gitflow
• MAVEN
• zarządzanie zależnościami, biblioteki
• proces budowania
Maven
• parametryzacja procesu
budowania
• różne podpisy
• różne platformy
• różne nazwy pakietów
• NuGet dla Windows Phone
• CocoaPods dla iOS
Jenkins
• Budowanie wersji przy każdym commicie
• Budowanie konkretnych gałęzi
• Dostępne kilka wersji (podpisy, package name,
platforma) per build
• Źródło wersji do testów i wydawania
• Dodatkowe metryki (np. Lint, pokrycie kodu)
CO ZYSKALIŚMY?
• Zautomatyzowany i
konfigurowalny proces budowania
aplikacji
• Szybka informacja zwrotna o
statusie
• Zawsze działający kod w
repozytorium
• Łatwy dostęp do wersji testowych
czy kandydatów do wydania
• Stały wgląd do metryk
CODEREVIEW
Gerrit
• Narzędzie do inspekcji kodu online w przeglądarce
• Darmowy
• Tworzony przez Google
• Integruje się z Gitem i Jenkinsem
Do czego używamy code review?
• Część mobilna
• Przypadki testowe
• Tłumaczenia
• Część serwerowa
CO ZYSKALIŚMY?
• Podział i wymiana wiedzy w
zespole
• Zwiększona jakość aplikacji
• Czytelniejszy, łatwiejszy do
utrzymania kod
• Wcześniejsze wyłapywanie
potencjalnych błędów
• Wprowadzanie standardów
kodowania
WYKRESIKI?
51% 49% 62% 53% 43% 22% 25%
FAMOC 3.12 FAMOC 3.18
% OF BUGS IN ISSUES
• Testy automatyczne, testy integracyjne
• Unit Testy
DZIĘKI 

More Related Content

What's hot

Od środowiska developerskiego do produkcji [PL]
Od środowiska developerskiego do produkcji [PL]Od środowiska developerskiego do produkcji [PL]
Od środowiska developerskiego do produkcji [PL]Droptica
 
Nie tylko C# - Ekosystem Microsoft dla programistów
Nie tylko C# - Ekosystem Microsoft dla programistówNie tylko C# - Ekosystem Microsoft dla programistów
Nie tylko C# - Ekosystem Microsoft dla programistówintive
 
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...Future Processing
 
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.DreamLab
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testowWiktor Żołnowski
 
Application in Xamarin.Forms
Application in Xamarin.FormsApplication in Xamarin.Forms
Application in Xamarin.FormsMaciej Kuchcik
 
REvolution, czyli o bardziej obiektowym podejściu w Railsach
REvolution, czyli o bardziej obiektowym podejściu w RailsachREvolution, czyli o bardziej obiektowym podejściu w Railsach
REvolution, czyli o bardziej obiektowym podejściu w RailsachThe Software House
 
TDD – w poszukiwaniu źródeł jakości.
TDD – w poszukiwaniu źródeł jakości.TDD – w poszukiwaniu źródeł jakości.
TDD – w poszukiwaniu źródeł jakości.Future Processing
 

What's hot (12)

Od środowiska developerskiego do produkcji [PL]
Od środowiska developerskiego do produkcji [PL]Od środowiska developerskiego do produkcji [PL]
Od środowiska developerskiego do produkcji [PL]
 
Nie tylko C# - Ekosystem Microsoft dla programistów
Nie tylko C# - Ekosystem Microsoft dla programistówNie tylko C# - Ekosystem Microsoft dla programistów
Nie tylko C# - Ekosystem Microsoft dla programistów
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
 
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...
[QE 2017] Piotr Marczydło - Wdrażanie na wulkanie, czyli CI w świecie, który ...
 
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.
Wdrażanie na wulkanie, czyli CI w świecie który nie znosi opóźnień.
 
Ci bamboo
Ci bambooCi bamboo
Ci bamboo
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
 
Application in Xamarin.Forms
Application in Xamarin.FormsApplication in Xamarin.Forms
Application in Xamarin.Forms
 
Ewa Bielska: Testowanie aplikacji mobilnych
Ewa Bielska: Testowanie aplikacji mobilnychEwa Bielska: Testowanie aplikacji mobilnych
Ewa Bielska: Testowanie aplikacji mobilnych
 
REvolution, czyli o bardziej obiektowym podejściu w Railsach
REvolution, czyli o bardziej obiektowym podejściu w RailsachREvolution, czyli o bardziej obiektowym podejściu w Railsach
REvolution, czyli o bardziej obiektowym podejściu w Railsach
 
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
 
TDD – w poszukiwaniu źródeł jakości.
TDD – w poszukiwaniu źródeł jakości.TDD – w poszukiwaniu źródeł jakości.
TDD – w poszukiwaniu źródeł jakości.
 

Viewers also liked

Making communications across boundaries simple with NServiceBus
Making communications across boundaries simple with NServiceBusMaking communications across boundaries simple with NServiceBus
Making communications across boundaries simple with NServiceBusParticular Software
 
HTTPS bez wymówek
HTTPS bez wymówekHTTPS bez wymówek
HTTPS bez wymówek3camp
 
Making communication across boundaries simple with Azure Service Bus
Making communication across boundaries simple with Azure Service BusMaking communication across boundaries simple with Azure Service Bus
Making communication across boundaries simple with Azure Service BusParticular Software
 
Azure storage queues czy azure service bus, oto jest pytanie
Azure storage queues czy azure service bus, oto jest pytanieAzure storage queues czy azure service bus, oto jest pytanie
Azure storage queues czy azure service bus, oto jest pytanieMarcin Hoppe
 
Wszystko, co chcielibyście wiedzieć o komunikacji przez kolejki, ale baliście...
Wszystko, co chcielibyście wiedzieć o komunikacji przez kolejki, ale baliście...Wszystko, co chcielibyście wiedzieć o komunikacji przez kolejki, ale baliście...
Wszystko, co chcielibyście wiedzieć o komunikacji przez kolejki, ale baliście...Marcin Hoppe
 
HTTPS bez wymówek
HTTPS bez wymówekHTTPS bez wymówek
HTTPS bez wymówekMarcin Hoppe
 

Viewers also liked (6)

Making communications across boundaries simple with NServiceBus
Making communications across boundaries simple with NServiceBusMaking communications across boundaries simple with NServiceBus
Making communications across boundaries simple with NServiceBus
 
HTTPS bez wymówek
HTTPS bez wymówekHTTPS bez wymówek
HTTPS bez wymówek
 
Making communication across boundaries simple with Azure Service Bus
Making communication across boundaries simple with Azure Service BusMaking communication across boundaries simple with Azure Service Bus
Making communication across boundaries simple with Azure Service Bus
 
Azure storage queues czy azure service bus, oto jest pytanie
Azure storage queues czy azure service bus, oto jest pytanieAzure storage queues czy azure service bus, oto jest pytanie
Azure storage queues czy azure service bus, oto jest pytanie
 
Wszystko, co chcielibyście wiedzieć o komunikacji przez kolejki, ale baliście...
Wszystko, co chcielibyście wiedzieć o komunikacji przez kolejki, ale baliście...Wszystko, co chcielibyście wiedzieć o komunikacji przez kolejki, ale baliście...
Wszystko, co chcielibyście wiedzieć o komunikacji przez kolejki, ale baliście...
 
HTTPS bez wymówek
HTTPS bez wymówekHTTPS bez wymówek
HTTPS bez wymówek
 

Similar to W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations i Code Review w praktyce

Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Mateusz Paprocki, PMP
 
Tech cafe Microservices
Tech cafe MicroservicesTech cafe Microservices
Tech cafe MicroservicesKonrad Król
 
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITaWersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITamarekmisztal
 
Kivy na Androidzie
Kivy na AndroidzieKivy na Androidzie
Kivy na AndroidzieDaftcode
 
Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14
Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14
Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14Sagittario
 
Certyfikacja a Kariera IT - Self Case Study
Certyfikacja a Kariera IT - Self Case StudyCertyfikacja a Kariera IT - Self Case Study
Certyfikacja a Kariera IT - Self Case StudyTobias Koprowski
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
JS in the intelligent buildings @ meet.js Krk
JS in the intelligent buildings @ meet.js KrkJS in the intelligent buildings @ meet.js Krk
JS in the intelligent buildings @ meet.js KrkMateusz Ziarko
 
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side developmentTomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side developmentSharePoint Saturday Warsaw
 
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]Krzysztof Głuszczyk
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxKatarzyna Javaheri-Szpak
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlSebastian Marek
 
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerFull Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerMarek Będkowski
 
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ówMichal Lukaszewski
 
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gier
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gierKonrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gier
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gierGameDesire Academy
 

Similar to W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations i Code Review w praktyce (20)

Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespołu w środowisku mikroserwisów, czyli efektywny flow ...
 
university day 1
university day 1university day 1
university day 1
 
Tech cafe Microservices
Tech cafe MicroservicesTech cafe Microservices
Tech cafe Microservices
 
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITaWersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
Wersjonowanie kodu. Dobre praktyki na przykładzie przejścia z CVS na GITa
 
Kivy na Androidzie
Kivy na AndroidzieKivy na Androidzie
Kivy na Androidzie
 
Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14
Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14
Prezentacja "Praca z Gitem" - Dawid Cieszyński OLMUG 22.01.14
 
Olga Żądło - Robot Framework
Olga Żądło - Robot FrameworkOlga Żądło - Robot Framework
Olga Żądło - Robot Framework
 
Certyfikacja a Kariera IT - Self Case Study
Certyfikacja a Kariera IT - Self Case StudyCertyfikacja a Kariera IT - Self Case Study
Certyfikacja a Kariera IT - Self Case Study
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
JS in the intelligent buildings @ meet.js Krk
JS in the intelligent buildings @ meet.js KrkJS in the intelligent buildings @ meet.js Krk
JS in the intelligent buildings @ meet.js Krk
 
JavaEE + OSGi
JavaEE + OSGiJavaEE + OSGi
JavaEE + OSGi
 
Testowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO AcademyTestowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO Academy
 
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side developmentTomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
Tomasz Głogosz: SharePoint Framework - nowa jakość w client-side development
 
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]
Wielomodułowe aplikacje korzystające ze wspólnej bazy kodu [PL]
 
Od zera do Automattica
Od zera do AutomatticaOd zera do Automattica
Od zera do Automattica
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPl
 
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio playerFull Stack JavaScript case study na podstawie Maracuya Jukebox audio player
Full Stack JavaScript case study na podstawie Maracuya Jukebox audio player
 
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
 
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gier
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gierKonrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gier
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gier
 

More from 3camp

Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawekOchrona podatnych webaplikacji za pomocą wirtualnych poprawek
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek3camp
 
Jak udokumentować bazę danych
Jak udokumentować bazę danychJak udokumentować bazę danych
Jak udokumentować bazę danych3camp
 
ORM - tuningujemy podejście do mapowania
ORM - tuningujemy podejście do mapowaniaORM - tuningujemy podejście do mapowania
ORM - tuningujemy podejście do mapowania3camp
 
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.3camp
 
Wykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie AndroidWykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie Android3camp
 
Learn you some rx for the greater good
Learn you some rx for the greater goodLearn you some rx for the greater good
Learn you some rx for the greater good3camp
 
Google App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjachGoogle App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjach3camp
 
Reakcja łańcuchowa, czyli React.js w praktyce
Reakcja łańcuchowa, czyli React.js w praktyceReakcja łańcuchowa, czyli React.js w praktyce
Reakcja łańcuchowa, czyli React.js w praktyce3camp
 
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”3camp
 
AngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektuAngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektu3camp
 
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...3camp
 
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?3camp
 
Artur Senk, OKE Poland, Big Data na zakupach
Artur Senk, OKE Poland, Big Data na zakupachArtur Senk, OKE Poland, Big Data na zakupach
Artur Senk, OKE Poland, Big Data na zakupach3camp
 
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...3camp
 
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnieMarcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie3camp
 
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...3camp
 
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...3camp
 
Marcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk ModelMarcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk Model3camp
 
JSON, REST API
JSON, REST APIJSON, REST API
JSON, REST API3camp
 
Ostatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanie
Ostatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanieOstatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanie
Ostatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanie3camp
 

More from 3camp (20)

Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawekOchrona podatnych webaplikacji za pomocą wirtualnych poprawek
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek
 
Jak udokumentować bazę danych
Jak udokumentować bazę danychJak udokumentować bazę danych
Jak udokumentować bazę danych
 
ORM - tuningujemy podejście do mapowania
ORM - tuningujemy podejście do mapowaniaORM - tuningujemy podejście do mapowania
ORM - tuningujemy podejście do mapowania
 
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
No pressure, no diamonds. Rzecz o łamaniu zasad w projektach.
 
Wykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie AndroidWykorzystanie języka Kotlin do aplikacji na platformie Android
Wykorzystanie języka Kotlin do aplikacji na platformie Android
 
Learn you some rx for the greater good
Learn you some rx for the greater goodLearn you some rx for the greater good
Learn you some rx for the greater good
 
Google App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjachGoogle App Engine i Google Play Services w Twoich aplikacjach
Google App Engine i Google Play Services w Twoich aplikacjach
 
Reakcja łańcuchowa, czyli React.js w praktyce
Reakcja łańcuchowa, czyli React.js w praktyceReakcja łańcuchowa, czyli React.js w praktyce
Reakcja łańcuchowa, czyli React.js w praktyce
 
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
Odtwarzanie multimediów w HTML5, czyli Player przez duże „P”
 
AngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektuAngularJS (nie) nadaje się do dużego projektu
AngularJS (nie) nadaje się do dużego projektu
 
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
Przemysław Bartkowiak - Sam ustalasz ile za to zapłacisz – czyli nowy wymiar ...
 
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
Mirek Wąsowicz - Segment jednego, dokąd zmierza marketing online?
 
Artur Senk, OKE Poland, Big Data na zakupach
Artur Senk, OKE Poland, Big Data na zakupachArtur Senk, OKE Poland, Big Data na zakupach
Artur Senk, OKE Poland, Big Data na zakupach
 
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
Piotr Macuk, Konfeo.com, Programista i biznes – plusy i minusy własnej działa...
 
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnieMarcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
Marcin Maj, Kainos - QA – wartko, zmiennie i interdyscyplinarnie
 
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
Jak przesiąść się na rower na dwóch kółkach? Od trzyosobowego startupu do spó...
 
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
Łukasz Brzeziński - Jak zarabiać z Wikingami? Czyli monetyzacja portalu inter...
 
Marcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk ModelMarcin Szeląg, InnovationNest, Startup Risk Model
Marcin Szeląg, InnovationNest, Startup Risk Model
 
JSON, REST API
JSON, REST APIJSON, REST API
JSON, REST API
 
Ostatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanie
Ostatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanieOstatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanie
Ostatnia faza produktu: co się dzieję kiedy programista zakończył swoje zadanie
 

W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations i Code Review w praktyce

  • 1. W POSZUKIWANIU PROCESU DOSKONAŁEGO Wdrożenie Scruma, Continuous Integrations i Code Review w praktyce
  • 2. Czym się zajmuję? • Marcin Waligórski • Android Developer • FAMOC - system MDM • Android, iOS, Windows Phone
  • 4.
  • 5.
  • 6. PROBLEMY • Duży narzut na testy przed wydaniem wersji • Brak specyfikacji, wymagań, kryteriów akceptacji • Nie do końca spełnione oczekiwania klientów • Duży koszt utrzymania starszych fragmentów kodu, brak testów • Długi czas wydania poprawki dla aplikacji mobilnej • “Wrzutki”
  • 8. SCRUM Iteracyjna i przyrostowa metodyka prowadzenia projektów, zaliczana do metodyk zwinnych, zgodnych z manifestem Agile
  • 10. • Daily • Product i sprint backlog • Iteracyjne przyrosty - sprinty • Spotkania: demo, retrospektywa, grooming, planing • Planing poker, story points, definition of done • Tablice, karteczki, wykres burndown • Role: Product Owner, Scrum Master, Zespół PEŁNY SCRUM
  • 12. ZESPÓŁ SZYBKIEGO REAGOWANIA • Szybka reakcja na krytyczne bugi • Zajmowanie się wrzutkami, wydawaniem wersji • Wdrażanie nowych technologii i rozwiązań • Codzienne daily • Tablica z aktualnymi zadaniami i priorytetami • Brak sprintów i spotkań scrumowych
  • 13. Co zyskaliśmy? • lepiej opisane zadania i zdefiniowane cele • brak “przeskakiwania” między zadaniami • testy od razu po developmencie • szybki feedback i bug fixing • wzrost ogólnej jakości produktu • Częstsze wydania
  • 14. CONTINUOUS INTEGRATION Praktyka stosowana w trakcie rozwoju oprogramowania, polegająca na częstym, regularnym włączaniu (integracji) bieżących zmian w kodzie do głównego repozytorium
  • 15. Git + Maven + Jenkins
  • 16. Git + Maven • GIT • gitflow • MAVEN • zarządzanie zależnościami, biblioteki • proces budowania
  • 17. Maven • parametryzacja procesu budowania • różne podpisy • różne platformy • różne nazwy pakietów • NuGet dla Windows Phone • CocoaPods dla iOS
  • 18. Jenkins • Budowanie wersji przy każdym commicie • Budowanie konkretnych gałęzi • Dostępne kilka wersji (podpisy, package name, platforma) per build • Źródło wersji do testów i wydawania • Dodatkowe metryki (np. Lint, pokrycie kodu)
  • 19. CO ZYSKALIŚMY? • Zautomatyzowany i konfigurowalny proces budowania aplikacji • Szybka informacja zwrotna o statusie • Zawsze działający kod w repozytorium • Łatwy dostęp do wersji testowych czy kandydatów do wydania • Stały wgląd do metryk
  • 21. Gerrit • Narzędzie do inspekcji kodu online w przeglądarce • Darmowy • Tworzony przez Google • Integruje się z Gitem i Jenkinsem
  • 22.
  • 23.
  • 24. Do czego używamy code review? • Część mobilna • Przypadki testowe • Tłumaczenia • Część serwerowa
  • 25. CO ZYSKALIŚMY? • Podział i wymiana wiedzy w zespole • Zwiększona jakość aplikacji • Czytelniejszy, łatwiejszy do utrzymania kod • Wcześniejsze wyłapywanie potencjalnych błędów • Wprowadzanie standardów kodowania
  • 27.
  • 28. 51% 49% 62% 53% 43% 22% 25% FAMOC 3.12 FAMOC 3.18 % OF BUGS IN ISSUES
  • 29. • Testy automatyczne, testy integracyjne • Unit Testy