transition from traditional to agile methods of software development

45
PRESENTATION Date 00/00/00 University Meetup, 13.05.2015. U saradnji sa: Elektrotehnički fakultet u Sarajevu Enis Zeherović

Upload: bosnia-agile

Post on 05-Aug-2015

84 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Transition from Traditional to Agile methods of software development

PRESENTATION

Date 00/00/00

University Meetup, 13.05.2015.

U saradnji sa:Elektrotehnički fakultet u Sarajevu

Enis Zeherović

Page 2: Transition from Traditional to Agile methods of software development

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

Page 3: Transition from Traditional to Agile methods of software development

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

Page 4: Transition from Traditional to Agile methods of software development

Bosnia Agile 4

O BOSNIA AGILE

Page 5: Transition from Traditional to Agile methods of software development

Bosnia Agile 5

Page 6: Transition from Traditional to Agile methods of software development

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?

Page 7: Transition from Traditional to Agile methods of software development

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

Page 8: Transition from Traditional to Agile methods of software development

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?

Page 9: Transition from Traditional to Agile methods of software development

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

Page 10: Transition from Traditional to Agile methods of software development

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?

Page 11: Transition from Traditional to Agile methods of software development

Bosnia Agile 11

TRADICIONALNE METODE RAZVOJA

SOFTVERA

Page 12: Transition from Traditional to Agile methods of software development

Bosnia Agile 12

• Prvi široko rasprostranjeni model

• Linerno-sekvencijalni model - nema preklapanja faza

Osnovne karakteristike Waterfall-a

Page 13: Transition from Traditional to Agile methods of software development

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

Page 14: Transition from Traditional to Agile methods of software development

Bosnia Agile 14

ZAŠTO JE BILA POTREBNA PROMJENA?

Page 15: Transition from Traditional to Agile methods of software development

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?

Page 16: Transition from Traditional to Agile methods of software development

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?

Page 17: Transition from Traditional to Agile methods of software development

Bosnia Agile 17

Zašto je bila potrebna promjena?

Page 18: Transition from Traditional to Agile methods of software development

Bosnia Agile 18

Zašto je bila potrebna promjena?

Page 19: Transition from Traditional to Agile methods of software development

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?

Page 20: Transition from Traditional to Agile methods of software development

Bosnia Agile 20

AGILE I SCRUM

TRAŽENA PROMJENA JE:

Page 21: Transition from Traditional to Agile methods of software development

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

Page 22: Transition from Traditional to Agile methods of software development

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

Page 23: Transition from Traditional to Agile methods of software development

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?

Page 24: Transition from Traditional to Agile methods of software development

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?

Page 25: Transition from Traditional to Agile methods of software development

Bosnia Agile 25

ŠTA JE AGILE?

Page 26: Transition from Traditional to Agile methods of software development

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

Page 27: Transition from Traditional to Agile methods of software development

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?

Page 28: Transition from Traditional to Agile methods of software development

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

Page 29: Transition from Traditional to Agile methods of software development

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

Page 30: Transition from Traditional to Agile methods of software development

Bosnia Agile 30

SELF-ORGANIZATION & THE POWER OF PULL

Page 31: Transition from Traditional to Agile methods of software development

Bosnia Agile 31

KOJA JE RAZLIKA ZA TEST INŽENJERE?

Page 32: Transition from Traditional to Agile methods of software development

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?

Page 33: Transition from Traditional to Agile methods of software development

Bosnia Agile 33

KOJA JE RAZLIKA ZA TESTERE?

• Testeri su uključeni u sve faze projekta

Page 34: Transition from Traditional to Agile methods of software development

Bosnia Agile 34

KOJA JE RAZLIKA ZA TESTERE?

• Problemi se otkrivaju u ranim fazama projekta

Page 35: Transition from Traditional to Agile methods of software development

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“?

Page 36: Transition from Traditional to Agile methods of software development

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

Page 37: Transition from Traditional to Agile methods of software development

Bosnia Agile 37

AGILE I JA

Page 38: Transition from Traditional to Agile methods of software development

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

Page 39: Transition from Traditional to Agile methods of software development

Bosnia Agile 39

• Agile Testing Days, 2013., Berlin

• Bosnia Agile

• Bosnia Agile LinkedIn grupa

• Osnivanje i Kick-off konferencija

AGILE I JA

Page 40: Transition from Traditional to Agile methods of software development

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

Page 41: Transition from Traditional to Agile methods of software development

Bosnia Agile 41

PITANJA?

Page 42: Transition from Traditional to Agile methods of software development

Bosnia Agile 42

BOSNIA AGILE NAGRAĐUJE!

Page 43: Transition from Traditional to Agile methods of software development

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!

Page 44: Transition from Traditional to Agile methods of software development

Bosnia Agile 44

VAŠ FEEDBACK

Page 45: Transition from Traditional to Agile methods of software development

Bosnia Agile 45

HVALA

WWW.AGILE.BA

PRATITE NAS NA FACEBOOK-U, TWITTER-U I LINKEDIN-U