SlideShare une entreprise Scribd logo
1  sur  38
SKOK NA NADERWANYM BUNGEE,
CZYLI AGILE BEZ AUTOMATYZACJI
Witold Bołt
Team Leader
wbolt@jitsolutions.pl
Barłomiej Zięba
Software Architect
bzieba@jitsolutions.pl
Wprowadzenie
Kilka słów o tym co większość z Was już wie?
Wprowadzenie
Wprowadzenie
Wprowadzenie
Wprowadzenie
Wprowadzenie
Wprowadzenie
Wprowadzenie
Wprowadzenie
Wprowadzenie
Przykład:
Projekt „green field”
Kiedy zaczynasz od zera, możesz wszystko
zrobić dobrze? Albo i nie...
Green-field project
Aplikacja biznesowe do generowania dokumentów
Technology stack: Java EE, JSF, Hibernate, MS SQL
Mały zespół: 2 x developer + 1 x tester
SCRUM, 1 tygodniowe sprinty – łączenie 5 sprintów
ok. 60 MD pracy, 7500 LOC + 7500 LOC testów
455 CI builds
Środowisko wytwórcze
Wyzwania i problemy
Klient zewnętrzny ma dostęp „read” do wszystkiego
Konfiguracja środowiska jednym z dostarczanych produktów
Integracja z systemami klienta: 2 x consume, 1 x provide
Niestabilna infrastruktura linii – zmieniliśmy datacenter w
trakcie
Niestabilne testy Selenium Webdriver
MS SQL 2012
Przykład:
Projekt typu „legacy”
Co zrobić gdy stoi za nami kupa ...
wcześniejszych doświadczeń, sukcesów,
słusznych decyzji, trafnych wyborów
i nie tylko?
Projekt „legacy”
Projekt bankowy rozwijany od lat
Wiele starego kodu w różnych technologiach
Sporo nowego kodu Java EE
Skomplikowana struktura środowisk testowych
Było
Jest
Jest
Niestabilna infrastruktura środowisk integration, QA i prelive
Blokada organizacyjna na poziomie release
„One repo to rule them all” -> code split, repo split , nexus!
Wiele elementów systemu (kontenery aplikacji, ESB itp.)
Wsparcie w zespole wewnętrznym, warsztaty
Gitflow, relalizowany na (i przez) Jenkinsie
2 poziomy reguł Sonara
Dokumentacja z kodu, info dla monitoringu – na wiki
Wzorce i antywzorce
automatyzacji
Kilka praktycznych porad...
DO NOT: Niestabilne środowisko / testy
Słaby sprzęt /
infrastruktura?
Niska wydajność i
dostępność?
Częste faile testów z
powodów „losowych”?
Środowisko CI to system
produkcyjny!
DO: Jenkins per projekt
Wiele projektów?
Systemów? Zespołów?
Wiele środowisk CI!
Wydajność, stabilność,
pewność...
Skomplikowane
zarządzanie?
Zautomatyzuj to!
DO: Wersjonuj WSZYSTKO
Skrypt administracyjne
Pliki konfiguracyjne
Baza danych
Definicja jobów CI,
konfiguracja workflow
... WSZYSTKO co się da
trafia do SCM!
DO NOT: Sonar overkill
Cel: zero naruszeń w
Sonarze?
Kary dla programistów,
którzy naruszają reguły?
Blokowanie commitów?
Sztywne granice odnośnie
code coverage, rules
complience, itd.?
NIE!
DO: Power to the people!
Oddzielny dział/zespół
rządzący środowiskiem CI?
Specjalne pozwolenie na
wykonanie builda?
Wniosek o odświeżenie
środowiska?
Programiści i testerzy
rządzą!
DO NOT: Zmieniamy wszystko na raz!
Stan obecny – wszystko
robimy ręcznie?
Co chcemy osiągnąć w
jednym kroku? Wszystko
automatycznie!
NIE!
Małe kroki, walidacja,
mierzymy korzyści!
DO NOT: „za wcześnie na automatyzację”
„Póki co nie ma czego
testować... Pomyślimy o
testach później!”
„Automatyczny
deployment teraz to strata
czasu – jak będą testy UAT
to zrobimy.”
NIE! Zacznij tak szybko jak
to możliwe.
DO: Hello World!
Testuj infrastrukturę CI!
Mini-projekt „hello world”
– czy przechodzi
poprawnie cały proces?
Czy każdy rozumie
proces?
Czy każdy otrzymuje
odpowiedni feedback?
DO NOT: te testy zawsze failują - spoko
„Spoko, te 6 testów
zawsze failuje...”
„Nie ma problemu – te
testy nie działają bo baza
nie ma danych...”
Akceptacja dla błędów to
źródło wielkiego zła!
Co zrobić? Wywal popsute
testy albo je napraw!
DO: Chodzi o informacje!
Propaguj informacje!
Lampy, odgłosy, ekrany,
maile, SMS, IM, spotkania
poranne... cokolwiek co
działa dla Ciebie.
Informacja, z której nikt
nie korzysta jest
bezużyteczna!
DO: Szybki feedback negatywny
Build & package
Unit tests
Integration tests
Deploy
Automated
functional tests
Dziel duże joby na kawałki
W pierwszej kolejności
uruchamiaj:
To co działa szybko
To co ma dużą szansę się
wywalić
Zespół powinien szybko
wiedzieć, że jest źle – o ile
jest ;)
DO NOT: ręczne poprawki po automatach
Build się nie udał?!
Spokojnie – umiem to
naprawić... ssh, cp, rm,
vim, deploy.sh, DONE!
Zamiast ręcznie poprawić
popsuty build – popraw
automat!
DO: Refactoring linii produkcyjnej
Czy wszystkie narzędzia, które
mamy są nam potrzebne?
Czy osiągamy korzyści z
naszych procesów?
Czy wszystko jest poprawnie
zintegrowane?
Czy coś można zrównoleglić?
Czy coś jeszcze można
automatyzować?
DO: ADD = Automation Driven Design
Projektuj z myślą o
automatyzacji
Wybieraj rozwiązania,
które dają się
automatyzować i
wersjonować
DO: Rozwijaj się w kierunku automatyzacji
Warto się rozwijać w
obszarze automatyzacji
procesów!
Warto inwestować w
automatyzację!
Do dzieła!
Dzięki!
Witold Bołt
wbolt@jitsolutions.pl
Bartłomiej Zięba
bzieba@jitsolutions.pl
Online:
www.facebook.com/jitsolutions.gdynia
www.jitsolutions.pl

