Toimeksianto K2021
Siirrymme viikottaiseen suunnitteluun, joka tapahtuu aina tiistaisin.
SPRINT-05 PLANNING DAY 23.2.2021
Sprintin teema: Asiakkaan toiveet ja vaatimukset
- Asiakaan kuuleminen
Käydään läpi asiakkaan kanssa mitä hänellä on mielessään liittyen palveluumme?
- Mitä uusia ominaisuuksia asiakas toivoo?
- Täydentyy asiakkaan kuulemisen myötä
Tässä nimetyty ominaisuudet (Näitä käytetään tarjousta laadittaessa)
- Feature-WIMMA-Lab-teema
- Feature-Salasanahallinta
- Feature-Twitter-jatko
- Feature-Tilin-poisto
- Feature-Kirosana-filtteri
- Epic-Tietoturvan-vahvistaminen
- Epic-vikakorjaukset
Prioriteetti | ID | User Story | Muuta |
---|---|---|---|
P1 | US200 | Toimeksiantajana toivon, että foorumilla ja WIMMA Lab-sivustoilla liikkuminen on helppoa ja selkeää | |
P1 | US201 | Toimeksiantajana toivon, että sivusto näyttää visuaalisesti yhtenäiseltä, jos käyttäjä menee foorumille | |
P1 | US202 | Foorumin käyttäjänä toivon voivani palata helposti WIMMA Lab-sivustolle, koska haluan vielä tarkastella sitä uudelleen | |
P1 | US203 | Toimeksiantajana haluan, että palvelun värit noudattavat WIMMA Lab-sivuston tyyliä | |
P1 | US204 | Toimeksiantajana toivon saavani käyttöön koulutusvideon, jonka avulla voin informoida käyttäjiä uusista ominaisuukksista | |
P1 | US205 | Toimeksiantajana edellytetään palveluun HTTPS yhteyksien käyttöä | |
P1 | US206 | Toimeksiantajan toivon, että aiemmin raportoidut bugit korjataan | |
P1 | US207 | Toimeksiantajana haluan saada tuotteesta yhteenvedon Release Note-muodossa, josta selviää lopullinen vikatilanne ja tietoturvan taso | |
P1 | US208 | Toimeksiantajana toivon saavani selvityksen ohjelmiston toteutuksen tietoturvan tasosta aka "npm audit" | |
P2 | US216 | Toimeksiantajana haluan kerätä palautetta ja kehitysideoita käyttäjiltä | |
P2 | US209 | Markkinoinnin edustajana toivon, että minulla olisi mahdollisuus esitellä tärkeimmät ominaisuudet videon muodossa, kesto 1 min | |
P2 | US210 | Toimeksiantajana haluan, että palvelu huomauttaa artikkelin kirjoittajalle (suomeksi) tekstin sisällön asiallisuudesta, jos se sisältää "ala-arvoista" kieltä. | |
P2 | US211 | Foorumin käyttäjänä haluan tarvittaessa vaihtaa vanhan salasanani uuteen | |
P3 | US212 | Foorumin käyttäjänä haluan jakaa valitsemani postauksen twitterin avulla ulkomaailmalle, koska joskus on hyvä tiedottaa ulkomaailmaa WIMMALABin tapahtumista. | |
P3 | US213 | Foorumin käyttäjänä haluan mahdollisuuden palauttaa unohtuneen salasanan sähköpostitse - aka MailHog Container | |
P3 | US214 | Foorumin käyttäjänä haluan että poistaessani käyttäjätilini kaikki siihen liittyvät tiedot poistetaan | |
P3 | US215 | Moderaattorina haluan lisätä kieltolistaan uusia sanoja muokkaamalla erillistä JSON/YAML-tiedostoa |
SPRINT-04 PLANNING DAY 16.2.2021
Sprintin teema: Dokumentit kuntoon ja valmistudutaan asiakkaan vaatimuksiin
Tässä vaiheessa tiedossa olevat toiminnallisuudet, jota on sisällytettävä asiakkaan toimintojen lisäksi ovat siis seuraavat:
- Varmistusjärjestelmä - Feature-Backup-system 1.0
- Palveluanalytiikka - Feature-Service-Analytics 1.0
- Palautejärjestelmä - Feature-Feedback-system 1.0
- Tietosuojatiedote - Feature-GDPR-info 1.0
- Lokijärjestelmä - Logging-system 1.0
Näitä edellä mainittuja toiminnallisuuksia(Featureita) käsitellään itsenäisinä kokonaisuuksian ja niiden toimitusjärjestys on tiimin oma valinta. Ne on joka tapauksessa sisällytettävä pakettiin!
Asiakkaan haluamat toiminnot ovat vielä auki. Näihin saadaan selvyys Sprint 5. tapaamisessa! Niitä siis odotellessa!
Esiintulleita User Story
Prioriteetti | ID | User Story | Muuta |
---|---|---|---|
P3 | US132 | Palvelun ylläpitäjänä haluan pystyä tekemään kerättyyn käyttö lokiin hakuja ja visualisointeja | |
P1 | US133 | Palvelun kehittäjänä haluan saada loppukäyttäjän palautteen Issue-muodossa eteeni, koska se on selkeämpää jatkokäsitellä | |
P3 | US134 | Tietosuojavastaavana haluan tarkistaa tarvittaessa käyttölogista yksittäisen henkilön tekemät toimenpiteet tietyllä ajanhetkellä (oletus 1h) | |
P1 | US135 | Ohjelmistokehittäjänä haluan tietää mitä tietoja asiakkaasta tallennetaan, jotta voimme tehdä GDPR-kuvauksen |
SPRINT-03 PLANNING DAY 9.2.2021
Tässä vaiheessa kirjataan backlogiin isompi joukko User Storyja.
Sprintin teema: Dokumentit kuntoon ja tuotannon valmistelu (Dockerin haltuunotto)
Uusi ominaisuus (Feature)
- Lokijärjestelmä - Logging-system
Prioriteetti | ID | User Story | Muuta |
---|---|---|---|
P1 | US126 | Palvelun tuottajana haluan tallentaa viikon mittaiset käyttölogit erilliseen palvelimeen, koska palveluun murtautuja ei saa tuhota logeja | |
P1 | US127 | Järjestelmän ylläpitäjänä vaadin että tietokannan varmuuskopio on varmennettuna toisella koneella tai erillään tuotantopalvelimesta päivämäärä-tar.gz-muodossa | |
P3 | US128 | Palvelun tuottajana haluan kerätä palvelun käyttöön liittyen käyttölogia, jonka perusteella voidaan selvittää mahdolliset väärinkäytökset | https://gitlab.labranet.jamk.fi/TTOS0800-TTOS0900/amk-2020s/-/blob/master/materiaalit/05-Toimeksianto/lisatietoa.md#backend-logittaminen |
P3 | US129 | Palvelun ylläpitäjnä toivon, että käyttölogin muoto on tulkittavissa silmämääräisti, mutta se sisältää aimmen esitetyt atribuutit | |
P3 | US130 | Palvelun tuottajana meidän pitää kyetä tallentamaan aktiiviset tapahtumat palvelussa vähintään viimeisen viikon ajalta siten, että niitä voidaan tarkastella nopeasti (max 5 min) | |
P3 | US131 | Käyttölogiin tallennetaan, käyttäjätunnus, ajanhetki, suoritettu toiminto, mahdollinen status |
SPRINT-02 PLANNING DAY 2.2.2021
Tässä vaiheessa kirjataan backlogiin isompi joukko User Storyja.
Sprintin teema: Dokumentit kuntoon ja tuotannon valmistelu (Dockerin haltuunotto)
Uudet ominaisuudet (Features)
- Varmistusjärjestelmä - Feature-Backup-system
- Palveluanalytiikka - Feature-Service-Analytics (Sovella Google-analytics)
- Palautejärjestelmä - Feature-Feedback-system (Sovella Doorbell.io)
- Tietosuojatiedote - Feature-GDPR-info ()
Palvelun kehitys:
- Docker tekniikan soveltaminen koko tuotteen kehitykseen
Prioriteetti | ID | User Story | Muuta |
---|---|---|---|
P1 | US101 | Palvelun tuottajana haluan juolkaista palvelun Docker-tekniikalla, koska se helpottaa tuotantoa | |
P3 | US102 | Testaajana haluan käyttää Docker-kontteja, koska se helpottaa testi ympäristön pystyttämistä | |
P3 | US103 | Kehittäjänä haluan käynnistää kehitysympäristön nopeasti käyttäen kontteja | |
P3 | US104 | Palvelu voidaan pystyttää ajamalla docker-compose up komento | |
P2 | US105 | Palvelun käyttäjän toivon, että palvelu on luotettava ja se käyttää suojattuja HTTPS-yhteyttä, koska en uskalla käyttää HTTP-palveluja nykyaikana | |
P1 | US106 | Palvelun tuottajana haluan saada palautetta loppukäyttäjilä, jonka perusteella tuotetta voidaan kehitää paremmaksi | |
P1 | US107 | Palvelun tuottajana haluan auttaa loppukäyttäjää erillisen tukiportaalin kautta kuormittamatta kehitystiimiä ylimääräisillä kysmyksillä | |
P1 | US108 | Palvelun kehittäjänä haluan saada loppukäyttäjän asiakaan kehitys palautteen Issue-muodossa eteeni, koska se on selkeämpää jatkokäsitellä | |
P3 | US109 | Palvelun ylläpitäjänä haluan, että logit ovat koneluettavassa formaatissa jolloin niihin voidaan tehdä erilaisia hakuja ja parserointeja | |
P3 | US110 | Palvelun tuottajana haluan selvityksen siitä millaisia tunnettuja haavottuvuuksia on nykyisissä toteutukseen liittyvissä kirjastoissa tai moduleissa, koska täytyy varautua tulevaisuutta varten | |
P1 | US111 | Palvelun tuottajan on palvelustamme löydyttävä tietosuojakuvaus infosivu, koska GDPR sitä edellyttää | |
P1 | US112 | Järjestelmän ylläpitäjänä haluan että tuotannon tietokannasta voidaan ottaa tarvittaessa backup komentoriviltä | |
P1 | US113 | Palvelun tuottajana haluan käytää konttien jakamisessa labranetin gitlab rekisteriä | |
P1 | US114 | Palvelun tuottajana haluan seurata palvelun käyttöastetta soveltaen apuna Google Analytics-palvelua, koska se on ollut aiemmin käytössä | |
P3 | US115 | Palvelun tuottajana haluan julkaista palvelusta "release note"-kuvauksen, josta löytyvät muutokset ja olemassa olevat viat | |
P1 | US116 | Palvelun tuottajan on palvelustamme löydyttävä tietosuojakuvaus infosivu, koska GDPR sitä edellyttää | |
P1 | US117 | Palvelun tuottajana haluan saada palautetta loppukäyttäjilä, jonka perusteella tuotetta voidaan kehitää paremmaksi | |
P2 | US118 | Palvelun tuottajana haluan tietää mitä selaimia asiakkaamme käyttävät, koska se selkeyttää ominaisuuksien kehittämistä palvelemaan loppuasiakasta paremmin | |
P3 | US119 | Tietosuojavastaavana haluan tietää miten voin löytää logista valitun henkilön tekemät toimenpiteet | |
P3 | US120 | Testaajana voin käyttää tarvittaessa ennalta määriteltyä backup-tiedostoa testien pohjana | |
P2 | US121 | Palvelun ylläpitäjänä haluan että erilaiset logit kerätään palvelun internet rajalla | |
P3 | US122 | Palvelun tuottajana haluan visualisoida nykyisen asiakaskunnan aktiivisen käyttöajan ja käyttäjä määrät viikon aikana, koska se selkeyttää ymmärrystä palvelun suosiosta | |
P3 | US123 | Palvelun ylläpitäjänä haluan että palvelua tarjoillaan reverse proxyn takaa jolloin todelliset palvelimet piilotetaan sisäverkkoon |
Johdanto toimeksiantoon
Tiimisi on saanut asiakkaakseen WIMMA Lab-koulutusympäristön, joka on kehittämässä toimintaansa laajemmaksi. Korona-aika on hankaloittanut WIMMA Labin toimintaa ja nyt keskitytään kehittämään palvelukokonaisuutta, kunnes aika on sopivampi. Asiakkaan toimeksianto on tuottaa palveluna Foorumi-ratkaisua WIMMA Lab-kotisivujen osaksi. Foorumin pohjana käytetään ns. Conduit-ohjelmistoa, joka on ennalta valittu asiakkaan puolesta ja sitä ei voida muuttaa. Syynä tähän on aikataulu. Asiakkaalla on vahva oletus, että tämä säästää aikaa kehitykseltä ja voidaan keskittyä nopeampaan käyttöön ottoon.
Asiakkaan edustajana toimii tekninen arkkitehti Teemu Kontio, joka haluaa Forum-keskustelupalstan käyttöön viimeistään 3 kk jälkeen projektin alkamisesta. Tämä tarkoittaa käytännössä sitä, että ohjelmisto muutoksineen on asiakkaan täysimääräisessä käytössä. Code Cerub vastaa tämän jälkeen palvelun tukemisesta ja siihen liittyvästä ylläpidosta. Ylläpito ei kuulu projektin tavoitteeseen.
Projektin tavoitteena on muokata ja tuottaa Conduit-ohjelmistosta sopiva versio asiakkaan tarpeeseen. Ylläpito jatkuu erillisen sopimuksen pohjalta.
Projektin kesto ja kokonaisuus
- Projektin kesto on max 3 kk
- Tarkka aloitus päivä 18.1.2021
- Työaika maanantaista-perjantaihin
Toimeksiantoon liittyvät henkilöt
- Asiakkaan edustajana tekninen arkkitehti Teemu K (gitlab tunnus customer1)
Asiakkaalle on tehty gitlab-tunnukset nimelle customer1, joita käytetään tarvittavissa Issueissa.
Johtoryhmään kuuluvat seuraavat henkilöt:
- Tiiminvetäjä/projektipäällikkö
- Asiakkaan tekninen arkkitehti Teemu Kontio
- Ohjaaja/tuoteomistaja Marko Rintamäki
Projektin tehtävien jakaminen
Vaiheet:
Karkea vaihe jako on seuraava
Projektin etapit ja arvioidut kestot
- E0 - Esisuunnittelu ~1 vk
- E1 - Aloitus ja suunnittelu ~2 vk
- E2 - Toteutus E1 ja E3 välissä
- E3 - Koekäyttö + korjaukset ~2 vk
- E4 - Luovutus ja projektin lopetus 1 vk
Asiakkaan antamaa lisätietoa
Asiakkaalta tuli ohjeistus, josta selviää millaisia sidosryhmiä liittyy WIMMA Labin toimintaan. Niitä voi käyttää määrittelyn apuana.
Tutustu WIMMA Lab Black Book
Työtehtävien tuntihinnoittelu asiakkaalle toimeksiannossa
Tutustu hinnoitteluun sivulla
Haasteet
Sinun on tiimissä pohdittava miten eri osa-alueet vaikuttavat ja millä tavoin työtä on johdettava, että päästään sujuvasti maaliin. Miten vaikuttavat eri työntekijöiden muut aikataulut tekemiseen, onko edessä riskejä joita ei voi tietää tässä vaiheessa.
Alustava Työlista/Backlog
Tuotepäällikkö ehti palaveerata asiakkaan kanssa ennen joulua ja keräsi tärkeimmät tavoiteet, joita projektissa on saatava aikaa seuraavan kuukauden aikana. Ota lista ja siirrä kaikki oletuksena projektin työlistaan, eli (Backlogiin) Huomaa useat esitetyt tehtävät on kirjauttu User Storyjen muodossa! Listaa tulee täydennystä, jos jotain ilmenee! Muista, että eri tyyppiset tehtävät kirjataan Issue-tyyppien mukaan!
Seuraava lista sisältää itse tuotteeseen liittyviä huomioita, jotka tulivat esiin asiakkaan keskusteluissa. Niitä ei ole vielä priorisoitu!! Eli tilanne tarkentuu projektin aikana
- PX = Ei priorisoitu vielä
- P0 = Ei tarvetta tässä vaiheessa
- P1 = Ehdottomasti tarpeellinen
- P2 = Tarpeellinen
- P3 = Hyödyllinen toiminto
- P4 = Hyödyllinen, mutta toteutetaan jos mahtuu aikatauluun
- P5 = Totetutetaan vain jos aikataulussa on tilaa