Tehtävä 1

Seuraavassa on joukko väittämiä jotka saattavat olla totta tai väärin. Osa voi olla jopa yhtäaikaa totta ja epätotta. Kerro onko väittämä totta vai/ja epätotta ja anna asialle lyhyt perustelu.

  • User storyä ei ole pakko testata samassa sprintissä missä se toteutetaan
  • Product owner määrittää user storyjen työmääräarviot
  • Sprint backlogin tehtäville on pakko antaa työmääräarviot
  • Firman paras kehitystiimi saadaan selville vertailemalla tiimien velositeettia
  • Ketteriä menetelmiä käytettäessä ohjelmiston arkkitehtuuri suunnitellaan aina ensimmäisen sprintin aikana
  • A/B-testaus on eräs tuotannossa tapahtuvan testauksen muoto

Tehtävä 2

Globaaliksi markkinajohtajaksi nousseen Copypizzan online-verkkokaupan product owner on määritellyt seuraavan user storyn, joka on tällä hetkellä ainoa product backloginlla oleva story:

Pizzan tilaaminen tapahtuu kirjautumalla sivulle ensin omalla käyttäjätunnuksella, ja valitsemalla halutut täytteet tietokantataulun CONTENT listalta sekä pizzan pohjan koko ja tämän jälkeen syöttämällä toimitusosoite (jos se ei ole jo talletettu tietokantatauluun CUSTOMERS), haluttu toimitusajankohta sekä valitsemalla maksutapa (joka voi olla verkkopankki, mobilepay, luottokortti tai mikä muu tahansa maksutapa) ja syöttämällä mahdollinen tarjouskampanjakoodi. Kannattaa myös huomioida, että jokaisen käyttäjän joka kymmenes pizza on ilmainen. Toiminnallisuus ei saa hidastua edes kovimpien kysyntäpiikkien kuten lounastarjousten aikana.

Tilanne ei kuitenkaan ole kaikin tavoin optimaalinen. Kerro perustellen mikä on ongelma ja auta product owneria korjaamaan product backlogin tilanne.

Tehtävä 3

(a) Mitä tarkoitetaan ohjelmiston ulkoisella laadulla?

(b) Millä keinoilla ja tekniikoilla ketterissä ohjelmistotuotantoprojekteissa pyritään saavuttamaan ohjelmiston riittävä ulkoinen laatu?

Tehtävä 4

Copypizzan sovelluskehitys on organisoitu seuraavasti. Kehitystyöhön osallistuvat ihmiset on jaettu viiteen tiimiin. Tiimi A vastaa selainpuolen toiminnallisuuden toteuttamisesta, tiimi B vastaa palvelimella suoritettavasta sovelluslogiikan toteuttamisesta, tiimi C vastaa tietokannan ylläpitämisestä sekä palvelimien asennuksista, tiimi D vastaa sovelluksen testauksesta ja tiimi E vastaa sovelluksen arkkitehtuurin suunnittelusta.

Tiimit tapaavat product ownerin 3 kuukauden välein ja demoavat edellisen ajanjakson aikana tekemänsä toiminnallisuuden sekä valitsevat työt seuraavalle 3 kuukauden ajanjaksolle.

Copy pizzan sovelluskehitystyön organisointi ei ole täysin optimaalista. Olet ollut juuri Toyotan järjestämässä Lean-koulutuksessa. Kerro mitä ongelmia Copy pizzan kehitystyössä on ja miten se kannattaisi organisoida lean-kehityksen periaatteita noudattaen.

Tehtävä 5

Tehtävässä tarkasteltava esimerkkikoodi täällä

(a) Mitä tarkoitetaan ohjelmiston sisäisellä laadulla?

(b) Mitä sisäisen laadun kannalta ongelmallisia asioita esimerkkikoodissa on?

(c) Selitä miten refaktoroisit esimerkkikoodin soveltaen suunnittelumalleja tai muita tilanteeseen sopivia ratkaisuja