Contenu connexe

En vedette

infoShare 2013: Wojciech Seliga - Kariera software developera na poważnie.
infoShare 2013: Wojciech Seliga - Kariera software developera na poważnie.infoShare 2013: Wojciech Seliga - Kariera software developera na poważnie.
infoShare 2013: Wojciech Seliga - Kariera software developera na poważnie.Infoshare
 
infoShare 2013: Nicolas Brusson - The importance of the trust in the sharing ...
infoShare 2013: Nicolas Brusson - The importance of the trust in the sharing ...infoShare 2013: Nicolas Brusson - The importance of the trust in the sharing ...
infoShare 2013: Nicolas Brusson - The importance of the trust in the sharing ...Infoshare
 
infoShare 2014: Gino Marckx, Forget about Agile, let's write great code first!
infoShare 2014: Gino Marckx, Forget about Agile, let's write great code first!infoShare 2014: Gino Marckx, Forget about Agile, let's write great code first!
infoShare 2014: Gino Marckx, Forget about Agile, let's write great code first!Infoshare
 
infoShare 2014: Michał Polak, Smart Cities na wyciągnięcie smartfona.
infoShare 2014: Michał Polak, Smart Cities na wyciągnięcie smartfona.infoShare 2014: Michał Polak, Smart Cities na wyciągnięcie smartfona.
infoShare 2014: Michał Polak, Smart Cities na wyciągnięcie smartfona.Infoshare
 
infoShare 2014: Marek Landowski, Architektura SWIFT obiektowego przechowywani...
infoShare 2014: Marek Landowski, Architektura SWIFT obiektowego przechowywani...infoShare 2014: Marek Landowski, Architektura SWIFT obiektowego przechowywani...
infoShare 2014: Marek Landowski, Architektura SWIFT obiektowego przechowywani...Infoshare
 
infoShare 2014: Mariusz Róg, Big Data w praktyce -- jak efektywnie przetwarza...
infoShare 2014: Mariusz Róg, Big Data w praktyce -- jak efektywnie przetwarza...infoShare 2014: Mariusz Róg, Big Data w praktyce -- jak efektywnie przetwarza...
infoShare 2014: Mariusz Róg, Big Data w praktyce -- jak efektywnie przetwarza...Infoshare
 
infoShare 2014: Paweł Brodziński, Efektywny czy zajęty? Jesteś pewien, że dob...
infoShare 2014: Paweł Brodziński, Efektywny czy zajęty? Jesteś pewien, że dob...infoShare 2014: Paweł Brodziński, Efektywny czy zajęty? Jesteś pewien, że dob...
infoShare 2014: Paweł Brodziński, Efektywny czy zajęty? Jesteś pewien, że dob...Infoshare
 
infoShare 2014: Peter Taylor,The Art of Productive Laziness
infoShare 2014: Peter Taylor,The Art of Productive LazinessinfoShare 2014: Peter Taylor,The Art of Productive Laziness
infoShare 2014: Peter Taylor,The Art of Productive LazinessInfoshare
 

