Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Kaip Agile skatina gerųjų praktikų panaudojimą<br />Sergejus Barinovas (@sergejusb)<br />http://sergejus.blogas.lt<br />
Kodėl Agile neįmanomas be gerųjų praktikų panaudojimo<br />Sergejus Barinovas (@sergejusb)<br />http://sergejus.blogas.lt<...
Tai nėrateorinis pristatymas<br />
Tai yra praktinis pristatymas apie mums iškilusias problemas<br />
Šaltas dušas #1<br />2 savaičių sprinte kūrimo darbai sudaro tik 5 dienas*<br />* naujai Agile komandai<br />
Scrum aritmetika<br />2 savaitės = 10 darbo dienų<br />- 20% (2 dienos) Scrum ritualams<br />- 1,5 dienos integracijai ir ...
Šaltas dušas #2<br />Be tinkamo technologinio pasiruošimo naujos Agile komandos nespėja laiku<br />
Šis pristatymas apie tai kaip mes bandome didinti kūrimui skirtas dienas iki 7+ (~30%)<br />
Gerosios programavimo praktikos<br />Naktinis surinkimas (nightlybuild)<br />Nuolatinė integracija (continuousintegration)...
pre-Agile laikai<br />
Apie ką nepasakosiu<br />PROD<br />
Prieš 1,5 metų naudojome tik paprasčiausias praktikas<br />
Naudotos praktikos<br />Visas kodas versijų kontrolės sistemoje<br />SVN<br />Kodas kompiliuojamas specializuotame servery...
Agile laikai<br />
Sprintas #1, #2<br />Mes esame per lėti!<br />
Išryškėjo mūsų problemos<br />Laiko rijikai<br />Pastovus rankinis diegimas<br />Pilnai rankinis testavimas<br />Integraci...
Diegimo spūstys vaizdžiai<br />Komanda (diegia)<br />ReleaseManager<br />PROD<br />Komandos (laukia eilės)<br />
Kova su laiko rijikais<br />Integracijos atidedamos į pabaigą<br />Nuolatinis surinkimas Commit metu<br />Integraciniai te...
Kova su kodo baime<br />Mažas kodo pakeitimas reikalauja pilno testavimo (regresijos tikrinimas)<br />Modulių testai<br />...
Kova su diegimo spūstimis<br />Diegimo paketai<br />MSBuildskriptai<br />Vieno paspaudimo principas<br />Visoms aplinkoms ...
Ištrauka iš laiško po diegimo<br />Paketai prasisuko be klaidų – jei kokio nors funkcionalumo nėra ar kas nors veikia neko...
Įgyvendintos praktikos sutaupo 1-2kūrimo dienas per sprintą<br />
Agile++ laikai<br />
Kas toliau?<br />
Gyvenimo tiesa<br />Panaikinus didesnę problemą, išryškėja mažesnė<br />
Išryškėjo naujos problemos<br />3 DEV ir INT aplinkos skiriasi nuo PROD<br />Kartais aplinkos „sugadinamos“ ir atstatymas ...
Nuolatinis diegimas į pagalba!<br />
Nuolatinis diegimas<br />Galimybė automatiškai pakelti naują serverį<br />Virtualios mašinos sukūrimas<br />Infrastruktūro...
Prieš pabaigą...<br />... automatinis serverio sukūrimas ir konfigūravimas<br />
Apibendrinant...<br />
Gerąsias praktikas pradėjome taikyti ne todėl, kad tai „jėga“, tiesiog nenorėjome būti lėti<br />
Šaltas dušas #3<br />Agile kultūra komandose prigyja greičiau nei gerosios praktikos!<br />Gal verta nuo jų ir pradėti?<br />
Ačiū! Klausimai?<br />Sergejus Barinovas (@sergejusb)<br />http://sergejus.blogas.lt<br />
Upcoming SlideShare
Loading in …5
×

Kaip Agile skatina gerųjų praktikų panaudojimą

945 views

Published on

Sergejus Barinovas
„Kaip Agile skatina gerųjų praktikų panaudojimą“

Published in: Business
  • Be the first to comment

  • Be the first to like this

Kaip Agile skatina gerųjų praktikų panaudojimą

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

×