väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/tvtkonspekt/votsasonagile/votsasonagile.pdf ·...

34
1 Väle tarkvaraarendus Väledad metoodikad Veljo Otsason Loengute kava 1. Sissejuhatus teemasse Mis on väle arendus ja miks see hea on? 2. Väledad metoodikad RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine Põhimõtted, arendusprotsess, praktikad jne.

Upload: ngoliem

Post on 28-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

1

Väle tarkvaraarendusVäledad metoodikad

Veljo Otsason

Loengute kava

1. Sissejuhatus teemasse– Mis on väle arendus ja miks see hea on?

2. Väledad metoodikad– RUP, XP, DSDM, Scrum jne. Nende

sarnasused ja erinevused.3. Ekstreemprogrammeerimine

– Põhimõtted, arendusprotsess, praktikad jne.

Page 2: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

2

Tarkvaraarenduse metoodika

• Metoodika on süstemaatiline viis millegi tegemiseks (nt. tarkvara arendamiseks)

• Mõned metoodika omadused:– Detailsus (rangus, täpsus, ...) – kui rangelt

tegevust kirjeldatakse– Skoop – kui suurt ulatust kogu protsessist,

rollidest, tegevustest metoodika katab– Elemendid, mida kirjeldatakse (nt. rollid,

tehnikad, protsess, tehised, ...)

Mis on väle arendus?

• Väle (agile) lähenemine tähendab:– Kergekaalulist arendusprotsessi– Muutustega kohandumist– Inimestele orienteeritust

• Üks võimalik viis, kuidas tarkvara luua. Sobib paremini teatud projektide korral

• Olemas mitmed erinevad väledad metoodikad

• License to hack?

Page 3: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

3

Väleda arenduse manifest

• Eelistatakse:– isikuid ja suhtlust

protsessile ja vahenditele– töötavat tarkvara

kõikehaaravale dokumentatsioonile– kliendiga suhtlust

lepinguläbirääkimistele– muutustele vastamist

plaani järgimisele

- agilemanifesto.org

Väle vs. plaan-juhitud

Täielik“häkkerlus” XP

Täielikult etteplaneeritud

tegevus

Väledad metoodikad

CMMI

- Barry Boehm, USC

Page 4: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

4

Väle vs. plaan-juhitudVäle arendus• Paindlikud, taibukad, tihedalt

koos töötavad arendajad• Pühendunud, taibukad,

volitatud kliendid, kes töötavad koos arendajatega

• Toetub vaikivale teadmisele

• Kiirelt muutuvad ja arenevad nõuded

• Arvestatakse ainult hetke nõudmisi

• Koodi muutmine (rekodeerimine) odav

• Väikesed tiimid ja projektid• Kiire tulemus prioriteetseim

Plaan-juhitud arendus• Plaan-orienteeritud arendajad

kindlate oskustega• Kliendid, kes tunnevad kindlaid

valdkondi

• Toetub dokumenteeritud ja detailsele teadmisele

• Nõuded täpselt ette teada ning ei muutu

• Arvestatakse hetke ja tuleviku nõudmisi

• Koodi muutmine (rekodeerimine) kallis

• Suured tiimid, projektid• Stabiilsus ja kindlus

prioriteetsemad- Barry Boehm, USC

Planeerimise riskid

Aeg kulutatud planeerimisele

Risk

Kallim muutustetegemine

Plaan-juhitud arenduse optimum

Olukord, kus on parem rakendada plaan-juhitud metoodikaid

- Barry Boehm, USC

Page 5: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

5

Planeerimise riskid

Aeg kulutatud planeerimisele

RiskOdavam

muutuste tegemine

Väle optimum

Olukord, kus on parem rakendada väledaid metoodikaid

- Barry Boehm, USC

Tänased teemad

• Erinevad väledad metoodikad luubi all• Nende kasutatavus maailmas• Arendusprotsess ning rakendatavad

