You are on page 1of 22

UNIVERZITET U SARAJEVU

ELEKTROTEHNIKI FAKULTET
ODSJEK ZA TELEKOMUNIKACIJE

Esej iz predmeta Napredne metode razvoja


softvera

by Erma Perenda

Sarajevo, 2015. godine

Razlike izmeu
Lean i agilne
metode razvoja
softvera

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

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

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.

1. Komparacija

Lean

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

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)

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
Djelimino uraen posao posao koji nema

Popis: intermediate work-products i

vrijednost dok se ne zavri npr. napisan kod

poslova u procesu

koji nije testiran

Prekomjerna proizvodnja broj

Ekstra features funkcionalnost koja je

proizvedenih predmeta je vei od

razvijena al ne daje vrijednost korisniku

traenog broja
Ekstra obrada dodatni rad je

Ekstra procesi koraci procesa koji mogu biti

napravljen npr. siromaane postavke

uklonjeni npr. pisanje dokumentacije

ureaja
Transport transport intermediate

Handover dodatni overhead

proizvoda
Pokret kruenje okolo umjesto ka

Pokret /prebacivanje zadataka ljudi moraju

cilju

prepoznavati znanje

ekanje maina sa slobodnim

Kanjenje kanjenje u procesu razvoja

kapacitetom eka na ulaz


Nedostaci - fiksiranje problema u

Nedostaci - fiksiranje problema u proizvodima

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

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.

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

Pojaano uenje

Razgovori lice u lice

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

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.

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

Podrani principi

agilne metode

Lean metode

Zadovoljstvo
Na strani

korisnika

korisnika

Razgovori lice u
lice

Metafore i
korisnike
prie

Da li se koristi

Da li se

u agilnoj

koristi u

metodi

Lean metodi

DA

NE

DA

DA

Eliminacija
nepotrebnog
Pojaano uenje

Zadovoljstvo

Eliminacija

korisnika

nepotrebnog

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.

Tabela 1. 4 Prakse u okviru dizajna i implementacije

Da li se
Praksa

Podrani principi

Podrani principi

koristi u

agilne metode

Lean metode

agilnoj
metodi

Da li se
koristi u
Lean metodi

Zadovoljstvo
Refaktoring

korisnika

Pojaano uenje

DA

DA

DA

NE

Potivanje ljudi

DA

NE

NE

DA

Jednostavnost
Zadovoljstvo
Standardi

korisnika

kodiranja

Spremnost na
promjena
Zadovoljstvo

Timsko

korisnika

vlasnitvo koda

Motivacija
individualaca
Zadovoljstvo
korisnika

Slaba ovisnost

Spremnost na

arhitekture

promjene
Uestale isporuke

Eliminacija
nepotrebnog
Dostavljanje u
najkraem
moguem roku

Jednostavnost

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

10

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

Podrani

principi agilne

principi Lean

metode

metode

Da li se

Da li se

koristi u

koristi u

agilnoj

Lean

metodi

metodi

DA

DA

DA

DA

DA

DA

Zadovoljstvo
Razvoj voen

korisnika

testovima i

Softver koji radi

automatsko testiranje

Eliminacija
nepotrebnog
Kreiranje

Tehnika

integriteta

izvrsnost
Eliminacija
Zadovoljstvo

nepotrebnog

korisnika
Programiranje u paru

Pojaano uenje
Tehnika
izvrsnost

Kreiranje
integriteta

Zadovoljstvo
korisnika

Eliminacija
nepotrebnog

Kontinuirana

Razgovori lice u

integracija

lice

Odluivanje u
poslijednjem

Softver koji radi

momentu

Tehnika

11

izvrsnost
Zadovoljstvo
korisnika

Eliminacija
nepotrebnog

Pregledi i inspekcije

Softver koji radi

DA

DA

DA

DA

Kreiranje
Tehnika

integriteta

izvrsnost
Zadovoljstvo
korisnika
Upravljanje
konfiguracijom

