esej lean vs agile
DESCRIPTION
Komparacija Lean i Agilne metodeTRANSCRIPT
-
UNIVERZITET U SARAJEVU
ELEKTROTEHNIKI FAKULTET
ODSJEK ZA TELEKOMUNIKACIJE
Sarajevo, 2015. godine
Razlike izmeu Lean i agilne
metode razvoja
softvera
Esej iz predmeta Napredne metode razvoja
softvera
by Erma Perenda
-
Sadraj
Uvod ........................................................................................................................................... 1
1. Komparacija Lean i agilne metode razvoja softvera .......................................................... 3
1.1. Ciljevi .......................................................................................................................... 3
1.1.1. Opis ...................................................................................................................... 3
1.1.2. Poreenje .............................................................................................................. 3
1.2. Principi......................................................................................................................... 4
1.2.1. Opis ...................................................................................................................... 4
1.2.2. Poreenje .............................................................................................................. 6
1.3. Prakse........................................................................................................................... 8
1.3.1. Ininjering zahtjeva .............................................................................................. 8
1.3.2. Dizajn i implementacija ....................................................................................... 9
1.3.3. Osiguranje kvaliteta ............................................................................................ 10
1.3.4. Softver release .................................................................................................... 12
1.3.5. Planiranje projekta .............................................................................................. 13
1.3.6. Upravljanje timom .............................................................................................. 15
1.3.7. End-to-end tok .................................................................................................... 16
1.3.8. Sumarno poreenje ............................................................................................. 17
1.4. Procesi ....................................................................................................................... 18
Zakljuak .................................................................................................................................. 19
Literatura .................................................................................................................................. 20
-
1
Uvod
Agilne metode razvoja softvera nastale su u ranim 90-tim i predstavljaju skup modela za
razvoj softvera zasnovanih na iterativnom i inkremetalnom razvoju. Agilne metode su u
poetku zvane lagane (engl. lightweight). Godine 2001. potaknuti nezadovoljstvom
uzrokovanim velikim procentom neuspjenih IT projekata, skupina od 17 svjetskih istaknutih
softverskih inenjera su se sastali u mjestu Snowbird, Utah, SAD, gdje su usvojili naziv
agilne metode. Rezultat njihovog druenja je uveni manifest Agile Manifesto.
S druge strane pojam Lean je prvi put primjenjen u procesu upravljanja proizvodnjom (
engl. Product management process). Lean proizvodnja je dovela do ogromnog poboljanja
performansi u kontekstu proizvodnje auta Toyota, i ovaj pristup se esto oznaava kao Toyota
Production System. Lean pristup proizvodnje isporuuje visoko kvalitetne proizvode sa
smanjenim resursima u kratkom periodu. Poboljanja su postignuta kontinuiranim
poboljanjem procesa kroz sistemske analize fokusirajui se na identifikaciju nebitnog, tj.
svega to ne doprinosi vrijednosti korisnika. Lean razvoj je paradigma razvoja proizvoda sa
end-to-end fokusom na kreiranju vrijednosti za korisnika, eliminacijom nepotrebnog,
optimizacijom toka procesa, osnaivanju tima i kontinuiranom poboljanju. Lean razmiljanje
se koristi u mnogim industrijama. Poetkom 2009. za vrijeme svjetske ekonomske krize,
veina softverskih kua je razmatrala Lean principe kako bi napore razvoja softvera uinile
uinkovitijim. Danas, softverske kompanije idu ka Lean metodama kako bi kompenzirali sve
vei nedostatak talentovanih ininjera. U sutini, ideja primjene Lean principa na razvoj
softvera stara je koliko i sam termin lean. 1990. Robert Charetle je koristio pojam 'lean
development' u kontekstu strategije upravljanja rizicima koja govori o dinamikoj stabilnosti
organizacije inei je sve vie agilnijom, elastinijom i tolernatnijom na promjene. Mary i
Tom Poppendieck su Lean principe i prakse poznate za proizvodnju i razvoj proizvoda
preslikali na polje softverskog inenjerstva.
Kako bi uvidjeli razlike izmeu Lean i Agilne metode razvoja softvera, uporediemo ih
sa etiri stanovita: ciljevi, principi, prakse i procesi.
Cilj odnosi se na to to odreena metoda eli da postigne. Predstavlja razlog
zato sa se koriste odreeni principi, prakse i procesi. Cilj predstavlja odgovor na
pitanje Zato?.
-
2
Principi pravila koja se trebaju slijediti kako bi se ostvario cilj. Principi
predstavljaju odgovor na ta?.
Prakse nain implementacije principa. Prakse predstavljaju odgovor na pitanje
Kako?.
Procesi - opisuju tok proizvodnje. Procesi predstavljaju odgovor na pitanja Kada
e se neka aktivnost izvriti i u kojem redoslijedu?.
Bazirajui se na ova etiri aspekta u poglavlju 1 sumirane su razlike Lean i agilne metode
razvoja softvera.
-
3
1. Komparacija Lean i agilne metode razvoja
softvera
1.1. Ciljevi
1.1.1. Opis
Ciljevi opisuju zato bi uzimali u obzir Lean ili agilnu metodu kao metoda za razvoj softvera.
Ciljevi ove dvije metode su:
Cilj agilne metode razvoja softvera agilna metoda razvoja softvera ima za cilj
kontinuiranu isporuku release-a softvera koji se demonstrira korisniku za ilustraciju
posljednjeg statusa features-a koji ispunjavaju korisnike potrebe. Na osnovu toga
korisnici mogu dati bri feedback kako bi se bilo sigurno da softver radi zaista ono to
korisnik eli. Cilj ove metode postaje jasan izjavom da je softver primarna mjera
napretka, te da treba biti isporuen u redovnim kratkim ciklusima (2-4 sedmice).
Cilj Lean metode razvoja softvera fokusira se na stvaranju vrijednosti korisnika u
kratkom vremenskom periodu i izbjegavanju troenja vremena na aktivnostima koji ne
dodaju vrijednost korisniku. Na vrijednost u ovom sluaju se mora gledati kroz
naoale korisnika.
1.1.2. Poreenje
Oba pristupa u centar panje postavljaju korisnika. Kod agilne metode korisnici su
ukljueni na nain da nakon isporuke verzije softvera daju odreeni feedback. U Lean metodi
je dodan pojam vrijednosti koja moe imati vie znaenja. Jedna od definicija vrijednosti je da
se Lean metoda treba fokusrati na oduevljenje korisnika, to nije nuno ono to korisnik eli
ili trai. S druge strane u agilnoj metodi ono to korisnik eli je u centru panje. Ovo nije u
konfliktu sa vrijednosti u Lean metodi, ali ipak se vrijednost vie fokusira na oduevljavanju
korisnika i iznenaujui ga pozitivno, to prelazi puko zadovoljavanje potreba korisnika.
Obje metode dijele cilj da se korisniku isporuuje softver u kratkim redovnim
ciklusima. Lean i agilna metoda su sline u smislu da se novi i promjenjen feature softvera
korisiku treba to je mogue prije isporuiti.
-
4
1.2. Principi
1.2.1. Opis
Principi za Lean i agilnu metodu razvoja softvera opisuju pravila koja se moraju slijediti da bi
se postigli ciljevi ovih metoda. Agilni manifest definira 4 vrijednosti i 12 principa agilnog
razvoja. U Lean metodi definie se 7 principa.
1.2.1.1 Agilna metoda razvoja softvera
Vrijednosti definirani u agilnom manifestu su:
Individualci i interakcija ispred procesa i alata (V1),
Softver koji radi ispred iscrpne dokumentacije (V2),
Saradnja sa klijentom ispred pregovora o ugovoru (V3),
Reagiranje na promjenu ispred praenja plana (V4).
Agilni manifest navodi da tvrdnje na lijevoj strani imaju veu vrijednost nego tvrdnje na
desnoj strani. Definirano je 12 principa koji se mogu povezati sa jednom od etiri vrijednosti
definirane u agilnom manifestu:
1. Zadovoljstvo korisnika predstavlja najvii prioritet i da bi se postiglo softver se mora
isporuivati brzo i u kontinuiranim vremenskim ciklusima. (Vezuje se za V3.)
2. Spremnost na promjene - softver developeri moraju prihvatati promjene bilo u ranijoj
ili kasnijoj fazi razvoja, sposobnost da se reagira na promjene u kasnoj fazi se moe
smatrati kao konkurentska prednost. (V4)
3. Uestale isporuke to krai period to bolje. (V2)
4. Zajedniki rad svi rade skupa od managera do programera (V2)
5. Motivacija individualaca (V1)
6. Razgovori lice u lice (V1)
7. Softver koji radi (V2)
8. Odriv ritam (V1)
9. Tehnika izvrsnost (V2)
10. Jednostavnost (V4)
11. Samoorganiziranost tima (V1)
12. Kontinuirana refleksija analiza rada i poboljanje sa svakom iteracijom (V4)
-
5
1.2.1.2 Lean metoda razvoja softvera
Lean je baziran na sedam principa:
1. Eliminacija nepotrebnog u lean sve to ne dodaje vrijednost korisniku se smatra
nepotrebnim. Sedam tipova nepotrebnog je definirano u proizvodnji i oni su preslikani
na razvoj softvera (Tabela 1.1). Nepotrebno usporava isporuku softvera i zbog toga
treba to prije biti eleminisano kako bi se softver to bre isporuio.
Tabela 1.1 Nepotrebno u proizvodnji i softverskom inenjerstvu
Proizvodnja Softversko inenjerstvo
Popis: intermediate work-products i
poslova u procesu
Djelimino uraen posao posao koji nema
vrijednost dok se ne zavri npr. napisan kod
koji nije testiran
Prekomjerna proizvodnja broj
proizvedenih predmeta je vei od
traenog broja
Ekstra features funkcionalnost koja je
razvijena al ne daje vrijednost korisniku
Ekstra obrada dodatni rad je
napravljen npr. siromaane postavke
ureaja
Ekstra procesi koraci procesa koji mogu biti
uklonjeni npr. pisanje dokumentacije
Transport transport intermediate
proizvoda
Handover dodatni overhead
Pokret kruenje okolo umjesto ka
cilju
Pokret /prebacivanje zadataka ljudi moraju
prepoznavati znanje
ekanje maina sa slobodnim
kapacitetom eka na ulaz
Kanjenje kanjenje u procesu razvoja
Nedostaci - fiksiranje problema u
proizvodima
Nedostaci - fiksiranje problema u proizvodima
2. Pojaano uenje razvoj softvera predstavlja kontinuirani proces uenja. Najbolji
nain za poboljanje okruenja za razvoj softvera je da se pojaa uenje. Uenje
ukljuuje bolje razumijevanje potreba korisnika, potencijalna rjeenja za arhitekturu,
dobre strategije za testiranje itd.
-
6
3. Odluivanje u posljednjem momentu razvoj softvera je uvijek povezan sa
odreenom dozom nesigurnosti. Bolje rezultate mogue je postii primjenom opcija
zasnovanog pristupa, odlaganjem odluka koliko god je mogue, do trenutka do kad
sistem moe biti zasnovan na injenicama, a ne na nesigurnim pretpostavkama i
predvianjima. to je sistem sloeniji to u njega treba ugraditi to vie sposobnosti za
promjene, to omoguava odlaganje vanih i kljunih odluka.
4. Dostavljanje u najkraem moguem roku u eri brze tehnoloke evolucije ne
preivljava najvei ve najbri. Neophodno je isporuiti krajnji proizvod to ranije, da
bi se to prije dobila povratna informacija od korisnika, te ugradila u slijedeu
iteraciju. Krae iteracije poboljavaju uenje i komunikaciju u timu. Nemogue je
odlagati odluke bez brzine. Brzina dozvoljava sadanje potrebe korisnika, a ne ono to
su traili juer.
5. Potovanje ljudi lean pristup favorizuje pristup Pronai dobre ljude i pusti ih da
rade svoj posao
6. Kreiranje integriteta kvalitet treba biti ugraen u sotver u to ranijoj fazi. Korisnik
treba da ima opti dovljaj sistema tj. da osjeti integritet, kako se on reklamira,
isporuuje, te koja je njegova intuitivna primjena i dr. Konceptualni integritet
podrazumjeva da sistemski odvojene komponente rade zajedno kao cjelina, te da se
uspostavi ravnotea izemu fleksibilnosti, odravanja, efikasnosti i odziva. Ovo se
moe postii razumijevanjem domena problema i njegovim trenutnim rjeavanjem, a
ne sekvencijalnim. Protok informacija treba da bude dvosmjeran, od programera do
korinsika i obrnuto.
7. Vidjeti cjelinu prilikom poboljanja razvoja softvera cijeli tok vrijednosti se treba
posmatrati kao end-to-end proces. Npr. nema smisla poboljavati proces definisanja
zahtjeva ako proces impelentacije i kodiranja tih zahtjeva ide mnogo sporije.
1.2.2. Poreenje
Da bi uporedili Lean i agilnu metodu sa stanovita principa, grupisat e se principi u
sedam klasa i na osnovu njih dati osvrt na slinosti i razlike ove dvije metode. Veze izmeu
principa ovih metoda sumirane su u tabeli 1.2.
-
7
Tabela 1.2 Veze principa Lean i agilne metode razvoja softvera
Upravljanje ljudima i vostvo
Principi Agilne metode Principi Lean metode
Zajedniki rad Eliminacija nepotrebnog
Motivacija individualaca
Odriv ritam
Samoorganiziranost tima
Potivanje ljudi
Razgovori lice u lice Pojaano uenje
Tehniki kvalitet proizvoda
Principi Agilne metode Principi Lean metode
Softver koji radi Eliminacija nepotrebnog
Kreiranje integriteta
Tehnika izvrsnost Kreiranje integriteta
Release proizvoda
Principi Agilne metode Principi Lean metode
Uestale isporuke
Eliminacija nepotrebnog
Pojaano uenje
Dostavljanje u najkraem moguem roku
Fleksibilnost
Principi Agilne metode Principi Lean metode
Spremnost na promjene Odluivanje u posljednjem momentu
Prioritet korisnikih potreba/vrijednosti
Principi Agilne metode Principi Lean metode
Zadovoljstvo korisnika
Eliminacija nepotrebnog
Pojaano uenje
Odluivanje u posljednjem momentu
Dostavljanje u najkraem moguem roku
Potivanje ljudi
Kreiranje integriteta
Vidjeti cjelinu
Jednostavnost Eliminacija nepotrebnog
Uenje
Principi Agilne metode Principi Lean metode
Kontinuirana refleksija Pojaano uenje
End-to-end tok
Principi Agilne metode Principi Lean metode
Nije definsano Vidjeti cjelinu
-
8
Upravljanje ljudima i vostvo svaki Lean princip ima odgovarajui Agile princip.
Obje metode dijele ista pravila za upravljanje ljudima.
Tehniki kvalitet proizvoda obje metode naglaavaju stalnu panju na kvalitet i
tehniku izvrsnost proizvoda. Mada postoji mala razlika u 9 principu agilne metode
koja naglaava da dobar tehniki dizajn poboljava agilnost.
Release proizvoda proizvodi se isporuuju u kratkim vremenskim ciklusima kod
obje metode.
Fleksibilnost obje metode daju pozornost fleksibilnosti ali na drugaiji nain. Kod
Lean metode odluka se odlae to je due mogue, dok kod agilne metode reagiranje
promjena se deava odmah.
Prioritet korisnikih potreba/vrijednosti potpuno identini prinicpi s ovog
stanovita
Uenje obje metode se fokusiraju na uenje, mada Lean metoda uzima generalniji
pristup
End-to-end tok ne razmatra se u agilnim metodama i ovo je jedna od razlika ove
dvije metode. Ovaj princip je jedinstven za Lean metodu.
1.3. Prakse
Prakse opisuje kako metode implementiraju svoje principe. Svaka metoda razvoja
softvera ukljuuje slijedee aktivnosti: Inenjering zahtjeva, dizajn i implementacija,
osiguravanje kvaliteta, softver release, planiranje projekta, upravljanje timom i end-to-end
tok. Navedene aktivnosti e biti vodilje za poreenje Lean metode i agilne metode sa
stanovita prakse.
1.3.1. Ininjering zahtjeva
Ininjering zahtjeva ukljuuje dvije prakse:
1. Na strani korisnika (engl. on-site customer) odnosi se na ukljuivanje
korisnika u razvojni proces softvera,
2. Metafore i korisnike prie opisuje ta sistem treba da radi.
-
9
Tabela 1.3 prikazuje koji principi Lean i agilne metode su zadovoljeni praksama u okviru
ininjeringa zahtjeva. Praksa na strani korisnika se ne koristi kod Lean metoda.
Tabela 1.3 Prakse u okviru ininjeringa zahtjeva
Praksa Podrani principi
agilne metode
Podrani principi
Lean metode
Da li se koristi
u agilnoj
metodi
Da li se
koristi u
Lean metodi
Na strani
korisnika
Zadovoljstvo
korisnika
Razgovori lice u
lice
Eliminacija
nepotrebnog
Pojaano uenje
DA NE
Metafore i
korisnike
prie
Zadovoljstvo
korisnika
Eliminacija
nepotrebnog DA DA
1.3.2. Dizajn i implementacija
Aktivnost dizajn i implementacija ukljuuje slijedee prakse:
Refaktoring kontiniurana revizija i poboljanje napisanog koda kako bi postao
odriv, itljiv i jednostavan
Standardi kodiranja primjena pravila konvencije pisanja koda, kao i fajlova/foldera
Timsko vlasnitvo koda svako je odgovoran za svaku liniju koda
Slaba ovisnost o arhitekturi isporuka jedne funkcionalnosti ne ovisi o isporuci druge
Tabela 1.4 sumira koji principi su podrani ovim praksama i koje od ovih praksi se
primjenjuju kod Lean i agilnih metoda. Prakse standardi kodiranja i timsko vlasnitvo koda je
jedinstveno za agilne metodu, dok je praksa slabe ovisnosti arhitekture jedinstvena za lean
metodu.
-
10
Tabela 1. 4 Prakse u okviru dizajna i implementacije
Praksa Podrani principi
agilne metode
Podrani principi
Lean metode
Da li se
koristi u
agilnoj
metodi
Da li se
koristi u
Lean metodi
Refaktoring
Zadovoljstvo
korisnika
Jednostavnost
Pojaano uenje DA DA
Standardi
kodiranja
Zadovoljstvo
korisnika
Spremnost na
promjena
- DA NE
Timsko
vlasnitvo koda
Zadovoljstvo
korisnika
Motivacija
individualaca
Potivanje ljudi DA NE
Slaba ovisnost
arhitekture
Zadovoljstvo
korisnika
Spremnost na
promjene
Uestale isporuke
Jednostavnost
Eliminacija
nepotrebnog
Dostavljanje u
najkraem
moguem roku
NE DA
1.3.3. Osiguranje kvaliteta
Osiguranje kvaliteta je podran slijedeim praksama:
Razvoj voen testovima i automatsko tesitranje pisanje testova prije kodiranja, unit
tesiranje
Programiranje u paru
-
11
Kontinuirana integracija im se razvoj inkrementa zavri treba se to prije integrisati
u ukupni proizvod
Pregledi i inspekcije
Upravljanje konfiguracijom postizanje konzistentnosti izmeu komponenti sistema,
tj. postizanje integriteta.
Tabela 1.5 sumira koji principi su podrani ovim praksama i koje od ovih praksi se
primjenjuju kod Lean i agilnih metoda. Kod obje metode primjenjuju se sve prakse osiguranja
kvaliteta.
Tabela 1. 5 Prakse u okviru osiguranja kvaliteta
Praksa
Podrani
principi agilne
metode
Podrani
principi Lean
metode
Da li se
koristi u
agilnoj
metodi
Da li se
koristi u
Lean
metodi
Razvoj voen
testovima i
automatsko testiranje
Zadovoljstvo
korisnika
Softver koji radi
Tehnika
izvrsnost
Eliminacija
nepotrebnog
Kreiranje
integriteta
DA DA
Programiranje u paru
Zadovoljstvo
korisnika
Tehnika
izvrsnost
Eliminacija
nepotrebnog
Pojaano uenje
Kreiranje
integriteta
DA DA
Kontinuirana
integracija
Zadovoljstvo
korisnika
Razgovori lice u
lice
Softver koji radi
Tehnika
Eliminacija
nepotrebnog
Odluivanje u
poslijednjem
momentu
DA DA
-
12
izvrsnost
Pregledi i inspekcije
Zadovoljstvo
korisnika
Softver koji radi
Tehnika
izvrsnost
Eliminacija
nepotrebnog
Kreiranje
integriteta
DA DA
Upravljanje
konfiguracijom
Zadovoljstvo
korisnika
Softver koji radi
Tehnika
izvrsnost
Eliminacija
nepotrebnog
Kreiranje
integriteta
DA DA
1.3.4. Softver release
Softver release ukljuuje slijedee prakse:
Inkrementalna isporuka softvera
razdvajanje internih i eksternih release softvera interni release je polazite za razvoj
proizvoda kvalitete isporuenog na tritu, ali on nee biti isporuen radi strategije
trita.
Tabela 1.6 sumira koji principi su podrani ovim praksama i koje od ovih praksi se
primjenjuju kod Lean i agilnih metoda. Kod obje metode primjenjuju se sve prakse softver
release-a.
-
13
Tabela 1. 6 Prakse u okviru softver release
Praksa
Podrani
principi agilne
metode
Podrani principi
Lean metode
Da li se
koristi u
agilnoj
metodi
Da li se
koristi u
Lean
metodi
Inkrementalna
isporuka korisniku
Zadovoljstvo
korisnika
Uestale isporuke
Softver koji radi
Eliminacija
nepotrebnog
Pojaano uenje
Dostavljanje u
najkraem
moguem roku
Kreiranje
integriteta
DA DA
Razdvajanje
eksternih i internih
release
Zadovoljstvo
korisnika
Tehnika
izvrsnost
Eliminacija
nepotrebnog
Kreiranje
integriteta
DA DA
1.3.5. Planiranje projekta
Planiranje projekta ukljuuje slijedee prakse:
Kratke iteracije
Adaptivno planiranje u skladu sa korisnikim zahtjevima i priama najvieg prioriteta
Time-boxing
Planiranje igre tj. slijedee iteracije
Tabela 1.7 sumira koji principi su podrani ovim praksama i koje od ovih praksi se
primjenjuju kod Lean i agilnih metoda. Praksa planiranja igre se ne primjenjuje u Lean
metodi, ova praksa je jedinstvena za agilnu metodu i prvenstveno se koristi kod SCRUM
metode.
-
14
Tabela 1.7 Prakse u okviru planiranja projekta
Praksa
Podrani
principi agilne
metode
Podrani
principi Lean
metode
Da li se
koristi u
agilnoj
metodi
Da li se
koristi u
Lean
metodi
Kratke iteracije
Zadovoljstvo
korisnika
Spremnost na
promjene
Uestale
isporuke
Softver koji radi
Tehnika
izvrsnost
Eliminacija
nepotrebnog
Pojaano uenje
Kreiranje
integriteta
DA DA
Adaptivno planiranje u
skladu sa korisnikim
zahtjevima i priama
najvieg prioriteta
Zadovoljstvo
korisnika
Spremnost na
promjene
Eliminacija
nepotrebnog
Pojaano uenje
Odluivanje u
posljednjem
momentu
DA DA
Time-boxing
Zadovoljstvo
korisnika
Uestale
isporuke
Eliminacija
nepotrebnog
DA DA
Planiranje igre
Zadovoljstvo
korisnika
Spremnost na
promjene
Eliminacija
nepotrebnog
Pojaano uenje
DA NE
-
15
Razgovori lice u
lice
1.3.6. Upravljanje timom
Upravljanje timom ukljuuje slijedee prakse:
Ko-locirani razvoj
Krosfunkcionalni timovi
40-satno vrijeme
Stand-up susreti dnevni sastanci
Tim odabire line zadatake
Tabela 1.8 sumira koji principi su podrani ovim praksama i koje od ovih praksi se
primjenjuju kod Lean i agilnih metoda. Prakse 40-satno vrijeme i stand-up susreti se ne
primjenjuje u Lean metodi, ove prakse su jedinstvene za agilnu metodu.
Tabela 1.8 Prakse u okviru upravljanja timom
Praksa Podrani principi
agilne metode
Podrani
principi Lean
metode
Da li se
koristi u
agilnoj
metodi
Da li se
koristi u
Lean
metodi
Kolocirani razvoj
Zadovoljstvo
korisnika
Razgovori lice u lice
Kontinuirana
refleksija
Eliminacija
nepotrebnog
Pojaano uenje
DA DA
Krosfunkcionalni
timovi
Zadovoljstvo
korisnika
Zajedniki rad
Eliminacija
nepotrebnog
Pojaano uenje
DA DA
40-satno vrijeme Zadovoljstvo
korisnika
Eliminacija
nepotrebnog
Kreiranje
DA NE
-
16
Odriv ritam
Tehnika izvrsnost
integriteta
Stand-up susreti
Zadovoljstvo
korisnika
Kontinuirana
refleksija
Eliminacija
nepotrebnog
DA NE
Tim odabire
vlastite zadatke
Zadovoljstvo
korisnika
Spremnost na
promjene
Motivacija
individualaca
Samoorganiziranost
tima
Potivanje ljudi DA DA
1.3.7. End-to-end tok
End-to-end tok obuhvata slijedee prakse:
Value-stream mapiranje vizualizacija cjelokupnog procesa razvoja softvera.
Mapiranje ima za cilj da se identificiraju i uklone svi koraci koji ne kreiraju vrijednost.
Upravljanje zalihama (engl. inventory management) sa teorijom redova ekanja i
teorijom ogranienja upravljanje procesima koji nisu zavreni, a sami po sebi ne
dodaju neku vrijednost korisniku
Glavni ininjer osoba odgovorna za uspjeh ili neuspjeh razvojnog tima
Kanban pull sistem korisnik alje zahtjev za proizvod i razvojni tim tek tada razvija
tu funkcionalnost. Zbog pull zahtjeva od strane korisnika izbjegava se proizvodnja
neeljenih proizvoda.
Tabela 1.9 sumira koji principi su podrani ovim praksama i koje od ovih praksi se
primjenjuju kod Lean i agilnih metod. Ove prakse su jednistvene samo za Lean metodu.
-
17
Tabela 1.9 Prakse u okviru end-to-end toka
Praksa Podrani principi
agilne metode
Podrani principi
Lean metode
Da li se
koristi u
agilnoj
metodi
Da li se
koristi u
Lean metodi
Value stream
mapiranje Svi Svi NE DA
Upravljanje
zalihama
Zadovoljstvo
korisnika
Uestale isporuke
Softver koji radi
Tehnika izvrsnost
Eliminacija
nepotrebnog
Dostavljanje u
najkraem
moguem roku
Kreiranje integriteta
Vidjeti cjelinu
NE DA
Glavni ininjer Svi Svi NE DA
Kanban pull
sistem
Zadovoljstvo
korisnika
Spremnost na
promjene
Eliminacija
nepotrebnog
Dostavljanje u
najkraem
moguem roku
NE DA
1.3.8. Sumarno poreenje
Isto sve prakse u okviru Osiguranja kvaliteta i Softver release se primjenjuju i u
Lean i agilnoj metodi
Jedinstveno za agilnu metodu prakse na strani korisnika, standardi kodiranja,
timsko vlasnitvo koda, planiranje igre, 40-satno vrijeme, stand-up susreti
Jednistveno za Lean metodu sve prakse u okviru perspektive End-to-end toka i
praksa slaba ovisnost arhitekture u okviru dizajn i implementacija
-
18
1.4. Procesi
Agilni razvoj se sastoji od niza instancija u obliku agilnih procesa. Najpoznatiji
predstavnici su ekstremno programiranje i SCRUM. S druge strane, Lean razvoj ne predlae
tok rada tj. proces proizvodnje specifinog proizvoda. Lean samo formulie principe i prua
alate za analizu procesa koji predstavljaju vodie za poboljanje procesa kako bi se postigao
dobar tok vrijednosti. Jedna od prednosti nedefinisanja procesa jeste to se Lean metoda moe
primjeniti na bilo koji sistem, dok se agilni procesi esto moraju prilagoavati kontekstu.
-
19
Zakljuak
U ovom eseju izvrena je komparacija Lean metode u odnosu na agilnu metodu razvoja
softvera iz etiri razliita perspektive. U pogledu cilja obje metode imaju iste ciljeve koje ele
postii, a to je isporuiti kvalitetan softver u to kraim kontinuiranim vremenskim ciklusima.
Prema principima ovih metoda mogue je konstatovati da agilna metoda predstavlja Lean
metodu, ali Lean metoda nije agilna metoda, to je posljedica injenice da je princip end-to-
end toka karakteristian samo za Lean metodu. Sa stanovita naina implementacije principa
tj. praksi moe se konstatovati da sve prakse u okviru Osiguranja kvaliteta i Softver release se
primjenjuju i u Lean i agilnoj metodi. Prakse koje su jedinstvene za agilnu metodu su praksa
na strani korisnika, standardi kodiranja, timsko vlasnitvo koda, planiranje igre, 40-satno
vrijeme, stand-up susreti, dok prakse jedinstvene za Lean metodu su sve prakse u okviru
perspektive End-to-end toka i praksa slaba ovisnost arhitekture u okviru dizajna i
implementacije. Lean metoda ne definie procese ve samo principe i smjernice za
poboljanje procesa, to joj omoguava da se moe primjeniti na bilo koji sistem ili poslovni
proces. S druge strane, agilna metoda definie procese i koji se vrlo esto moraju
prilagoavati kontekstu.
-
20
Literatura
[1] K. PETERSEN. Implementing Lean and Agile Software Development in Industry. Blekinge Institute of Technology. Sweden, 2010.
[2] I. SOMMERVILLE. Software Engineering. Pearson Education, Inc. 2011.
[3] IEEE SOFTWARE. Lean Software Development. September/October 2012.