tehnikad iga metoodika järgi• Väledate metoodikate sarnasused ja

erinevused

Page 6: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

6

Väledad metoodikad

• Rationali unifitseeritud protsess (RUP)• Ekstreemprogrammeerimine (XP)• Erisus-juhitud arendus (FDD)• Adaptiivne tarkvaraarendus (ASD)• Dünaamiline süsteemiarendusmeetod (DSDM)• Crystal Clear• Kulusäästlik arendus (LD)• Scrum

Metoodikate kasutatavus – Cutter

• Cutter Consortium uuris kasutatavust 2001 a.• Uuringus osalejad

– 200 IS/IT juhti– Üle maailma (s.h. 33% Põhja-Ameerikast, 20% Euroopast)– Nii tarkvarafirmadest (39%) kui ka muudest firmadest, kes

tarkvara oma tarbeks arendavad– Erinevate aastakäivetega: nt. 37% alla $5M, 13% üle miljardi

dollari.• Ühe metoodika kasutamine ei välistanud teist• Kahjuks pole selge, mida mõeldi kasutamise all• Lisaks väledatele metoodikale uuriti ka CMM (27%) ja

ISO 9000 (26%) järgimist tarkvara loomisel• Enim oli kasutatud oma metoodikat, mis kooskõlas

väleda arenduse põhimõtetega (54%)

Page 7: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

7

Cutter Consortium’i uuring

51%

38%

23% 22%19%

8% 7%3%

0%

10%

20%

30%

40%

50%

60%os

akaa

l vas

tanu

test

RUP XPFDD

ASDDSDM

Crystal

Clea

r LDScru

m

Lisaks:54% oli kasutanud omaleiutatud väledat metoodikat9% oli kasutanud mõnda muud väledat metoodikat

Metoodikate kasutatavus – Evans

• Evans Data Corporation uuris kasutatavust 2003 a.

• Uuringus küsitleti üle 600 Põhja-Ameerika ettevõtte

• Küsiti eelistatuimat metoodikat arenduseks• Enim kasutati oma metoodikat (40%)• 15% ei kasutanudki mingit metoodikat(?)

Page 8: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

8

Evans Data Corp. uuring

Lisaks:40% kasutas omaleiutatud metoodikat15% väitis et ei kasutanudki mingit metoodikat

16%

9%

7%6% 5%

2%1% 0% 0%

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

osak

aal v

asta

nute

st

RAD XPmuu

väle

prog.

RUPJA

DScru

mDSDM

SASD

Kasutatavus Eestis

• Uuringut tehtud pole• Teada on, et on kasutatud:

– RUP– XP– RAD

• Enamusel oma metoodika, mis tihti koskmudeli modifikatsioon

Page 9: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

9

Väledad metoodikad

• Rationali unifitseeritud protsess (RUP)• Ekstreemprogrammeerimine (XP)• Erisus-juhitud arendus (FDD)• Adaptiivne tarkvaraarendus (ASD)• Dünaamiline süsteemiarendusmeetod (DSDM)• Crystal Clear• Kulusäästlik arendus (LD)• Scrum

RUP

• Rational Unified Process (RUP) on:– iteratiivne ja inkrementaalne,– katab suurt osa arendusprotsessist,– konfigureeritav eri olukordade ja

organisatsioonide jaoks,– keskendub mudelite loomisele ja haldamisele.

• Spetsiaalsed arendusvahendid (nt. Rational Rose)

• Modelleerimiseks kasutatakse UML-i

Page 10: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

10

RUP – protsessifaasid• Algatusfaas

– Defineeritakse projekti ulatus• Detailimisfaas

– Planeeritakse projekt– Spetsifitseeritakse erisused (features)– Luuakse arhitektuur

• Konstrueerimisfaas– Valmistatakse toode

• Siirdefaas– Kantakse toode lõppkasutajani

RUP – protsess

