Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

kodu.ut.ee

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

Tarkvaratehnika:

Tarkvaratehnika

tarkvaraprojekti juhtimine

(loeng loeng IV)

Asko Seeba

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

1

10/24/2001


Teemad

Loeng I – sissejuhatus

Loeng II – tarkvaraprojekti juhtimise

kontseptsioonid

Loeng III – tarkvaraprojekti juhtimise

töövoog

Loeng IV – tarkvaraarendusprotsessi

rakendamine

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

2

10/24/2001


Kõik koos

Põhivood

Nõuded

Analüüs

Projekteerimine

Teostus

Testimine

Algatus Detailimine Konstrueerimine Siire

Iter.

#1

Iter.

#2

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

...

Faasid

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

Detailimisfaasi iteratsioon

Iter.

#n-1

Iter.

#n

3

10/24/2001


Näide – protsess enne UP-i UP

1. Nägemused ja teadusartiklid

2. Projekti plaan ideede teostamiseks

3. Tarkvaranõuete spetsifikatsioon

4. Tarkvaralahenduse kirjeldus

5. Süsteemi komponentide kood

6. Integreerimine

7. Tugimaterjal, pakend, müük, koolitus ja

kasutajatugi

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

4

10/24/2001


Unifitseeritud protsessi

rakendamine

Unifitseeritud protsessini jõudmine – 1999.

a. lõpp, 2000. a. algus.

Projekti valimine – TrueSign 1.0

Projekti sisu – pikaajalise

tõestusväärtusega digitaalsignatuuride

tehnoloogia teostus

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

5

10/24/2001


Projektiga seotud riskid

Pole vana asja edasiarendus, vaid uue

algus

Strateegiliselt tähtis valdkond – läbimurre

PKI-s

Olemasolevate PKI komponentidega

liidestumine

Esimesel paaril aastal raha sisse ei too

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

6

10/24/2001


Probleemid – sümptomid

Iteratiivsus puudus

Raskused uuest metoodikast aru saamisel

Konstrueerimisfaas: plaanitud 15 inimkuu asemel

34 – erinevus 227%

Tähtaeg ja eelarve:

– plaanitud 7 kuu asemel 8 kuud

– 34 inimkuu asemel 47,5 – erinevus 28%

Muutused plaanis – enamasti lõpu edasi

lükkamine tehnoloogia demonstreeritavuse

huvides

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

7

10/24/2001


Probleemid – põhjused

Ei uuritud, kuidas tegelikult unifitseeritud

protsessi juurutada tuleb

– Liiga palju uut korraga juhtis tähelepanu

iteratiivsest planeerimisest kõrvale

Konstrueerimisfaasis tugineti plaanimisel

intuitsioonile – hinnangud ebarealistlikud

– Konstrueerimisfaasis materialiseerunud riski

ei avastatud piisavalt vara iteratiivsuse

puudumise tõttu

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

8

10/24/2001


Protsessi juurutamine

esimesi astutavaid samme tuvastada

kogenud konsultandi abil

hinnata organisatsiooni hetkeolukorda

juurutada protsessi ja uusi töövahendeid

vähehaaval

dokumenteerida projektis rakendatava

protsessi elemendid (väljatöötusjuhtum)

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

9

10/24/2001


Statistiline analüüs

Programmeerijate töökiiruse hindamine

– Saame lahti ebarealistlikest graafikutest

Ajakulu põhjuste uurimine

– Aitab leida töökiiruse tõstmiseks vihjeid

Järgmises projektis eelmise tulemustele

toetumine

– Mitte asetada latti kõrgemale

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

10

10/24/2001


Ajakulu allikad

250

200

150

100

50

0

Tegevustevaheline jaotus

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

Koodi kirjutamine

Teistega suhtlemine

Muu 3. partei

Kompileerimine

Sandardid

OpeSSL

Raport

Ülesanne

Projekteerimine

Projektiväline

Dokumenteerimine

11

10/24/2001


Koodimine kõige muu suhtes

250

200

150

100

50

0

Koodi kirjutamine ja muud tegevused

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

Koodi kirjutamine

Muud tegevused

12

10/24/2001


Statistilised tulemused

Aeglasemalt valmisid keerukamad

komponendid

1 minut vähem suhtlemist = 25 minutit

kauem programmeerimist

Segadus pealiskaudselt modelleeritud