En vedette (8)

infoShare 2013: Wojciech Seliga - Kariera software developera na poważnie.
infoShare 2013: Wojciech Seliga - Kariera software developera na poważnie.infoShare 2013: Wojciech Seliga - Kariera software developera na poważnie.
infoShare 2013: Wojciech Seliga - Kariera software developera na poważnie.
 
infoShare 2013: Nicolas Brusson - The importance of the trust in the sharing ...
infoShare 2013: Nicolas Brusson - The importance of the trust in the sharing ...infoShare 2013: Nicolas Brusson - The importance of the trust in the sharing ...
infoShare 2013: Nicolas Brusson - The importance of the trust in the sharing ...
 
infoShare 2014: Gino Marckx, Forget about Agile, let's write great code first!
infoShare 2014: Gino Marckx, Forget about Agile, let's write great code first!infoShare 2014: Gino Marckx, Forget about Agile, let's write great code first!
infoShare 2014: Gino Marckx, Forget about Agile, let's write great code first!
 
infoShare 2014: Michał Polak, Smart Cities na wyciągnięcie smartfona.
infoShare 2014: Michał Polak, Smart Cities na wyciągnięcie smartfona.infoShare 2014: Michał Polak, Smart Cities na wyciągnięcie smartfona.
infoShare 2014: Michał Polak, Smart Cities na wyciągnięcie smartfona.
 
infoShare 2014: Marek Landowski, Architektura SWIFT obiektowego przechowywani...
infoShare 2014: Marek Landowski, Architektura SWIFT obiektowego przechowywani...infoShare 2014: Marek Landowski, Architektura SWIFT obiektowego przechowywani...
infoShare 2014: Marek Landowski, Architektura SWIFT obiektowego przechowywani...
 
infoShare 2014: Mariusz Róg, Big Data w praktyce -- jak efektywnie przetwarza...
infoShare 2014: Mariusz Róg, Big Data w praktyce -- jak efektywnie przetwarza...infoShare 2014: Mariusz Róg, Big Data w praktyce -- jak efektywnie przetwarza...
infoShare 2014: Mariusz Róg, Big Data w praktyce -- jak efektywnie przetwarza...
 
infoShare 2014: Paweł Brodziński, Efektywny czy zajęty? Jesteś pewien, że dob...
infoShare 2014: Paweł Brodziński, Efektywny czy zajęty? Jesteś pewien, że dob...infoShare 2014: Paweł Brodziński, Efektywny czy zajęty? Jesteś pewien, że dob...
infoShare 2014: Paweł Brodziński, Efektywny czy zajęty? Jesteś pewien, że dob...
 
infoShare 2014: Peter Taylor,The Art of Productive Laziness
infoShare 2014: Peter Taylor,The Art of Productive LazinessinfoShare 2014: Peter Taylor,The Art of Productive Laziness
infoShare 2014: Peter Taylor,The Art of Productive Laziness
 

Similaire à infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli Agile bez automatyzacji.

CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieGrzegorz Godlewski
 
DevOps - what I have learnt so far
DevOps - what I have learnt so far DevOps - what I have learnt so far
DevOps - what I have learnt so far Wojciech Barczyński
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testowWiktor Żołnowski
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlSebastian Marek
 
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31kraqa
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wojciech Barczyński
 
Sporządzanie oraz umiejętne wykorzystanie przepisów i schematów. Ansible w pr...
Sporządzanie oraz umiejętne wykorzystanie przepisów i schematów. Ansible w pr...Sporządzanie oraz umiejętne wykorzystanie przepisów i schematów. Ansible w pr...
Sporządzanie oraz umiejętne wykorzystanie przepisów i schematów. Ansible w pr...The Software House
 
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
 
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test..."Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...Women in Technology Poland
 
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...Bartłomiej Miś
 
Ciągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I NarzędziaCiągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I NarzędziaPaweł Harajda
 
Zasady technicznej organizacji projektów programistycznych
Zasady technicznej organizacji projektów programistycznychZasady technicznej organizacji projektów programistycznych
Zasady technicznej organizacji projektów programistycznychsztywny
 
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
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 

Similaire à infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli Agile bez automatyzacji. (20)

university day 1
university day 1university day 1
university day 1
 
CI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecieCI oraz CD w złożonym projekcie o małym budżecie
CI oraz CD w złożonym projekcie o małym budżecie
 
DevOps - what I have learnt so far
DevOps - what I have learnt so far DevOps - what I have learnt so far
DevOps - what I have learnt so far
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
Strategie automatyzacji testow
Strategie automatyzacji testowStrategie automatyzacji testow
Strategie automatyzacji testow
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPl
 
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
Od Produktywności do Sabotażu - Sławomir Radzymiński, KraQA #31
 
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
Wprowadzenie do Kubernetesa. K8S jako nowy Linux.
 