Eliminacija
nepotrebnog

Softver koji radi


Kreiranje
Tehnika

integriteta

izvrsnost

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.

12

Tabela 1. 6 Prakse u okviru softver release

Podrani
Praksa

principi agilne

Da li se

Da li se

Podrani principi

koristi u

koristi u

Lean metode

agilnoj

Lean

metodi

metodi

DA

DA

DA

DA

metode

Eliminacija
nepotrebnog

Zadovoljstvo
Inkrementalna

korisnika

Pojaano uenje

Uestale isporuke

Dostavljanje u

isporuka korisniku
Softver koji radi

najkraem
moguem roku
Kreiranje
integriteta

Razdvajanje
eksternih i internih
release

Zadovoljstvo

Eliminacija

korisnika

nepotrebnog

Tehnika

Kreiranje

izvrsnost

integriteta

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.

13

Tabela 1.7 Prakse u okviru planiranja projekta

Praksa

Podrani

Podrani

principi agilne

principi Lean

metode

metode

Da li se

Da li se

koristi u

koristi u

agilnoj

Lean

metodi

metodi

DA

DA

DA

DA

DA

DA

DA

NE

Zadovoljstvo
korisnika

Kratke iteracije

Spremnost na

Eliminacija

promjene

nepotrebnog

Uestale

Pojaano uenje

isporuke

Kreiranje

Softver koji radi

integriteta

Tehnika
izvrsnost
Eliminacija
Adaptivno planiranje u
skladu

sa

zahtjevima

korisnikim
i

priama

najvieg prioriteta

Zadovoljstvo

nepotrebnog

korisnika

Pojaano uenje

Spremnost na

Odluivanje u

promjene

posljednjem
momentu

Zadovoljstvo
korisnika
Time-boxing

Eliminacija
nepotrebnog

Uestale
isporuke
Zadovoljstvo
korisnika

Planiranje igre
Spremnost na
promjene

Eliminacija
nepotrebnog
Pojaano uenje

14

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

Zadovoljstvo
korisnika
Kolocirani razvoj

Razgovori lice u lice

Podrani
principi Lean
metode

Da li se

Da li se

koristi u

koristi u

agilnoj

Lean

metodi

metodi

DA

DA

DA

DA

DA

NE

Eliminacija
nepotrebnog
Pojaano uenje

Kontinuirana
refleksija

Krosfunkcionalni
timovi

Zadovoljstvo

Eliminacija

korisnika

nepotrebnog

Zajedniki rad

Pojaano uenje
Eliminacija

40-satno vrijeme

Zadovoljstvo

nepotrebnog

korisnika
Kreiranje

15

Odriv ritam

integriteta

Tehnika izvrsnost
Zadovoljstvo
korisnika
Stand-up susreti

Eliminacija
nepotrebnog

DA

NE

Potivanje ljudi

DA

DA

Kontinuirana
refleksija
Zadovoljstvo
korisnika
Spremnost na
Tim odabire

promjene

vlastite zadatke

Motivacija
individualaca
Samoorganiziranost
tima

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.

16

Tabela 1.9 Prakse u okviru end-to-end toka


Da li se
Praksa

Podrani principi

Podrani principi

koristi u

agilne metode

Lean metode

agilnoj
metodi

Value stream
mapiranje

Svi

Svi

Da li se
koristi u
Lean metodi

NE

DA

NE

DA

NE

DA

NE

DA

Eliminacija

Upravljanje

Zadovoljstvo

nepotrebnog

korisnika

Dostavljanje u

Uestale isporuke

najkraem

zalihama
Softver koji radi
Tehnika izvrsnost

moguem roku
Kreiranje integriteta
Vidjeti cjelinu

Glavni ininjer

Svi
Zadovoljstvo

Kanban pull

korisnika

sistem

Spremnost na
promjene

Svi
Eliminacija
nepotrebnog
Dostavljanje u
najkraem
moguem roku

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

17

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.

18

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

19

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.

20

You might also like