• Igas faasis läbitakse mitu iteratsiooni• Igas iteratsioonis erinev rõhuasetus

erinevatel töövoogudel:– Nõuete tuvastamine– Analüüs– Projekteerimine– Teostus– Testimine– ...

Page 11: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

11

RUP – protsess

Algatus Detailimine Konstrueerimine Siire

Faasid Põhivood

Iter. #n

Iter. #n-1

Iter. #2

Iter. #1

... ... ... ... ...

Nõuded

Analüüs

Teostus

Projekteerimine

Testimine

Detailimisfaasi iteratsioon

RUP – praktikad

• Iteratiivne tarkvara arendus• Nõuete haldamine• Komponendipõhise arhitektuuri

kasutamine• Tarkvara visuaalne modelleerimine• Pidev tarkvara kvaliteedi kontroll• Tarkvara muudatuste juhtimine

Page 12: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

12

RUP – infoallikad

• Arvutiklassis olemas RUP täisdokumentatsioon

• Raamatud:– I. Jacobson et al., “The Unified Software

Development Process”, 1999– P. Kruchten, “The Rational Unified Process-

An Introduction”, 2000• www.rational.com/rup• www.therationaledge.com

Väledad metoodikad

• Rationali unifitseeritud protsess (RUP)• Ekstreemprogrammeerimine (XP)• Erisus-juhitud arendus (FDD)• Adaptiivne tarkvaraarendus (ASD)• Dünaamiline süsteemiarendusmeetod (DSDM)• Crystal Clear• Kulusäästlik arendus (LD)• Scrum

Page 13: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

13

XP

• eXtreme Programming (XP)• Põhiväärtused:

suhtlemine, lihtsus, tagasiside, julgus• Detailsed praktikad• Iteratiivne protsess• Lähemalt järgmises loengus...

Väledad metoodikad

• Rationali unifitseeritud protsess (RUP)• Ekstreemprogrammeerimine (XP)• Erisus-juhitud arendus (FDD)• Adaptiivne tarkvaraarendus (ASD)• Dünaamiline süsteemiarendusmeetod (DSDM)• Crystal Clear• Kulusäästlik arendus (LD)• Scrum

Page 14: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

14

Erisus-juhitud arendus

• Feature Driven Development (FDD)• Iteratiivne ja tulemustele orienteeritud• Kirjeldab analüüsi, projekteerimise ja

teostuse faase• Baseerub samuti UML-il• Keskne mõiste – erisus (feature)• Erisusi arendavad erisusmeeskonnad, mis

komplekteeritakse klasside järgi (igal klassil on omanik)

FDD – Mis on erisus?

• Loodava süsteemi üks funktsionaalne nõue e. omadus

• Mingi tegevus, mida süsteem peab tegema

• Kliendile arusaadav ja vajalik• Ühe erisuse arendus kestab tavaliselt

tunnid kuni päevad (max 2 nädalat)• Sellega tagatakse arenduse jälgitavus

kliendile

Page 15: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

15

FDD – protsessifaasid

• Üldmudeli loomine• Erisuste nimekirja koostamine• Erisuste planeerimine• Erisuse projekteerimine• Erisuse teostamine (kodeerimine)

Viimased kaks faasi korduvad igas iteratsioonis ning paralleelselt võib käia mitme erisuse arendus

FDD – protsess

Looüldmudel

Koostaerisustenimekiri

Planeerierisused

Disainierisus

Teostaerisus

Page 16: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

16

FDD – praktikad

• Valdkonna modelleerimine• Erisushaaval arendamine• Individuaalne omand• Erisusmeeskonnad• Ülevaatused• Regulaarsed translatsioonid• Konfiguratsioonihaldus• Tulemuste jälgitavus ja aruanded

FDD – infoallikad

• Raamatud:– S. Palmer et al., “A Practical Guide to

Feature-Driven Development”, 2002– P. Coad et al., “Java Modeling In Color With