ANSIBLE W PRAKTYCE
ANSIBLE W PRAKTYCEANSIBLE W PRAKTYCE
ANSIBLE W PRAKTYCE
 
Sporządzanie oraz umiejętne wykorzystanie przepisów i schematów. Ansible w pr...
Sporządzanie oraz umiejętne wykorzystanie przepisów i schematów. Ansible w pr...Sporządzanie oraz umiejętne wykorzystanie przepisów i schematów. Ansible w pr...
Sporządzanie oraz umiejętne wykorzystanie przepisów i schematów. Ansible w pr...
 
Testowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO AcademyTestowanie automatyczne 2024 INCO Academy
Testowanie automatyczne 2024 INCO Academy
 
Open your project
Open your project Open your project
Open your project
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
 
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test..."Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
"Wyzwania automatyzacji w ciągłej integracji" - o tworzeniu i utrzymaniu test...
 
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
 
Ciągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I NarzędziaCiągła Integracja W Projekcie - Metodyka I Narzędzia
Ciągła Integracja W Projekcie - Metodyka I Narzędzia
 
Scam, scum, sacrum
Scam, scum, sacrumScam, scum, sacrum
Scam, scum, sacrum
 
Zasady technicznej organizacji projektów programistycznych
Zasady technicznej organizacji projektów programistycznychZasady technicznej organizacji projektów programistycznych
Zasady technicznej organizacji projektów programistycznych
 
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
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 

Plus de Infoshare

infoShare AI Roadshow 2018 - Barbara Leśniarek (Elitmind) - ”Łapać złodzieja!...
infoShare AI Roadshow 2018 - Barbara Leśniarek (Elitmind) - ”Łapać złodzieja!...infoShare AI Roadshow 2018 - Barbara Leśniarek (Elitmind) - ”Łapać złodzieja!...
infoShare AI Roadshow 2018 - Barbara Leśniarek (Elitmind) - ”Łapać złodzieja!...Infoshare
 
infoShare AI Roadshow 2018 - Wojtek Ptak (Freshmail) - Teraz - najlepszy czas...
infoShare AI Roadshow 2018 - Wojtek Ptak (Freshmail) - Teraz - najlepszy czas...infoShare AI Roadshow 2018 - Wojtek Ptak (Freshmail) - Teraz - najlepszy czas...
infoShare AI Roadshow 2018 - Wojtek Ptak (Freshmail) - Teraz - najlepszy czas...Infoshare
 
infoShare AI Roadshow 2018 - Tomasz Brzeziński (iTaxi) - Niestandardowe metod...
infoShare AI Roadshow 2018 - Tomasz Brzeziński (iTaxi) - Niestandardowe metod...infoShare AI Roadshow 2018 - Tomasz Brzeziński (iTaxi) - Niestandardowe metod...
infoShare AI Roadshow 2018 - Tomasz Brzeziński (iTaxi) - Niestandardowe metod...Infoshare
 
infoShare AI Roadshow 2018 - Rafał Cycoń (ShelfWise.ai) - Wyzwania w tworzeni...
infoShare AI Roadshow 2018 - Rafał Cycoń (ShelfWise.ai) - Wyzwania w tworzeni...infoShare AI Roadshow 2018 - Rafał Cycoń (ShelfWise.ai) - Wyzwania w tworzeni...
infoShare AI Roadshow 2018 - Rafał Cycoń (ShelfWise.ai) - Wyzwania w tworzeni...Infoshare
 
infoShare AI Roadshow 2018 - Paweł Wyborski (QuarticON) - Jak AI pomaga sprze...
infoShare AI Roadshow 2018 - Paweł Wyborski (QuarticON) - Jak AI pomaga sprze...infoShare AI Roadshow 2018 - Paweł Wyborski (QuarticON) - Jak AI pomaga sprze...
infoShare AI Roadshow 2018 - Paweł Wyborski (QuarticON) - Jak AI pomaga sprze...Infoshare
 
