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

Kaip Agile skatina gerųjų praktikų panaudojimą

on

  • 927 views

...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

Statistics

Views

Total Views
927
Views on SlideShare
921
Embed Views
6

Actions

Likes
0
Downloads
2
Comments
0

2 Embeds 6

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

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Kaip Agile skatina gerųjų praktikų panaudojimą Kaip Agile skatina gerųjų praktikų panaudojimą Presentation Transcript

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