UML: Enterprise Components and Process”, 1999

• www.featuredrivendevelopment.com

Page 17: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

17

Väledad metoodikad

• Rationali unifitseeritud protsess (RUP)• Ekstreemprogrammeerimine (XP)• Erisus-juhitud arendus (FDD)• Adaptiivne tarkvaraarendus (ASD)• Dünaamiline süsteemiarendusmeetod (DSDM)• Crystal Clear• Kulusäästlik arendus (LD)• Scrum

Adaptiivne tarkvaraarendus

• Adaptive Software Development (ASD)• Aluseks pidev muutumine• Arendustsükkel: Oleta – Osale – Õpi• Mitte eriti detailne metoodika• Alates 2001 koos Crystal metoodikatega

Page 18: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

18

ASD – arendustsükkel

Oleta

Õpi

Osale

ASD – protsess

Tsükliplaneeri-

mine

Projektialgatamine

Paralleelnekomponentide

arendus

Kvaliteediülevaatus

Väljas-tamine

Õppimistsükkel

Oleta Osale Õpi

Page 19: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

19

ASD – printsiibid

• Missioon-juhitud• Komponendipõhine• Iteratiivne• Ajalahterdatud• Muutusi salliv• Risk-juhitud

ASD – infoallikad

• Raamat:– J. Highsmith, “Adaptive Software

Development: A Collaborative Approach to Managing Complex Systems”, 2000

• www.adaptivesd.com

Page 20: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

20

Väledad metoodikad• Rationali unifitseeritud protsess (RUP)• Ekstreemprogrammeerimine (XP)• Erisus-juhitud arendus (FDD)• Adaptiivne tarkvaraarendus (ASD)• Dünaamiline süsteemiarendusmeetod

(DSDM)• Crystal Clear• Kulusäästlik arendus (LD)• Scrum

DSDM

• Dynamic Systems Development Method(DSDM)

• Põhineb RAD lähenemisel• Metoodikat haldab DSDM konsortsium,

millel üle 400 liikme üle maailma– Populaarsem Euroopas, eriti UK-s– Konsortsiumisse kuuluvad suurimad briti

firmad (13% IT-firmadest, kelle käive >£100M)– Koolituse läbinud üle 20 000 spetsialisti

Page 21: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

21

DSDM – tarkvara kolmnurk

Tavaline

Funktsionaalsus

Aeg Ressursid

DSDM

Funktsionaalsus

RessursidAegfikseeritud

muutuv

DSDM – millal ei sobi?

• Rakendamine raske, kui progress pole kasutajale jälgitav (nt. reaalajasüsteemid, protsessijuhtimine vms)

• Ülikriitilise tarkvara korral, kuna puuduvad ülitäpsed kontrollimehhanismid

Page 22: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

22

DSDM – tiimid

• Arendustiimis 2..6 inimest, projektis võib olla mitu tiimi (soovitavalt max 6)

• Igas tiimis vähemalt üks kasutaja esindaja• Kandvad rollid projektis:

– Projektijuht– Tehniline koordinaator– Visionäär

DSDM – põhimõtted• Kasutajate aktiivne osalus• Tiim on volitatud otsustama• Sagedased väljalasked• Ärieesmärkide saavutamine on esmatähtis• Iteratiivne ja inkrementaalne arendus• Kõik muutused on tagasivõetavad• Määratakse üldised nõuded• Testimine kogu projekti jooksul• Kõigi osapoolte vaheline koostöö

Page 23: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

23

DSDM – protsessifaasid• Projektieelne faas

– Ressursside olemasolu? Planeerimine järgmisteks faasideks. Koolitus vajadusel

• Teostuvusuuring– Kas DSDM rakendamine on mõttekas? Põhiprobleem? Esialgne

hinnang ressursikulule.• Talitlusuuring

– Talitluse nõuded? Äriprotsesside analüüs. Koostatakse prioriteeritudnõuete nimekiri. Kõigi kasutajagruppide kaasamine.

