Systeemityö ja projektityöskentely

Sorakuilu

3. Ketterät (agile) menetelmät systeemityössä

Parityö, tehtävät arvotaan

Torstain 15.8. tavoitteet

1. Diaesitys

Työ tehdään parirtyönä ja esitetään kaikille.

Perehdy yhteen seuraavista systeemityön menetelmistä ja laadi seuraavien kysymysten ja vihjeiden perusteella diaesitys. Esityksessä selvennät ja kuvaat menetelmiä siten, että menetelmästä saa selkeän mielikuvan.

Esityksessä odotan olevan kuvia, tekstiä, kaavioita ja tarkat lähdeviittaukset (URL:t lähteistä). Samaten tekijöiden nimien tulee olla mukana.

Tallenna dokumentti nimellä harj3.pdf ja siirrä GitLabiin (jokaiselle ryhmän jäsenelle). Säilytä alkuperäinen dokumentti muokattavassa muodossa.

2. Huoneentaulu

Laadi tai hae mielestäsi kuvaava huoneentaulu menetelmästä (olennaisin asia yhdelle A3 -arkille sijoitettuna). Taulun voi tehdä mieleisellään tavalla - jos se ei ole tulostettavissa, se skannataan.

Palauta huoneentaulu nimellä harj3_huoneentaulu.pdf myös GitLabiin.

Tutkittavat asiat

  1. Perinteinen vesiputousmalli
    • kuvaus mallista
    • ongelmat
    • hyödyt
  2. Ketterän kehityksen yleiset piirteet
    • Agile Manifesto, 12 periaatetta
    • Agile Alliance
  3. Scrum
    • Mikä on Scrum?
    • Mitkä ovat Scrumin käsitteet (vaiheet)? Kuvaa myös jokaisen termin merkitys.
    • Mitä palaverejä kuuluu Scrumiin? Missä vaiheessa palavereja pidetään? Kuvaa niiden asiasisltö.
    • Mitä rooleja scrumissa on? Mikä on kunkin roolin tehtävä?
    • Mikä on scrum-tehtävätaulu? Piirrä tai hae esimerkkikuva (toki lähdeviitteineen) tehtävätaulusta.
  4. XP (Extreme programming)- XP-ohjelmoinnin käytänteisiin kuuluvat suunnittelupeli, yksinkertainen suunnitelma, refaktorointi, pienet julkistukset ja pariohjelmointi, asiakas tiimin jäsenenä, testaus jatkuva integrointi, koodin yhteisomistus, kestävä työtahti, ohjelmointistandardit ja vertauskuva.
    • Mitä ovat XP:n ydinarvot?
    • Mitä vaiheita suunnittelupelissä on?
    • Mitkä ovat yksinkertaisuuden vaatimukset?
    • Miksi tehdään pieniä julkistuksia?
    • Mitä hyötyä on pariohjelmoinnista?
    • Mitä tarkoittaa koodin yhteisomistus? Miksi sitä käytetään?
    • Miksi käytetään vertauskuvaa?
  5. LEAN
    • Leanin perustava idea on arvon maksimointi minimoiden samalla "jätteitä". Mitkä ovat ohjelmistotuotannossa "jätteitä"?
    • Mitä muita periaatteita Lean-ajattelussa on? Mitä tarkoittaa termi "kaizen"?
    • Mitä tarkoittaa käsite MVP?
    • Mikä on kanban?
  6. TDD eli test-driven development
    • Mikä on TDD:n periaate?
    • Mitä on "mocking"?
    • TDD:n hyödyt?
  7. RUP
    • parhaat käytännöt
    • rakennusosat (building blocks)
    • 4 elinkaaren vaihetta
    • hyödyt
    • ongelmat
  8. Adaptive Software Development (ASD)
    • kuvaa ajattelun lähtökohta ja perusidea
    • mitä elinkaaren vaiheita on ASD:ssa

Vihjeitä ja luettavaa: