kaip agile skatina gerųjų praktikų panaudojimą
DESCRIPTION
...arba kodėl Agile neįmanomas be gerųjų praktikų panaudojimo ir kaip mes buvom priversti jas naudotiTRANSCRIPT
![Page 1: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/1.jpg)
Kaip Agile skatina gerųjų praktikų panaudojimą
Sergejus Barinovas (@sergejusb)
http://sergejus.blogas.lt
![Page 2: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/2.jpg)
Kodėl Agile neįmanomas be gerųjų praktikų panaudojimo
Sergejus Barinovas (@sergejusb)
http://sergejus.blogas.lt
![Page 3: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/3.jpg)
Tai nėra teorinis pristatymas
![Page 4: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/4.jpg)
Tai yra praktinis pristatymas apie mums iškilusias problemas
![Page 5: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/5.jpg)
Šaltas dušas #1
2 savaičių sprinte kūrimo darbai sudaro tik 5 dienas*
* naujai Agile komandai
![Page 6: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/6.jpg)
Scrum aritmetika
2 savaitės = 10 darbo dienų - 20% (2 dienos) Scrum ritualams - 1,5 dienos integracijai ir rankiniam diegimui - 1,5 dienos rankiniam testavimui = 5 darbo dienos!
![Page 7: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/7.jpg)
Šaltas dušas #2
Be tinkamo technologinio pasiruošimo naujos Agile komandos nespėja laiku
![Page 8: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/8.jpg)
Šis pristatymas apie tai kaip mes bandome didinti kūrimui skirtas dienas iki 7+ (~30%)
![Page 9: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/9.jpg)
Gerosios programavimo praktikos
Naktinis surinkimas (nightly build)
Nuolatinė integracija (continuous integration)
Modulių testai (unit tests)
Automatizuotas diegimas Automatizuoti funkciniai ir UI testai Diegimo paketai Nuolatinis diegimas (continuous deployment)
![Page 10: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/10.jpg)
pre-Agile laikai
![Page 11: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/11.jpg)
Apie ką nepasakosiu
PROD
![Page 12: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/12.jpg)
Prieš 1,5 metų naudojome tik paprasčiausias praktikas
![Page 13: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/13.jpg)
Naudotos praktikos
Visas kodas versijų kontrolės sistemoje SVN
Kodas kompiliuojamas specializuotame serveryje pagal paklausimą arba naktį TeamCity
Pavieniai modulio testai MSTest NUnit
![Page 14: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/14.jpg)
Agile laikai
![Page 15: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/15.jpg)
Sprintas #1, #2
Mes esame per lėti!
![Page 16: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/16.jpg)
Išryškėjo mūsų problemos
Laiko rijikai Pastovus rankinis diegimas Pilnai rankinis testavimas Integracijos atidedamos į pabaigą
Kodo baimė Mažas kodo pakeitimas reikalauja pilno testavimo
(regresijos tikrinimas)
Diegimo spūstys Nuo 9 val. vakaro gyva eilė diegimui 1-2 komandos atstovų asmeninis dalyvavimas
![Page 17: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/17.jpg)
Diegimo spūstys vaizdžiai
Release Manager
Komanda (diegia)
Komandos (laukia eilės)
PROD
![Page 18: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/18.jpg)
Kova su laiko rijikais
Integracijos atidedamos į pabaigą Nuolatinis surinkimas Commit metu Integraciniai testai
Pastovus rankinis diegimas Automatinis diegimas į DEV aplinkas (3 iš viso) iš
TeamCity serverio
Pilnai rankinis testavimas Modulių ir integraciniai testai Funkciniai ir UI testai (dar neturime daug)
SoapUI Selenium
![Page 19: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/19.jpg)
Kova su kodo baime
Mažas kodo pakeitimas reikalauja pilno testavimo (regresijos tikrinimas) Modulių testai
Geriausia turėti žmogų su patirtimi Gali pareikalauti kodo pertvarkymo Verslo logika atskirti nuo saugyklos Pirma kaip atskira užduotis, paskui privalomai
Integraciniai testai Sąveika su duomenų baze, Web servisu ir pan.
![Page 20: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/20.jpg)
Kova su diegimo spūstimis
Diegimo paketai MSBuild skriptai Vieno paspaudimo principas Visoms aplinkoms (3 DEV, INT, PrePROD, PROD) Paruošimas užtrunka tik pradžioje Pagaminami pilnai arba dalinai automatiškai
(surinkimo metu TeamCity serveryje) Jokio asmeninio komandų dalyvavimo diegimo metu
Centralizuotas diegimo paketų paleidimas keliuose serveriuose PowerShell skriptai
![Page 21: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/21.jpg)
Ištrauka iš laiško po diegimo
Paketai prasisuko be klaidų – jei kokio nors funkcionalumo nėra ar kas nors veikia nekorektiškai – duokit žinoti.
Beje, šį penktadienį buvo sudiegta 13 releasų į 4 aplinkas – tai reiškia, kad 52 releasai per dieną ... Tai kada mus pasivys Googlas ar Facebookas su savo 10 releasų per dieną ...
Have a nice day,
Laisvis.
![Page 22: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/22.jpg)
Įgyvendintos praktikos sutaupo 1-2 kūrimo dienas per sprintą
![Page 23: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/23.jpg)
Agile++ laikai
![Page 24: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/24.jpg)
Kas toliau?
![Page 25: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/25.jpg)
Gyvenimo tiesa
Panaikinus didesnę problemą, išryškėja mažesnė
![Page 26: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/26.jpg)
Išryškėjo naujos problemos
3 DEV ir INT aplinkos skiriasi nuo PROD Kartais aplinkos „sugadinamos“ ir atstatymas
užima kelias valandas Nauji serveriai nėra lengvai pakeliami
![Page 27: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/27.jpg)
Nuolatinis diegimas į pagalba!
![Page 28: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/28.jpg)
Nuolatinis diegimas
Galimybė automatiškai pakelti naują serverį Virtualios mašinos sukūrimas Infrastruktūros konfigūravimas Trečios šalies produktų diegimas Mūsų sistemos diegimas
Galimybė vykdyti nuolatinį automatinį viso serverio testavimą
Galimybė daryti diegimus apkeičiant serverius Pakėlimo skriptai tampa dokumentacija
![Page 29: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/29.jpg)
Prieš pabaigą...
... automatinis serverio sukūrimas ir konfigūravimas
![Page 30: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/30.jpg)
Apibendrinant...
![Page 31: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/31.jpg)
Gerąsias praktikas pradėjome taikyti ne todėl, kad tai „jėga“, tiesiog nenorėjome būti lėti
![Page 32: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/32.jpg)
Šaltas dušas #3
Agile kultūra komandose prigyja greičiau nei gerosios praktikos!
Gal verta nuo jų ir pradėti?
![Page 33: Kaip Agile skatina gerųjų praktikų panaudojimą](https://reader035.vdocuments.net/reader035/viewer/2022081413/548aac46b4795952448b4590/html5/thumbnails/33.jpg)
Ačiū! Klausimai?Sergejus Barinovas (@sergejusb)
http://sergejus.blogas.lt