infoShare AI Roadshow 2018 - Mateusz Biliński (Niebezpiecznik) - Hackowanie (...
infoShare AI Roadshow 2018 - Mateusz Biliński (Niebezpiecznik) - Hackowanie (...infoShare AI Roadshow 2018 - Mateusz Biliński (Niebezpiecznik) - Hackowanie (...
infoShare AI Roadshow 2018 - Mateusz Biliński (Niebezpiecznik) - Hackowanie (...Infoshare
 
infoShare AI Roadshow 2018 - Krzysztof Kudryński & Błażej Kubiak (TomTom) - D...
infoShare AI Roadshow 2018 - Krzysztof Kudryński & Błażej Kubiak (TomTom) - D...infoShare AI Roadshow 2018 - Krzysztof Kudryński & Błażej Kubiak (TomTom) - D...
infoShare AI Roadshow 2018 - Krzysztof Kudryński & Błażej Kubiak (TomTom) - D...Infoshare
 
infoShare AI Roadshow 2018 - Magdalena Wójcik (Data Love) - Data Science na d...
infoShare AI Roadshow 2018 - Magdalena Wójcik (Data Love) - Data Science na d...infoShare AI Roadshow 2018 - Magdalena Wójcik (Data Love) - Data Science na d...
infoShare AI Roadshow 2018 - Magdalena Wójcik (Data Love) - Data Science na d...Infoshare
 
infoShare AI Roadshow 2018 - Adrian Boguszewski (Linux Polska) - Czy sieć neu...
infoShare AI Roadshow 2018 - Adrian Boguszewski (Linux Polska) - Czy sieć neu...infoShare AI Roadshow 2018 - Adrian Boguszewski (Linux Polska) - Czy sieć neu...
infoShare AI Roadshow 2018 - Adrian Boguszewski (Linux Polska) - Czy sieć neu...Infoshare
 
infoShare AI Roadshow 2018 - Dorian Nikoniuk (Microsoft) - Usługi poznawcze, ...
infoShare AI Roadshow 2018 - Dorian Nikoniuk (Microsoft) - Usługi poznawcze, ...infoShare AI Roadshow 2018 - Dorian Nikoniuk (Microsoft) - Usługi poznawcze, ...
infoShare AI Roadshow 2018 - Dorian Nikoniuk (Microsoft) - Usługi poznawcze, ...Infoshare
 
infoShare AI Roadshow 2018 - Tomasz Kopacz (Microsoft) - jakie możliwości daj...
infoShare AI Roadshow 2018 - Tomasz Kopacz (Microsoft) - jakie możliwości daj...infoShare AI Roadshow 2018 - Tomasz Kopacz (Microsoft) - jakie możliwości daj...
infoShare AI Roadshow 2018 - Tomasz Kopacz (Microsoft) - jakie możliwości daj...Infoshare
 
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...Infoshare
 
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurzeinfoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurzeInfoshare
 
infoShare 2014: Michał Sierzputowski, Testy automatyczne aplikacji webowych o...
infoShare 2014: Michał Sierzputowski, Testy automatyczne aplikacji webowych o...infoShare 2014: Michał Sierzputowski, Testy automatyczne aplikacji webowych o...
infoShare 2014: Michał Sierzputowski, Testy automatyczne aplikacji webowych o...Infoshare
 
infoShare 2014:Jacek Samsel, Andrzej Pyra, Marketingowa mapa skarbów: w jaki ...
infoShare 2014:Jacek Samsel, Andrzej Pyra, Marketingowa mapa skarbów: w jaki ...infoShare 2014:Jacek Samsel, Andrzej Pyra, Marketingowa mapa skarbów: w jaki ...
infoShare 2014:Jacek Samsel, Andrzej Pyra, Marketingowa mapa skarbów: w jaki ...Infoshare
 
infoShare 2014: Jacek kmiecik, Tworzenie aplikacji na Google Glass.
infoShare 2014: Jacek kmiecik, Tworzenie aplikacji na Google Glass.infoShare 2014: Jacek kmiecik, Tworzenie aplikacji na Google Glass.
infoShare 2014: Jacek kmiecik, Tworzenie aplikacji na Google Glass.Infoshare
 
infoShare 2014: Bartosz Leoszewski, Mobilność to już nie tylko smartfony i ta...
infoShare 2014: Bartosz Leoszewski, Mobilność to już nie tylko smartfony i ta...infoShare 2014: Bartosz Leoszewski, Mobilność to już nie tylko smartfony i ta...
infoShare 2014: Bartosz Leoszewski, Mobilność to już nie tylko smartfony i ta...Infoshare
 
infoShare 2014: Wojciech Seliga, Innowacja w praktyce - jak może powstawać so...
infoShare 2014: Wojciech Seliga, Innowacja w praktyce - jak może powstawać so...infoShare 2014: Wojciech Seliga, Innowacja w praktyce - jak może powstawać so...
infoShare 2014: Wojciech Seliga, Innowacja w praktyce - jak może powstawać so...Infoshare
 
infoShare 2014: Paweł Tkaczyk, Klątwa nieśmiertelności
infoShare 2014: Paweł Tkaczyk, Klątwa nieśmiertelnościinfoShare 2014: Paweł Tkaczyk, Klątwa nieśmiertelności
infoShare 2014: Paweł Tkaczyk, Klątwa nieśmiertelnościInfoshare
 
infoShare 2014: Nikolay Davidov, Finding value in institutional investors
infoShare 2014: Nikolay Davidov, Finding value in institutional investorsinfoShare 2014: Nikolay Davidov, Finding value in institutional investors
infoShare 2014: Nikolay Davidov, Finding value in institutional investorsInfoshare
 

Plus de Infoshare (20)

infoShare AI Roadshow 2018 - Barbara Leśniarek (Elitmind) - ”Łapać złodzieja!...
infoShare AI Roadshow 2018 - Barbara Leśniarek (Elitmind) - ”Łapać złodzieja!...infoShare AI Roadshow 2018 - Barbara Leśniarek (Elitmind) - ”Łapać złodzieja!...
infoShare AI Roadshow 2018 - Barbara Leśniarek (Elitmind) - ”Łapać złodzieja!...
 
infoShare AI Roadshow 2018 - Wojtek Ptak (Freshmail) - Teraz - najlepszy czas...
infoShare AI Roadshow 2018 - Wojtek Ptak (Freshmail) - Teraz - najlepszy czas...infoShare AI Roadshow 2018 - Wojtek Ptak (Freshmail) - Teraz - najlepszy czas...
infoShare AI Roadshow 2018 - Wojtek Ptak (Freshmail) - Teraz - najlepszy czas...
 
infoShare AI Roadshow 2018 - Tomasz Brzeziński (iTaxi) - Niestandardowe metod...
infoShare AI Roadshow 2018 - Tomasz Brzeziński (iTaxi) - Niestandardowe metod...infoShare AI Roadshow 2018 - Tomasz Brzeziński (iTaxi) - Niestandardowe metod...
infoShare AI Roadshow 2018 - Tomasz Brzeziński (iTaxi) - Niestandardowe metod...
 
infoShare AI Roadshow 2018 - Rafał Cycoń (ShelfWise.ai) - Wyzwania w tworzeni...
infoShare AI Roadshow 2018 - Rafał Cycoń (ShelfWise.ai) - Wyzwania w tworzeni...infoShare AI Roadshow 2018 - Rafał Cycoń (ShelfWise.ai) - Wyzwania w tworzeni...
infoShare AI Roadshow 2018 - Rafał Cycoń (ShelfWise.ai) - Wyzwania w tworzeni...
 
infoShare AI Roadshow 2018 - Paweł Wyborski (QuarticON) - Jak AI pomaga sprze...
infoShare AI Roadshow 2018 - Paweł Wyborski (QuarticON) - Jak AI pomaga sprze...infoShare AI Roadshow 2018 - Paweł Wyborski (QuarticON) - Jak AI pomaga sprze...
infoShare AI Roadshow 2018 - Paweł Wyborski (QuarticON) - Jak AI pomaga sprze...
 
infoShare AI Roadshow 2018 - Mateusz Biliński (Niebezpiecznik) - Hackowanie (...
infoShare AI Roadshow 2018 - Mateusz Biliński (Niebezpiecznik) - Hackowanie (...infoShare AI Roadshow 2018 - Mateusz Biliński (Niebezpiecznik) - Hackowanie (...
infoShare AI Roadshow 2018 - Mateusz Biliński (Niebezpiecznik) - Hackowanie (...
 
infoShare AI Roadshow 2018 - Krzysztof Kudryński & Błażej Kubiak (TomTom) - D...
infoShare AI Roadshow 2018 - Krzysztof Kudryński & Błażej Kubiak (TomTom) - D...infoShare AI Roadshow 2018 - Krzysztof Kudryński & Błażej Kubiak (TomTom) - D...
infoShare AI Roadshow 2018 - Krzysztof Kudryński & Błażej Kubiak (TomTom) - D...
 
infoShare AI Roadshow 2018 - Magdalena Wójcik (Data Love) - Data Science na d...
infoShare AI Roadshow 2018 - Magdalena Wójcik (Data Love) - Data Science na d...infoShare AI Roadshow 2018 - Magdalena Wójcik (Data Love) - Data Science na d...
infoShare AI Roadshow 2018 - Magdalena Wójcik (Data Love) - Data Science na d...
 
infoShare AI Roadshow 2018 - Adrian Boguszewski (Linux Polska) - Czy sieć neu...
infoShare AI Roadshow 2018 - Adrian Boguszewski (Linux Polska) - Czy sieć neu...infoShare AI Roadshow 2018 - Adrian Boguszewski (Linux Polska) - Czy sieć neu...
infoShare AI Roadshow 2018 - Adrian Boguszewski (Linux Polska) - Czy sieć neu...
 
infoShare AI Roadshow 2018 - Dorian Nikoniuk (Microsoft) - Usługi poznawcze, ...
infoShare AI Roadshow 2018 - Dorian Nikoniuk (Microsoft) - Usługi poznawcze, ...infoShare AI Roadshow 2018 - Dorian Nikoniuk (Microsoft) - Usługi poznawcze, ...
infoShare AI Roadshow 2018 - Dorian Nikoniuk (Microsoft) - Usługi poznawcze, ...
 
infoShare AI Roadshow 2018 - Tomasz Kopacz (Microsoft) - jakie możliwości daj...
infoShare AI Roadshow 2018 - Tomasz Kopacz (Microsoft) - jakie możliwości daj...infoShare AI Roadshow 2018 - Tomasz Kopacz (Microsoft) - jakie możliwości daj...
infoShare AI Roadshow 2018 - Tomasz Kopacz (Microsoft) - jakie możliwości daj...
 
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...
 
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurzeinfoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
infoShare AI Roadshow 2018 - Michał Ćwiok (Clouds on Mars) - Usługi AI w chmurze
 
infoShare 2014: Michał Sierzputowski, Testy automatyczne aplikacji webowych o...
infoShare 2014: Michał Sierzputowski, Testy automatyczne aplikacji webowych o...infoShare 2014: Michał Sierzputowski, Testy automatyczne aplikacji webowych o...
infoShare 2014: Michał Sierzputowski, Testy automatyczne aplikacji webowych o...
 
infoShare 2014:Jacek Samsel, Andrzej Pyra, Marketingowa mapa skarbów: w jaki ...
infoShare 2014:Jacek Samsel, Andrzej Pyra, Marketingowa mapa skarbów: w jaki ...infoShare 2014:Jacek Samsel, Andrzej Pyra, Marketingowa mapa skarbów: w jaki ...
infoShare 2014:Jacek Samsel, Andrzej Pyra, Marketingowa mapa skarbów: w jaki ...
 
infoShare 2014: Jacek kmiecik, Tworzenie aplikacji na Google Glass.
infoShare 2014: Jacek kmiecik, Tworzenie aplikacji na Google Glass.infoShare 2014: Jacek kmiecik, Tworzenie aplikacji na Google Glass.
infoShare 2014: Jacek kmiecik, Tworzenie aplikacji na Google Glass.
 
infoShare 2014: Bartosz Leoszewski, Mobilność to już nie tylko smartfony i ta...
infoShare 2014: Bartosz Leoszewski, Mobilność to już nie tylko smartfony i ta...infoShare 2014: Bartosz Leoszewski, Mobilność to już nie tylko smartfony i ta...
infoShare 2014: Bartosz Leoszewski, Mobilność to już nie tylko smartfony i ta...
 
infoShare 2014: Wojciech Seliga, Innowacja w praktyce - jak może powstawać so...
infoShare 2014: Wojciech Seliga, Innowacja w praktyce - jak może powstawać so...infoShare 2014: Wojciech Seliga, Innowacja w praktyce - jak może powstawać so...
infoShare 2014: Wojciech Seliga, Innowacja w praktyce - jak może powstawać so...
 
infoShare 2014: Paweł Tkaczyk, Klątwa nieśmiertelności
infoShare 2014: Paweł Tkaczyk, Klątwa nieśmiertelnościinfoShare 2014: Paweł Tkaczyk, Klątwa nieśmiertelności
infoShare 2014: Paweł Tkaczyk, Klątwa nieśmiertelności
 
infoShare 2014: Nikolay Davidov, Finding value in institutional investors
infoShare 2014: Nikolay Davidov, Finding value in institutional investorsinfoShare 2014: Nikolay Davidov, Finding value in institutional investors
infoShare 2014: Nikolay Davidov, Finding value in institutional investors
 

infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli Agile bez automatyzacji.

  • 1. SKOK NA NADERWANYM BUNGEE, CZYLI AGILE BEZ AUTOMATYZACJI Witold Bołt Team Leader wbolt@jitsolutions.pl Barłomiej Zięba Software Architect bzieba@jitsolutions.pl
  • 2. Wprowadzenie Kilka słów o tym co większość z Was już wie?
  • 10.
  • 13. Przykład: Projekt „green field” Kiedy zaczynasz od zera, możesz wszystko zrobić dobrze? Albo i nie...
  • 14. Green-field project Aplikacja biznesowe do generowania dokumentów Technology stack: Java EE, JSF, Hibernate, MS SQL Mały zespół: 2 x developer + 1 x tester SCRUM, 1 tygodniowe sprinty – łączenie 5 sprintów ok. 60 MD pracy, 7500 LOC + 7500 LOC testów 455 CI builds
  • 16. Wyzwania i problemy Klient zewnętrzny ma dostęp „read” do wszystkiego Konfiguracja środowiska jednym z dostarczanych produktów Integracja z systemami klienta: 2 x consume, 1 x provide Niestabilna infrastruktura linii – zmieniliśmy datacenter w trakcie Niestabilne testy Selenium Webdriver MS SQL 2012
  • 17. Przykład: Projekt typu „legacy” Co zrobić gdy stoi za nami kupa ... wcześniejszych doświadczeń, sukcesów, słusznych decyzji, trafnych wyborów i nie tylko?
  • 18. Projekt „legacy” Projekt bankowy rozwijany od lat Wiele starego kodu w różnych technologiach Sporo nowego kodu Java EE Skomplikowana struktura środowisk testowych
  • 19. Było
  • 20. Jest
  • 21. Jest Niestabilna infrastruktura środowisk integration, QA i prelive Blokada organizacyjna na poziomie release „One repo to rule them all” -> code split, repo split , nexus! Wiele elementów systemu (kontenery aplikacji, ESB itp.) Wsparcie w zespole wewnętrznym, warsztaty Gitflow, relalizowany na (i przez) Jenkinsie 2 poziomy reguł Sonara Dokumentacja z kodu, info dla monitoringu – na wiki
  • 23. DO NOT: Niestabilne środowisko / testy Słaby sprzęt / infrastruktura? Niska wydajność i dostępność? Częste faile testów z powodów „losowych”? Środowisko CI to system produkcyjny!
  • 24. DO: Jenkins per projekt Wiele projektów? Systemów? Zespołów? Wiele środowisk CI! Wydajność, stabilność, pewność... Skomplikowane zarządzanie? Zautomatyzuj to!
  • 25. DO: Wersjonuj WSZYSTKO Skrypt administracyjne Pliki konfiguracyjne Baza danych Definicja jobów CI, konfiguracja workflow ... WSZYSTKO co się da trafia do SCM!
  • 26. DO NOT: Sonar overkill Cel: zero naruszeń w Sonarze? Kary dla programistów, którzy naruszają reguły? Blokowanie commitów? Sztywne granice odnośnie code coverage, rules complience, itd.? NIE!
  • 27. DO: Power to the people! Oddzielny dział/zespół rządzący środowiskiem CI? Specjalne pozwolenie na wykonanie builda? Wniosek o odświeżenie środowiska? Programiści i testerzy rządzą!
  • 28. DO NOT: Zmieniamy wszystko na raz! Stan obecny – wszystko robimy ręcznie? Co chcemy osiągnąć w jednym kroku? Wszystko automatycznie! NIE! Małe kroki, walidacja, mierzymy korzyści!
  • 29. DO NOT: „za wcześnie na automatyzację” „Póki co nie ma czego testować... Pomyślimy o testach później!” „Automatyczny deployment teraz to strata czasu – jak będą testy UAT to zrobimy.” NIE! Zacznij tak szybko jak to możliwe.
  • 30. DO: Hello World! Testuj infrastrukturę CI! Mini-projekt „hello world” – czy przechodzi poprawnie cały proces? Czy każdy rozumie proces? Czy każdy otrzymuje odpowiedni feedback?
  • 31. DO NOT: te testy zawsze failują - spoko „Spoko, te 6 testów zawsze failuje...” „Nie ma problemu – te testy nie działają bo baza nie ma danych...” Akceptacja dla błędów to źródło wielkiego zła! Co zrobić? Wywal popsute testy albo je napraw!
  • 32. DO: Chodzi o informacje! Propaguj informacje! Lampy, odgłosy, ekrany, maile, SMS, IM, spotkania poranne... cokolwiek co działa dla Ciebie. Informacja, z której nikt nie korzysta jest bezużyteczna!
  • 33. DO: Szybki feedback negatywny Build & package Unit tests Integration tests Deploy Automated functional tests Dziel duże joby na kawałki W pierwszej kolejności uruchamiaj: To co działa szybko To co ma dużą szansę się wywalić Zespół powinien szybko wiedzieć, że jest źle – o ile jest ;)
  • 34. DO NOT: ręczne poprawki po automatach Build się nie udał?! Spokojnie – umiem to naprawić... ssh, cp, rm, vim, deploy.sh, DONE! Zamiast ręcznie poprawić popsuty build – popraw automat!
  • 35. DO: Refactoring linii produkcyjnej Czy wszystkie narzędzia, które mamy są nam potrzebne? Czy osiągamy korzyści z naszych procesów? Czy wszystko jest poprawnie zintegrowane? Czy coś można zrównoleglić? Czy coś jeszcze można automatyzować?
  • 36. DO: ADD = Automation Driven Design Projektuj z myślą o automatyzacji Wybieraj rozwiązania, które dają się automatyzować i wersjonować
  • 37. DO: Rozwijaj się w kierunku automatyzacji Warto się rozwijać w obszarze automatyzacji procesów! Warto inwestować w automatyzację! Do dzieła!