• Funktsionaalse mudeli faas (iter.)– Realiseeritakse põhilised funktsionaalsed nõuded. Luuakse

funktsionaalne mudel• Projekteerimine ja teostuse faas (iter.)

– Valmistatakse kvaliteetne süsteem, mis vastab ka mittefunktsionaalsetele nõuetele. Testitud süsteem kasutajatele.

• Juurutamise faas (iter.)– Arenduskeskkonnast töökeskkonda, võib-olla mitmes etapis.

• Projektijärgne faas– Opereerimine ja hooldus.

DSDM – protsess

Funktsionaalsemudeli faas

Projekteerimiseja teostuse

faas

Juurutamisefaas

iteratsioon iteratsioon

iteratsioon

inkrement

Talitlusuuring

Teostuvus-uuring

Page 24: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

24

DSDM – infoallikad

• Raamat:– J. Stapleton, “DSDM – Business Focused

Development”, 2003• www.dsdm.org

– Siit saab ka metoodika käsiraamatu tutvumisversiooni

Väledad metoodikad

• Rationali unifitseeritud protsess (RUP)• Ekstreemprogrammeerimine (XP)• Erisus-juhitud arendus (FDD)• Adaptiivne tarkvaraarendus (ASD)• Dünaamiline süsteemiarendusmeetod (DSDM)• Crystal Clear• Kulusäästlik arendus (LD)• Scrum

Page 25: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

25

Crystal metoodikad

• Terve perekond metoodikaid• Praegu kirjeldatud Clear ja Orange• Eriline rõhk inimestel ja nendevahelisel

suhtlemisel. Mida efektiivsem suhtlus, seda vähem vaja vahepealseid tehiseid!

• Oluline on metoodika kohaldamine (baasmetoodikad)

Crystal metoodikad

• Projektid jaotatakse tiimi suuruse ja kriitilisuse järgi

• Kriitilisus = kui suurt ohtu tarkvara vead kujutavad:– Mugavus (loss of Comfort)– Mõningane raha (loss of Discretionary money)– Oluline raha (loss of Essential money)– Elu (loss of Life)

Page 26: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

26

Crystal metoodikad

L6 L20 L40 L80

E6

D6

C6

E20 E40 E80

D20 D40 D80

C20 C40 C80

Clear Yellow Orange Red

Süsteemikriitilisus

Tiimisuurus

Crystal Clear

• Väikestele tiimidele (4..6 in.) vähekriitilistes projektides

• Esmatähtis on time-to-market• Tiim töötab koos ühes ruumis• Tehnikaid ei määratleta – neid tuleks võtta

teistest metoodikatest

Page 27: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

27

Crystal Clear - praktikad

• Inkrementaalne arendus• Monitoorimine tarkvarast lähtuvalt• Kasutajate otsene seotus• Automaatsed regressioonitestid• Kasutajaülevaatused• Piisava stabiilsuse printsiip• Tagasivaateseminarid

Crystal – infoallikad

• Raamat:– A. Cockburn, “Crystal Clear: A human-

powered software development methodology for small teams”, 2003, draft: members.aol.com/humansandt/crystal/clear/

• www.crystalmethodologies.com

Page 28: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

28

Väledad metoodikad

• Rationali unifitseeritud protsess (RUP)• Ekstreemprogrammeerimine (XP)• Erisus-juhitud arendus (FDD)• Adaptiivne tarkvaraarendus (ASD)• Dünaamiline süsteemiarendusmeetod (DSDM)• Crystal Clear• Kulusäästlik arendus (LD)• Scrum

Kulusäästlik arendus

• Lean Development (LD)• Sai alguse 1980’ndate autotööstusest• Pigem üldised juhtnöörid arenduseks• Ei määratleta rolle, tehiseid, tööprotsesse

Page 29: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

29

LD – põhimõtted

