Kaspar Loog




12.09.2011       © Kaspar Loog
1.     Rusikareeglid tarkvaraarendusest
2.     Metoodikad




12.09.2011        © Kaspar Loog
1 – Sissejuhatus ja ajalugu




12.09.2011           © Kaspar Loog
12.09.2011   © Kaspar Loog
    1987 – Fred Brooks “No Silver Bullet”
      Ükski üksik tehnoloogia või praktika ei too kaasa
         võitu üle 10x arendusajas, -rahas või
         funktsionaalsuses.




12.09.2011            © Kaspar Loog
12.09.2011   © Kaspar Loog
    Umbes pooltel arendajatel on kraad
     arvutitega seotud alal

    Mis tagab projektide edukuse?




12.09.2011       © Kaspar Loog
Barry Boehm




12.09.2011        © Kaspar Loog
Tarkvaraprobleemi lahendamine varajastes disainietappides on on 100
   korda odavam kui...




12.09.2011          © Kaspar Loog
Tarkvaraprojekti ajagraafikut saab tihendada maksimaalselt
   25% võrra




12.09.2011       © Kaspar Loog
Iga arendusele kuluv kroon tähendab, et hooldusele kulub 2 krooni




12.09.2011          © Kaspar Loog
Tarkvara arendamise ja hoolduse kulud on funktsioon koodiridade arvust




12.09.2011          © Kaspar Loog
Inimestevahelised erinevused on kõige suurem produktiivsuse mõjutaja




12.09.2011          © Kaspar Loog
1955 – 15:85
         1985 – 85:15
         2006 - ???
12.09.2011          © Kaspar Loog
Ülejäänu on programmeerimist toetav ja abistav töö




12.09.2011          © Kaspar Loog
Tarkvarasüsteemi koodirida maksab 3x rohkem kui üksiku
   programmi koodirida
   “Diseconomy of scale”




12.09.2011       © Kaspar Loog
12.09.2011   © Kaspar Loog
12.09.2011   © Kaspar Loog – Know IT Estonia
Pareto printsiip




12.09.2011            © Kaspar Loog
12.09.2011
    Nõuete analüüs
    Analüüs
    Arhitektuur
    Disain
    Kodeerimine
    Testimine
    Juurutamine
    Versioonide/konfiguratsioonihaldus
    Projektijuhtimine
12.09.2011
    Eesmärk

    Plaan
                      RAHA

    Lõpukriteerium

    Inimesed

    Ressursid
12.09.2011
Süstemaatiline viis millegi tegemiseks




12.09.2011
    Üsna konkreetsed juhised tarkvaraprojekti
     läbiviimiseks ja juhtimiseks
    Praktilised nõuanded, mis puudutavad
     tehnilisi aspekte
    Keskenduvad
      Tulemuste kirjeldamisele
      Projektiplaani ülesehitusele ja tööde
         soovituslikule järjekorrale

12.09.2011
   Rollid                 Verstapostid
    Oskused                Standardid
    Tiimid                 Kvaliteet
    Protsess               Tiimi väärtused
    Tehnikad               Tiimi iseloom
    Tegevused              Töövahendid
    Tulemid (tehised)




12.09.2011
    Waterfall – kaskaadmudel
    Spiraalmudel  Iteratiivmudel
      Rational Unified Process (RUP)
      Select Enterprise
    Väledad metoodikad
        Scrum
        XP – eXtreme programming
        FDD – feature-driven development
        ADD – adaptive software development
        Crystal
        RUP kohendused
        ...
12.09.2011
12.09.2011   © Kaspar Loog
12.09.2011   © Kaspar Loog
12.09.2011   © Kaspar Loog
    Individuals and interactions over processes
     and tools
    Working software over comprehensive
     documentation
    Customer collaboration over contract
     negotiation
    Responding to change over following a plan


12.09.2011     © Kaspar Loog
12.09.2011   © Kaspar Loog
12.09.2011   © Kaspar Loog
RAHA




12.09.2011   © Kaspar Loog
    CMM – Capability Maturity Model
    ISO sarja standardid
      Näiteks: ISO 9001:2000 – Ettevõttesisene
       kvaliteedijuhtimissüsteem
      EVS ISO/ICE 12207 – Tarkvara elutsükli protsessid
    IEEE
      SWEBOK
      PMOBOK