komponentidega

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

13

10/24/2001


TrueSign 1.1

Iteratiivsus – parem, aga mitte päris:

– Suurim viga – algatusfaas jäeti ära

Statistika rakendamine

– Töömahtude hinnangud vastasid väga täpselt

tegelikkusele

Ajagraafik

– Programmeerijate ressurss ei olnud plaanitud ulatuses

saadaval – vaja juhtkonna tasemel protsessi

– Idealistlik inimkuude jagamine programmeerijate

arvuga – vaja ajapuhvrit

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

14

10/24/2001


Protsessi teostamine

organisatsioonis: sammud

Algus

Lõpp

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

1. Organisatsiooni hindamine

2. Teostuse plaanimine

3. Teostuse käivitamine

4. Protsessi teostuse hindamine

15

10/24/2001


Organisatsiooni hindamine

Mida vaja teada?

– Organisatsiooni hetkeolek

– Inimesed, nende kompetents, oskused ja motivatsioon

– Kasutatavad vahendid

– Kasutatav protsess ja selle kirjeldatus

– Organisatsiooni ärilised eesmärgid

Miks vaja teada?

– Plaanimiseks

– Saab teada valdkonnad, mida esimesena muuta

– Rahastajatele ja teistele vajaduste selgitamiseks

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

16

10/24/2001


Teostuse plaanimine

Eesmärkide seadmine

Riskide tuvastamine

Projektide valimine

Protsessi väljakuulutamisaja otsustamine

Koolituse plaanimine

Juhendamise plaanimine (1/2 koha koormus

esimestes iteratsioonides)

Otsustada, kas arendada üleorganisatsioonilist

arenduskeskkonda – kah projekt

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

17

10/24/2001


Teostuse käivitamine käivitamine

ja

hindamine

Tarkvaraprojektide seire

Protsessi ja vahendite väljakuulutamiste

juhtimine üle projektide

Üleorganisatsioonilise keskkonna

väljatöötamise seire

Tööpanuste tulemuste hindamine

Protsessi teostuse järgmise iteratsiooni

jaoks fookuse määramine

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

18

10/24/2001


Tüüpiline lähenemine

Inimesed pilootprojektist

osalevad tegelikes

projektides

juhenda-

Tegelik projekt A

jatena

Tegelik projekt A

Pilootprojekt

Keskkonna

ettevalmistamine Tegelik projekt A Aeg

1-3 kuud 1-4 nädalat

Piloodi hindamine

Vahendite paigaldamine

Inimeste koolitamine

3++ kuud

Üleorganisatsioonilise protsessi kehtestamine

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

19

10/24/2001


Kiire lähenemine

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

Tegelik projekt A

Tegelik projekt A

Keskkonna

ettevalmistamine Tegelik projekt A Aeg

1-2 kuud 3++ kuud

Üleorganisatsioonilise protsessi kehtestamine

Vahendite paigaldamine

Inimeste koolitamine

20

10/24/2001


Ettevaatlik lähenemine

Esimene

pilootprojekt

Teine

pilootprojekt

Tutvustab

Nõuetehalduse vahend

Nõuete töövoog

Keskkonna

ettevalmistamine

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

Tegelik projekt A

Tegelik projekt A

Tegelik projekt A

Aeg

Tutvustab

Modelleerimise vahend

Analüüsi ja projekteerimise töövoog

21

10/24/2001


Hajus lähenemine

Unifitseeritud protsessi lubatakse kasutada kogu

organisatsioonis

Igal projektil vabadus otsustada, kuidas kasutab

Projektidevahelist koordineerimist pole

Kasu:

– Projektid omandavad ühise sõnavara

– Inimesed harjuvad unifitseeritud protsessi, kui üldise

protsessiga

– Võib osutuda protsessi ja vahendite kasutamises

esimeseks sammuks

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

22

10/24/2001


Organisatsiooni

arenduskeskkond

Esimene

pilootprojekt

Keskkonna

ettevalmistamine

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

Tegelik projekt A

Tegelik projekt A

Tegelik projekt A

Organisatsiooni arenduskeskkonna projekt

Aeg

23

10/24/2001


Peamised ebaõnnestumise

põhjused

Protsessi ja vahendeid ei juurutata

inkrementaalselt

Juhtimistasandilt ei saa piisavalt aktiivset

tuge