• Kõige üleliigse eemaldamine• Õppimise kiirendamine ja võimendamine• Otsustamine nii hilja kui võimalik• Evitamine nii kiiresti kui võimalik• Tiim on volitatud otsustama• Terviklikkust silmas pidav arendamine• Asjatu optimeerimise vältimine

LD – infoallikad

• Raamat:– M. Poppendieck, “Lean Software

Development: An Agile Toolkit for Software Development Managers”, 2003

• www.poppendieck.com

Page 30: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

30

Väledad metoodikad

• Rationali unifitseeritud protsess (RUP)• Ekstreemprogrammeerimine (XP)• Erisus-juhitud arendus (FDD)• Adaptiivne tarkvaraarendus (ASD)• Dünaamiline süsteemiarendusmeetod (DSDM)• Crystal Clear• Kulusäästlik arendus (LD)• Scrum

Scrum

• Keskendub arendusprotsessi juhtimisele ja kontrollimisele. Ei kirjelda konkreetseid tehnikad arenduseks

• Väikestele tiimidele (5..8 liiget)• Protsess jaguneb sprintideks, mis on 2..6

nädala pikkused iteratsioonid• Nõuded alguses toote nõuete nimekirjas

ning hiljem iga sprindi nimekirjas.• Kiirkoosolekud iga päeva alguses

Page 31: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

31

Scrum – protsess

Scrum – infoallikad

• Raamat:– K. Schwaber et al., “Agile Software

Development with SCRUM”, 2001• www.controlchaos.com

Page 32: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

32

Väledad metoodikad

• Rationali unifitseeritud protsess (RUP)• Ekstreemprogrammeerimine (XP)• Erisus-juhitud arendus (FDD)• Adaptiivne tarkvaraarendus (ASD)• Dünaamiline süsteemiarendusmeetod (DSDM)• Crystal Clear• Kulusäästlik arendus (LD)• Scrum

Võrdlus• Ulatus

– RUP, DSDM vs. Scrum, FDD• Detailsus

– XP, RUP vs. ASD, CrystalClear

• Rakendatavus– RUP ei piira, Crystal Clear

piirab• Iteratsioonid

– Igal pool olemas, kuid eri pikkustega (FDD, XP vs. RUP, Crystal Clear)

• Kliendi seotus– Eriti oluline XP ja DSDM korral

• Nõuded– kliendile mõistetavad osad

• Tiimi dünaamika– FDD muutuvad meeskonnad,

XP paarisprogrammeerimise partnerite vahetus

• Koodi omand– XP – kollektiivne, FDD -

individuaalne• Visuaalne modelleerimine

– RUP, FDD eeldavad UML-i• Metoodika arendus ja

haldamine– DSDM-i ja RUP-i arendavad

organisatsioonid• Mida on uuritud?

– XP ja RUP eelkõige

Page 33: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

33

Kuidas metoodikat rakendada?

• Kasutamisele peab eelnema analüüs• Vajadus kombineerida eri metoodikaid• Rakendamine samm-sammult

olemasolevat metoodikat muutes• Eesmärk pole metoodikat kasutada vaid

edukalt tarkvara arendada

Kokkuvõtteks

• Väledaid metoodikaid on palju, mõned on rohkem kasutatavad, mõned vähem

• Levinuimad on RUP ja XP• Väledad metoodikad on üldiselt sarnased,

kuid esineb ka erinevusi

Page 34: Väle tarkvaraarendus - kodu.ut.eekodu.ut.ee/~kiho/TVTkonspekt/VOtsasonAgile/VOtsasonAgile.pdf · – RUP, XP, DSDM, Scrum jne. Nende sarnasused ja erinevused. 3. Ekstreemprogrammeerimine

34

Järgmine kord

• Ekstreemprogrammeerimine detailsemalt• Väärtused. Põhimõtted. Arendusprotsess.• Tosin praktikat (paarisprogrammeerimine

ja muud)