Kaip Agile skatina gerųjų praktikų panaudojimą
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Kaip Agile skatina gerųjų praktikų panaudojimą

  • 1,046 views
Uploaded on

...arba kodėl Agile neįmanomas be gerųjų praktikų panaudojimo ir kaip mes buvom priversti jas naudoti

...arba kodėl Agile neįmanomas be gerųjų praktikų panaudojimo ir kaip mes buvom priversti jas naudoti

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,046
On Slideshare
1,040
From Embeds
6
Number of Embeds
2

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 6

http://coderwall.com 5
http://a0.twimg.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Kaip Agile skatina gerųjų praktikų panaudojimą
    Sergejus Barinovas (@sergejusb)
    http://sergejus.blogas.lt
  • 2. Kodėl Agile neįmanomas be gerųjų praktikų panaudojimo
    Sergejus Barinovas (@sergejusb)
    http://sergejus.blogas.lt
  • 3. Tai nėrateorinis pristatymas
  • 4. Tai yra praktinis pristatymas apie mums iškilusias problemas
  • 5. Šaltas dušas #1
    2 savaičių sprinte kūrimo darbai sudaro tik 5 dienas*
    * naujai Agile komandai
  • 6. 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!
  • 7. Šaltas dušas #2
    Be tinkamo technologinio pasiruošimo naujos Agile komandos nespėja laiku
  • 8. Šis pristatymas apie tai kaip mes bandome didinti kūrimui skirtas dienas iki 7+ (~30%)
  • 9. Gerosios programavimo praktikos
    Naktinis surinkimas (nightlybuild)
    Nuolatinė integracija (continuousintegration)
    Modulių testai (unittests)
    Automatizuotas diegimas
    Automatizuoti funkciniai ir UI testai
    Diegimo paketai
    Nuolatinis diegimas (continuousdeployment)
  • 10. pre-Agile laikai
  • 11. Apie ką nepasakosiu
    PROD
  • 12. Prieš 1,5 metų naudojome tik paprasčiausias praktikas
  • 13. Naudotos praktikos
    Visas kodas versijų kontrolės sistemoje
    SVN
    Kodas kompiliuojamas specializuotame serveryje pagal paklausimą arba naktį
    TeamCity
    Pavieniai modulio testai
    MSTest
    NUnit
  • 14. Agile laikai
  • 15. Sprintas #1, #2
    Mes esame per lėti!
  • 16. 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
  • 17. Diegimo spūstys vaizdžiai
    Komanda (diegia)
    ReleaseManager
    PROD
    Komandos (laukia eilės)
  • 18. 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
  • 19. 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.
  • 20. Kova su diegimo spūstimis
    Diegimo paketai
    MSBuildskriptai
    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
    PowerShellskriptai
  • 21. 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 niceday,
    Laisvis.
  • 22. Įgyvendintos praktikos sutaupo 1-2kūrimo dienas per sprintą
  • 23. Agile++ laikai
  • 24. Kas toliau?
  • 25. Gyvenimo tiesa
    Panaikinus didesnę problemą, išryškėja mažesnė
  • 26. 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
  • 27. Nuolatinis diegimas į pagalba!
  • 28. 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
  • 29. Prieš pabaigą...
    ... automatinis serverio sukūrimas ir konfigūravimas
  • 30. Apibendrinant...
  • 31. Gerąsias praktikas pradėjome taikyti ne todėl, kad tai „jėga“, tiesiog nenorėjome būti lėti
  • 32. Šaltas dušas #3
    Agile kultūra komandose prigyja greičiau nei gerosios praktikos!
    Gal verta nuo jų ir pradėti?
  • 33. Ačiū! Klausimai?
    Sergejus Barinovas (@sergejusb)
    http://sergejus.blogas.lt