transition from traditional to agile methods of software development
TRANSCRIPT
PRESENTATION
Date 00/00/00
University Meetup, 13.05.2015.
U saradnji sa:Elektrotehnički fakultet u Sarajevu
Enis Zeherović
Bosnia Agile 2
PRELAZAK SA TRADICIONALNIH NA AGILNE METODE RAZVOJA SOFTVERA
Enis Zeherović
• Suosnivač Bosnia Agile• Softver inženjer sa više od 8 godina iskustva u tradicionalnom i agilnom razvoju softvera• QA/QC inženjer, specijalizovan za Test Automatizaciju• Konsultant za QA/QC i HP softver• Certificirani Professional Scrum Product Owner
Bosnia Agile 3
Agenda
• O Bosnia Agile
• Tradicionalni razvoj softvera
• Zašto je bila potrebna promjena?
• Agilni razvoj softvera
• Koja je razlika za test inženjere?
• Agile i ja - moja iskustva sa tranzicijom na Scrum
Bosnia Agile 4
O BOSNIA AGILE
Bosnia Agile 5
Bosnia Agile 6
Zašto Bosnia Agile?• Agile je vodeća metodologija u svijetu razvoja softvera• Softver firme u BiH su iskazale potrebu za osobama koje znaju Agile da bi mogle da se ravnopravno bore za poslove u svijetu• Zemlje u region već imaju slična udruženja
Ideja rođena sredinom Novembra, 2013• Bosnia Agile LinkedIn grupa formirana 19 Nov. ‘13 da testira teoriju za Agile potrebom• Eksperiment je potvrdio potrebu za širenjem znanja u vezi Agile principa
Formira se Bosnia Agile osnivački tim• Podrška dolazi od velikog broja ljudi• Prvi volonteri i osnivači su Ammar Makić, Dalibor Parać, Fariz Saračević, Igor Parać, Kemal Bajramović, Mersed Čamdžić, Nermina Durmić, Sejo Česić, Tarik Jusufbegović, Enis Zeherović• Počinje rad na promoviranju Agile-a u BiH
Kako je sve počelo?
Bosnia Agile 7
Šta je Bosnia Agile?• Dobrovoljno, nevladino i neprofitno udruženje• Nastala radi unapređenja i ostvarivanja Agile interesa i ciljeva u BiH
Ciljevi Bosnia Agile• Promocija lean i agilnih principa i metoda upravljanja projektima i razvoja softvera• Poticanje stručnog usavršavanja svojih članova o lean i agilnim principima i metodama• Poticanje biznis startup razmišljanja vezanih za razvoj softvera i IT konsaltinga• Zalaganje za unapređenje edukacije iz oblasti IT• Podrška ženama da se aktivno uključe u upravljanje projektima i razvoju softvera putem lean i agilnih principa i metoda
Povezivanje sa srodnim udruženjimaAgile Alliance, Scrum Alliance, Scrum.org, Agile Croatia, Agile Slovenia...
Bosnia Agile 8
• BA Kick-off konferencija• BA Day 2014 konferencija• Niz meetup-a
• Scrum u 5 minuta• Agile Mostar• MobileFirst Otvara vrata za mobilnost preduzeća• Agile University Meetu u Tuzli...
• Niz treninga• Scrum MasterClass• Professional Scrum Product Owner• Disciplined Agile Delivery...
• Ostvarena saradnja sa Agile Alliance, Scrum.org, Scrum.org, Agile Adria, Agile Slovenia, Agile Turkey, Agile Middle East te drugim Agile udruženjima i lokalnim kompanijama• Povećali broj certificiranih Agile stručnjaka za 1133%• Omogućili praksu za nekoliko studenata
Šta smo već uradili?
Bosnia Agile 9
Planovi:
• Konferencije• Meetup-i• Treninzi• Studentski klubovi• Agile klubovi u gradovima BiH
Predstojeći događaji:• Meetup: SCRUM vs KANBAN (11.06.2015.)• Trening: Management 3.0 (16.08.2015.)
• Konferencija: Bosnia Agile Day 2015 (17.10.2015.)
• više na http://agile.ba/ba/dogadaji
Bosnia Agile 10
Zainteresovani ste da se uključite u rad Bosnia Agile ili da pomognete naš rad na neki drugi način? Javite se na [email protected].
Možete se učlaniti preko naše web stranice www.agile.ba
Kao “Bosnia Agile” član imat ćete mogućnost:• birati i biti birani u tijela Bosnia Agile (redovni članovi)• sudjelovati u radu Skupštine Bosnia Agile• biti informirani o radu Bosnia Agile i njegovim tijelima• pravo na stručnu, organizacijsku i ostalu pomoć Bosnia Agile u okviru mogućnosti Bosnia Agile• pravo na popust na kotizaciju događaja koje organizira Bosnia Agile• pravo na ostale pogodnosti za članstvo prema odluci tijela Bosnia Agile
Iznos članarine:36 KM – jednogodišnja članarina66 KM – dvogodišnja članarina90 KM – trogodišnja članarina
Kako se uključiti u rad Bosnia Agile i
postati član?
Bosnia Agile 11
TRADICIONALNE METODE RAZVOJA
SOFTVERA
Bosnia Agile 12
• Prvi široko rasprostranjeni model
• Linerno-sekvencijalni model - nema preklapanja faza
Osnovne karakteristike Waterfall-a
Bosnia Agile 13
• Zahtjevi se detaljno dokumentuju na početku projekta
• Neke od prednosti:
• Dobar dizajn sistema, jer su svi zahtjevi prikupljeni na početku
• Omogućava bolju kontrolu, jer se svaka faza može dobro isplanirati i predvidjeti rok izvršenja
• Veoma mala potreba za prisustvom naručioca proizvoda
• Neki od nedostataka:• Softver koji radi dostupan je tek u kasnoj fazi projekta
• Model nije pogodan za duge projekte i promjenljive zahtjeve
Osnovne karakteristike Waterfall-a
Bosnia Agile 14
ZAŠTO JE BILA POTREBNA PROMJENA?
Bosnia Agile 15
• Današnji svijet se brzo mijenja a u skladu s tim i zahtjevi korisnika
• Potreba za boljim kvalitetom
• Potreba za bržim povratkom investicija (ROI)
• Preko 32% tradicionalnih projekata se ne uspije uklopiti u predviđeno vrijeme i/ili budžet
Zašto je bila potrebna promjena?
Bosnia Agile 16
• U waterfall-u su se dešavala situacije „Nema vremena za testiranje“
Početak Kraj
Plan (Očekivanja i želje):
Početak Kraj
Realnost:
Analysis Design Implementation TestingAnalysis Design Implementation Testing
Zašto je bila potrebna promjena?
Bosnia Agile 17
Zašto je bila potrebna promjena?
Bosnia Agile 18
Zašto je bila potrebna promjena?
Bosnia Agile 19
• Promjena u drugim industrijama se desila dosta ranije
1913. pokretna traka
Ford Model T – 19 godina samo jedan model, bez varijacija, u samo jednoj boji
- 1930. ToyotaProduction System- Lean principi
Zašto je bila potrebna promjena?
Bosnia Agile 20
AGILE I SCRUM
TRAŽENA PROMJENA JE:
Bosnia Agile 21
Agile
Lean
SCRUM
• Lean je pristup sa emprijskim istraži-i-prilagodi iteracijama umjesto definisanih koraka procesa.• Agile je Lean primjenjen na razvoj softvera.• Scrum je vodeći univerzalni agile framework.
BIG PICTURE
Bosnia Agile 22
Toyota Production System:Muri (Load) – koncept ne preopterećavanja procesaMuda (Flow) – koncept održavanja procesa tečnim i jednakimMura (Waste) – koncept otklanjanja svih aktivnosti koji ne
daju vrijednost
Primjenjeno na softver:Ugradnja kvalitetaŠirenje znanjaOdlučna predanost raduPoštovanje ljudiOptimizacija svegaŠto brža isporukaEliminisanje „otpada“ (Waste)
BIG PICTURE
Bosnia Agile 23
• Kombinacija iterativnog i inkrementalnog modela
• Proizvod se radi u dijelovima koji se kroz iteracije nadograđuju
• Česte isporuke proizvoda koji radi
• Stalna komunikacija sa naručiocem
ŠTA JE AGILE?
Bosnia Agile 24
• Prilagođavanje projektu
• Neke od prednosti:
• Prihvaća promjene
• Malo planiranja i brz početak razvoja
• Česte isporuke proizvoda (koji radi)
• Promoviše timski rad i dijeljenje znanja
• Neki od nedostataka:
• Ako predstavnik naručioca nema jasnu viziju projekat može poći u pogrešnom smjeru
• Dokumentacija je svedena na minimum
• Može se javiti ovisnost projekta o članovima tima
ŠTA JE AGILE?
Bosnia Agile 25
ŠTA JE AGILE?
Bosnia Agile 26
AGILE MANIFESTO
Individuals and Interactions
Working Software
Customer Collaboration
Responding to Change
Process and Tools
Comprehensive Documentation
Contract Negotiation
Following a Plan
over
over
over
over
Agile Manifesto http://agilemanifesto.org/
Ovdje se možda najbolje vidi razlika između Agile i Waterfall-a
Bosnia Agile 27
• Scrum je:
• Jednostavan
• Primjenjiv kako na male tako i na velike projekte
• Jako rasprostranjen, koristi se u preko 50% kompanija koje su prešle na Agile
• Dokazano poboljšava kvalitet i produktivnost zaviše od 33%
ŠTA JE SCRUM I ZAŠTO BI GA TREBALI KORISTITI?
Bosnia Agile 28
SCRUM
2-4 weeks
24 hrs
Sprint
Planning
Sprint
Review
Sprint
Retrospective
ProductBacklog
SprintBacklog
Daily Scrum
Potentially ShippableProduct Increment
Sprint Goal
3 Roles• Product Owner• Development Team• Scrum Master
3 Artifacts• Product Backlog• Sprint Backlog• Increment
5 Events• Sprint Planning• Sprint• Daily Scrum
• Sprint Review• Retrospective
Bosnia Agile 29
• Nema uloga, svi su developeri
• Samo-organizirajući timovi:
• Komunikacija na visokom nivou
• Predanost poslu zbog samostalnog izbora zadataka
• Isporuka softvera koji radi
• Akcije su vođene širokom slikom
• Idealni uslovi za saradnju i podjelu odgovornosti
• Ne možemo očekivati odgovornost tima ako mi donosimo odluke za tim
Još nekoliko rijeći o Scrum timovima
Bosnia Agile 30
SELF-ORGANIZATION & THE POWER OF PULL
Bosnia Agile 31
KOJA JE RAZLIKA ZA TEST INŽENJERE?
Bosnia Agile 32
• Kvalitetno je, po definiciji, ono što ispunjava očekivanja mušterije => to znači da je Agile nastao samo zbog kvaliteta tj. zadovoljavanja potreba mušterije
• Kvalitet je odgovornost cijelog tima• Testeri su ravnopravni sa developerima• Testeri su uključeni od samog početka• Komunikacija u timu• Potrebno je mnogo više vještina nego ranije• Minimalna dokumentacija – test je dokumentacija• Agile tester se ne može oslanjati na dokumentaciju• Agile tester mora biti fleksibilan• Test automatizacija• Continuous integration proces
KOJA JE RAZLIKA ZA TESTERE?
Bosnia Agile 33
KOJA JE RAZLIKA ZA TESTERE?
• Testeri su uključeni u sve faze projekta
Bosnia Agile 34
KOJA JE RAZLIKA ZA TESTERE?
• Problemi se otkrivaju u ranim fazama projekta
Bosnia Agile 35
Designed
Docu-mented
Coded Unit tested
Function tested
System tested
Accessible
ETC
ETC
ETC
User acceptance
tested
Cross-browser tested
KOJA JE RAZLIKA ZA TESTERE?
• Na nivou story-ja
• Šta znači „DONE“?
Bosnia Agile 36
Feedback:• esencijalan• dolazi od naručioca, članova tima, testera i programera, etc.• jedan je od razloga za redovnu isporuku inkrementa• svi događaji u Scrumu su uglavnom zbog feedback-a
Važnosti feedback-a
Bosnia Agile 37
AGILE I JA
Bosnia Agile 38
• Prvi kontakt sa Agile
• Jako loše iskustvo
• Konsultant na projektu test automatizacije
• Prerano započeta automatizacija UI-a
AGILE I JA
Bosnia Agile 39
• Agile Testing Days, 2013., Berlin
• Bosnia Agile
• Bosnia Agile LinkedIn grupa
• Osnivanje i Kick-off konferencija
AGILE I JA
Bosnia Agile 40
• Novi projekat
• Jako pozitivna iskustva
• Uključen od početka projekta
• SCRUM se primjenjuje u potpunosti
• Ipak se dešava situacija „SCRUM je niz waterfall-a“
AGILE I JA
Bosnia Agile 41
PITANJA?
Bosnia Agile 42
BOSNIA AGILE NAGRAĐUJE!
Bosnia Agile 43
„BA Day 2015“ kotizacije:
• za dvije slučajno odabrane osobe koje ispune anketu,
• za sve studente koji se učlane u Bosnia Agile udruženje i plate dvogodišnju članarinu od 66 KM.
BA NAGRAĐUJE!
Bosnia Agile 44
VAŠ FEEDBACK
Bosnia Agile 45
HVALA
WWW.AGILE.BA
PRATITE NAS NA FACEBOOK-U, TWITTER-U I LINKEDIN-U