Osanikke ei kaasata (kliendid, teised

osakonnad, alltöövõtjad)

Organisatsiooni muutmisega tegelemiseks

puudub valmisolek

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

24

10/24/2001


Koskprotsessist iteratiivsesse:

iteratiivsesse:

muutused ja ohud

Hüved ei tule tasuta

Iteratiivne arendus ei ole võlukepp

Projektijuhile on esimene projekt, eriti

esimesed iteratsioonid, rasked

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

25

10/24/2001


Rohkem plaanimist

Iteratiivne lähenemine ei pruugi tähendada

vähem tööd või lühemaid graafikuid

Suurendab ennustatavust ja kvaliteeti

Nõuab rohkem plaanimist

Lõks:

– Üleliia detailitud plaan kuni lõpuni

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

26

10/24/2001


Ümbertegemised toimuvad

varem

Koskprotsessis tehakse palju ümber

projekti lõpus

Iteratiivne protsess sunnib seda alguses

tegema

Lõksud

– Muutused ei koondu

– Alustatakse ilma otsustamata, kuhu jõuda

tahetakse

– Enda edu ohvriks langemine

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

27

10/24/2001


Esiplaanil on tarkvara

Koskprotsessis on suur rõhk

spetsifikatsioonidel

Iteratiivses protsessis on tarkvara juba

alguses

Klient ei osta spetsifikatsioone, vaid

tarkvara

Lõksud

– Keskendutakse valedele tehistele

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

28

10/24/2001


Raskeid probleeme käsitletakse

varem

Koskprotsessis tegeldakse alguses ainult

mugavate riskidega

Iteratiivne protsess sunnib tegelikke riske

juba alguses vaatama

Lõksud

– Pea liiva alla panemine

– Unustatakse tuvastada uusi riske

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

29

10/24/2001


Elutsükli mudelite kokkupõrge

Tuleb koostööd teha organisatsioonidega,

mis ei kasuta või isegi pole aru saanud

iteratiivsest lähenemisest

Kavatsused ja plaanid tuleb teha nähtavaks

Tuleb kaitsta meeskonda väliste rünnakute

eest

Lõksud

– Erinevad grupid kasutavad oma graafikut

– Projekti hind fikseeritakse algatusfaasis

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

30

10/24/2001


Progressi mõõtmine on

teistsugune

Tehised pole külmutatud, vaid arenevad

pidevalt

Tuleks rohkem keskenduda muutuste

seirele

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

31

10/24/2001


Iteratsioonide arvu, arvu,

kestvuse ja

sisu otsustamine

Algajal raske otsustada iteratsioonide sisu

Plaanimist juhivad

– tehnilised ja organisatoorsed riskid

– funktsioonide või erisuste kriitilisus

Lõksud

– Liiga palju esimeses iteratsioonis

– Liiga palju iteratsioone (rusikareegel: 6±3)

– Iteratsioonid kattuvad üle

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

32

10/24/2001


Hea projektijuht ja hea arhitekt

Hea juhtimine ilma hea arhitektuurita ei

õnnestu

Fantastiline arhitektuur ilma hea

juhtimiseta ei õnnestu

Vajavad erinevaid oskusi

Kumbki rohkem, kui täiskoormusega töö

Lõksud

– Sama inimene projektijuhi ja arhitektina

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

33

10/24/2001


Järeldused

Nii palju probleeme! Miks üldse jamada?

– Olemas süstemaatilised võtted probleemidega

tegelemiseks

– Ebamugavus tasub ennast kuhjaga

Koskprotsess on projektijuhile mugav, aga raske

tarkvarainseneridele

Iteratiivne protsess on kohandatud

tarkvarainseneride tööga juhtimise keerukuse

hinnaga

Suurte keerukate projektide juhtimine muutub

ajapikku järjest kergemaks, skaleerub paremini

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

34

10/24/2001


Kogu organisatsiooni tase –

CMM skaala

CMM’i tasemed

1. Protsess on juhuslik

2. Protsess on korratav

3. Protsess on defineeritud

4. Protsessi juhitakse

5. Protsessi optimeeritakse

Taset hinnatakse küsimustiku abil

Enamasti peaks eesmärk olema 3 tase

Tarkvaratehnika: tarkvaraprojekti juhtimine (loeng IV)

35

10/24/2001

More magazines by this user
Similar magazines