Sisällysluettelo
Linkit
- Laskarit
- Miniprojekti
- Ohjeet
Osa 0: Johdanto
- Esitiedot ja sisältö
- Kurssin suorittaminen ja arvostelu
- Luennot - laskuharjoitukset - miniprojekti
- Aikataulu
- Typoja materiaalissa
Osa 1: Ohjelmistotuotanto ja Scrum
- Ohjelmistotuotanto ja sen osa-alueet
- Ohjelmiston vaiheet ja elinkaari
- Ketterä ohjelmistokehitys
- Scrum
- Laajat kielimallit ohjelmistokehityksessä
Osa 2: Vaatimustenhallinta
- Vaatimusmäärittely
- Vaatimusmäärittelyn vaiheet
- Vaatimusten kartoituksen menetelmiä
- Vaatimusten analysointi, dokumentointi, validointi ja hallinnointi
- Toiminnalliset vaatimukset
- Ei-toiminnalliset vaatimukset
- Vaatimusmäärittely vesiputousmallin valtakaudella
- Vaatimusmäärittely iteratiivisessa ja ketterässä ohjelmistokehityksessä
- Uuden ajan vaatimusmäärittely: Lean startup
- Vaatimusmäärittely ja projektisuunnittelu ketterässä prosessimallissa
- Sprintin suunnittelu
Osa 3: Laadunhallinta
- Laadunhallinnan peruskysymykset: verifiointi ja validointi
- Laadunhallinnan tekniikat
- Vaatimusten validointi
- Koodin katselmointi
- Testaus
- Järjestelmätestaus
- Testitapausten valinta
- Yksikkötestaus
- Integraatiotestaus
- Regressiotestaus
- Ketterien menetelmien testauskäytänteitä
- Test driven development
- Riippuvuuksien hallinta testeissä
- User storyjen testaaminen
- Ohjelmiston integraatio
- Jatkuva toimittaminen ja toimitusvalmius
- Tutkiva testaaminen
- Tuotannossa tapahtuva testaaminen ja laadunhallinta
- DevOps
- Yhteenveto - ketterän testauksen nelikenttä
- Loppupäätelmiä testauksesta ja laadunhallinnasta
- Tieteellinen evidenssi
Osa 4: Ohjelmiston suunnittelu, DevOps
- Ohjelmiston arkkitehtuuri
- Arkkitehtuuri ketterissä menetelmissä
- Olio- ja komponenttisuunnittelu
- Kapselointi
- Koheesio
- Riippuvuuksien vähäisyys
- Favour composition over inheritance
- Suunnittelumalli: static factory method
- Suunnittelumalli: strategy
- Vastuiden eriyttäminen: tilin luominen pankissa
- Toiminnallisuuden kapselointi: laskin ja strategia
- Suunnittelumalli: command
- Yhteisen koodin eriyttäminen yliluokkaan
- Suunnittelumalli: template method
- Toisteettomuus
- Testattavuus
- Selkeys
- Code smell
- Refaktorointi
- Tekninen velka
- Lisää suunnittelumalleja
- Ohjelmistolisenssit
Osa 5: Lean ja laajan skaalan ketterä
- Lean
- Taustaa
- Toyota production system, TPS
- Leanin tavoitteet, perusta ja peruspilarit
- Jatkuva parantaminen – arvo ja hukka
- Ylituotanto (engl. over production)
- Välivarastointi (engl. in-process inventory)
- Liikatyö (engl. over/extra processing)
- Tarpeeton materiaalin siirtely (engl. transportation)
- Työntekijöiden tarpeeton liikkuminen (engl. motion)
- Turha odotus (engl. waiting)
- Viat (engl. defects)
- Muri- ja mura-tyyppinen hukka
- Kaizen
- Leanin periaatteita: pull-systeemi
- Leanin periaatteita
- Arvon virtaaminen ketterässä ohjelmistotuotannossa
- Kasvattaminen leaniin ja johtajuuden periaatteet
- Lean-tuotekehityksen periaatteita
- Leanin soveltaminen eri aloille
- Laajan skaalan ketterä ohjelmistokehitys
- Ketterien menetelmien käyttö ja hyödyt tutkimuksen valossa