12.09.2011
12.09.2011
   Algus ja lõpp
                Eesmärgistatus 
                 Visioon
                Juhitud kindlate
                 inimeste poolt
                Erinevad ressursid
                Mitte-rutiinne
                 tegevus
                Palju riske
                Palju konflikte
12.09.2011
     Meeskonna liikmete mõjutamine oma
      isikliku mõjuga, et saavutada nii
      organisatoorsed kui ka isiklikud eesmärgid
     Oskus luua haaravat kollektiivset visiooni ja
      seda edasi anda nii, et see motiveeriks teisi
     Tegutsemine selliselt, et töötajad
      reageeriksid su tegudele


12.09.2011
    Kes oli projektijuht?
    Mis oli eesmärk?
    Visioon?
    Tegutsemine?
    Reaktsioon?




12.09.2011
     Visioon
     Head suhtlemisoskused
     Võime sisendada veendumust ja
      viitsimist
     Tegevusele Tulemustele orienteeritus



12.09.2011
    Emotsionaalne väljendusrikkus ja soojus
    Valmisolek võtta personaalseid riske
    Ebatraditsionaalsete strateegiate
     kasutamine
    Stressitaluvus




12.09.2011
12.09.2011
     Kommunikatsioon (oskus kuulata)
     Organiseerimisoskused (planeerimine,
      eesmärkide püstitamine)
     Meeskonna ehitamine (Team spirit)
     Juhtimine
     Delegeerimine
     Oskused raskustes (stressitaluvus, etc)
     Tehnilised oskused

12.09.2011
     karismaatiline isiksus
     efektiivne organisatsiooni sisene poliitik
     tehniline ekspert
     kõrge tasemel administratiivsete oskustega
      isik e. kuivik




12.09.2011
WIKIPEDIA

    Otsi järgmseid märksõnu ja
     loe!
      Software engineering
      Software development
         process




12.09.2011

Software engineering 02

  • 1.
  • 2.
    1. Rusikareeglid tarkvaraarendusest 2. Metoodikad 12.09.2011 © Kaspar Loog
  • 3.
    1 – Sissejuhatusja ajalugu 12.09.2011 © Kaspar Loog
  • 4.
    12.09.2011 © Kaspar Loog
  • 5.
    1987 – Fred Brooks “No Silver Bullet”  Ükski üksik tehnoloogia või praktika ei too kaasa võitu üle 10x arendusajas, -rahas või funktsionaalsuses. 12.09.2011 © Kaspar Loog
  • 6.
    12.09.2011 © Kaspar Loog
  • 7.
    Umbes pooltel arendajatel on kraad arvutitega seotud alal  Mis tagab projektide edukuse? 12.09.2011 © Kaspar Loog
  • 8.
  • 9.
    Tarkvaraprobleemi lahendamine varajastesdisainietappides on on 100 korda odavam kui... 12.09.2011 © Kaspar Loog
  • 10.
    Tarkvaraprojekti ajagraafikut saabtihendada maksimaalselt 25% võrra 12.09.2011 © Kaspar Loog
  • 11.
    Iga arendusele kuluvkroon tähendab, et hooldusele kulub 2 krooni 12.09.2011 © Kaspar Loog
  • 12.
    Tarkvara arendamise jahoolduse kulud on funktsioon koodiridade arvust 12.09.2011 © Kaspar Loog
  • 13.
    Inimestevahelised erinevused onkõige suurem produktiivsuse mõjutaja 12.09.2011 © Kaspar Loog
  • 14.
    1955 – 15:85 1985 – 85:15 2006 - ??? 12.09.2011 © Kaspar Loog
  • 15.
    Ülejäänu on programmeerimisttoetav ja abistav töö 12.09.2011 © Kaspar Loog
  • 16.
    Tarkvarasüsteemi koodirida maksab3x rohkem kui üksiku programmi koodirida “Diseconomy of scale” 12.09.2011 © Kaspar Loog
  • 17.
    12.09.2011 © Kaspar Loog
  • 18.
    12.09.2011 © Kaspar Loog – Know IT Estonia
  • 19.
  • 20.
  • 21.
    Nõuete analüüs  Analüüs  Arhitektuur  Disain  Kodeerimine  Testimine  Juurutamine  Versioonide/konfiguratsioonihaldus  Projektijuhtimine 12.09.2011
  • 22.
    Eesmärk  Plaan RAHA  Lõpukriteerium  Inimesed  Ressursid 12.09.2011
  • 23.
    Süstemaatiline viis millegitegemiseks 12.09.2011
  • 24.
    Üsna konkreetsed juhised tarkvaraprojekti läbiviimiseks ja juhtimiseks  Praktilised nõuanded, mis puudutavad tehnilisi aspekte  Keskenduvad  Tulemuste kirjeldamisele  Projektiplaani ülesehitusele ja tööde soovituslikule järjekorrale 12.09.2011
  • 25.
    Rollid  Verstapostid  Oskused  Standardid  Tiimid  Kvaliteet  Protsess  Tiimi väärtused  Tehnikad  Tiimi iseloom  Tegevused  Töövahendid  Tulemid (tehised) 12.09.2011
  • 26.
    Waterfall – kaskaadmudel  Spiraalmudel  Iteratiivmudel  Rational Unified Process (RUP)  Select Enterprise  Väledad metoodikad  Scrum  XP – eXtreme programming  FDD – feature-driven development  ADD – adaptive software development  Crystal  RUP kohendused  ... 12.09.2011
  • 27.
    12.09.2011 © Kaspar Loog
  • 28.
    12.09.2011 © Kaspar Loog
  • 29.
    12.09.2011 © Kaspar Loog
  • 30.
    Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan 12.09.2011 © Kaspar Loog
  • 31.
    12.09.2011 © Kaspar Loog
  • 32.
    12.09.2011 © Kaspar Loog
  • 33.
    RAHA 12.09.2011 © Kaspar Loog
  • 34.
    CMM – Capability Maturity Model  ISO sarja standardid  Näiteks: ISO 9001:2000 – Ettevõttesisene kvaliteedijuhtimissüsteem  EVS ISO/ICE 12207 – Tarkvara elutsükli protsessid  IEEE  SWEBOK  PMOBOK 12.09.2011
  • 35.
  • 36.
    Algus ja lõpp  Eesmärgistatus  Visioon  Juhitud kindlate inimeste poolt  Erinevad ressursid  Mitte-rutiinne tegevus  Palju riske  Palju konflikte 12.09.2011
  • 37.
    Meeskonna liikmete mõjutamine oma isikliku mõjuga, et saavutada nii organisatoorsed kui ka isiklikud eesmärgid  Oskus luua haaravat kollektiivset visiooni ja seda edasi anda nii, et see motiveeriks teisi  Tegutsemine selliselt, et töötajad reageeriksid su tegudele 12.09.2011
  • 38.
    Kes oli projektijuht?  Mis oli eesmärk?  Visioon?  Tegutsemine?  Reaktsioon? 12.09.2011
  • 39.
    Visioon  Head suhtlemisoskused  Võime sisendada veendumust ja viitsimist  Tegevusele Tulemustele orienteeritus 12.09.2011
  • 40.
    Emotsionaalne väljendusrikkus ja soojus  Valmisolek võtta personaalseid riske  Ebatraditsionaalsete strateegiate kasutamine  Stressitaluvus 12.09.2011
  • 41.
  • 42.
    Kommunikatsioon (oskus kuulata)  Organiseerimisoskused (planeerimine, eesmärkide püstitamine)  Meeskonna ehitamine (Team spirit)  Juhtimine  Delegeerimine  Oskused raskustes (stressitaluvus, etc)  Tehnilised oskused 12.09.2011
  • 43.
    karismaatiline isiksus  efektiivne organisatsiooni sisene poliitik  tehniline ekspert  kõrge tasemel administratiivsete oskustega isik e. kuivik 12.09.2011
  • 44.
    WIKIPEDIA  Otsi järgmseid märksõnu ja loe!  Software engineering  Software development process 12.09.2011