Sprint 0

Sprintin tavoitteet projektille:

  • Projektisuunnitelmaan on kirjattu projektin aiheen kuvaus ja tärkeimmät toiminallisuudet.
  • Tiimin jäsenet on lisätty GitHub organisaatioon ja projektille on tehty GitHub-repositorio.
  • Repositoriossa on README.md-tiedosto, jossa on projektin alustava kuvaus.
  • Projektille on tehty backlog.
  • Ensimmäistä sprinttiä varten on muodostettu user storyt ja ne on lisätty backlogille.
  • Projektin koodirunko on alustettu.

Viikko 1

  • Ensimmäisen opetuskerran kalvot:
    • Kurssin käytäntöjen ja tavoitteiden käsittely.
    • Ketterä ohjelmistokehitys ja Scrum-viitekehys kurssin kontekstissa.
  • Jakaudutaan tiimeihin, jossa tiimi alkaa suunnittelemaan projektiaan. Tiimin tavoitekoko on 4-5 henkilöä.
  • Keskustelkaa tiimin kesken opettajan ohjauksessa projektinne aiheesta.
    • Pitäkää aiheen laajuus kurissa ja lähtekää liikkeelle mahdollisimman karsitusta, MVP-toteutuksesta. Kurssilla toteutetaan ohjelmistoa sillä ajatuksella, että se tulisi oikeasti käyttöön.
    • Projektissa voi hyödyntää oman tietokannan lisäksi avoimen rajapinnan tarjoavia palveluita. Esimerkiksi GitHub-repositorioiden arvostelusovellus voi yhdistää GitHub API:n tarjoamaa dataa ja erillistä tietokantaa.
    • Jos ette keksi aihetta tiimin kesken, ideoikaa aiheita yhdessä opettajan kanssa.
  • Tehkää alustava projektisuunnitelma projektistanne:
    • Kuvailkaa lyhyesti, mikä ongelma tai tarve projektilla ratkaistaan, kenelle ratkaisu on tarkoitettu ja mitä projektissa ollaan tekemässä. Kuvailkaa myös, mikä on projektin tavoiteltu lopputulos.
    • Listatkaa lisäksi vähintään viisi oleellista toiminnallisuutta, esimerkiksi “Käyttäjänä haluan pystyä lisäämään arvostelun kurssista”.
    • Suunnitelma ei ole sitova, vaan se voi muuttua projektin edetessä.
    • Suunnitelmaa käydään läpi yhdessä tiimin ja opettajan kesken seuraavalla opetuskerralla.

Lisätkää Moodlen “Projektisuunnitelma”-palautukseen edellä mainitun mukainen suunnitelma ennen seuraavan viikon opetuskertaa. Riittää, että yksi tiimiläisistä tekee palautuksen.

Viikko 2

  • Keskustelkaa tiimin kesken projektin toteutusteknologioista (esim. Spring Boot backend-toteutuksessa ja React frontend-toteutuksessa). Hyödyntäkää teknologiapäätöksissä tiimin osaamista, mutta on suositeltavaa myös kokeilla sopivissa määrin uusia teknologioita.
  • Luokaa tiimillenne GitHub-organisaatio ja organisaatioon projektille GitHub-repositorio. Lisätkää kaikki tiimiläiset organisaation jäseniksi.
  • Lisätkää projektin kuvaus GitHub-repositorion README.md-tiedostoon. Kuvauksesta tulee tässä vaiheessa tulla ilmi ainakin seuraavat asiat:
    • Alustava kuvaus projektista, jossa vastataan ainakin seuraaviin kysymyksiin:
      • Mikä on projektin nimi?
      • Mikä on toteutettavan sovelluksen tarkoitus?
      • Mitkä ovat sovelluksen tärkeimmät ominaisuudet, eli mitä sovelluksen käyttäjä voi sillä tehdä?
      • Mitä toteutusteknologioita (esim. ohjelmointikieltä tai sovelluskehystä kuten Spring Boot, tai Django) projektin toteutuksessa tullaan käyttämään? Teknologioita ei tarvitse lukita tässä vaiheessa, ne voivat muuttua projektin edetessä.
    • Tiimin jäsenten GitHub-käyttäjätunnukset ja linkit tiimiläisten GitHub-profiileihin.
  • README.md-tiedostossa käytettävään Markdown-syntaksiin voi tutustua tarkemmin täällä.
  • Awesome README on kuratoitu lista hyvistä README.md-tiedostoista GitHub-repositorioissa, jota voi käyttää inspiraationa.
  • Luokaa projektille backlog. Backlog-alustaksi suositellaan GitHub Projects-alustaa. User storyt kannattaa toteuttaa GitHub issueina. Lisätkää linkki backlogiin GitHub-repositorion README.md-tiedostoon.
    • Tämä video esittelee GitHub Projectsin ja Issueiden käyttöä.
  • Muodostakaa user storyja (käyttäjätarinoita) ensimmäiselle sprintille ja lisätkää ne backlogille. Tehkää user storyista backlogille myös sopivissa määrin taskeja, jotka ovat teknisen toteutuksen tehtäviä, kuten “REST API blogien listaamiselle”.
    • User storyn formaation voi pitää lyhyenä, ilman perinteistä “so that”-osaa. Esimerkiksi “Lukijana haluan nähdä listan blogeista”.
    • Tämä video esittelee GitHubin sub-issueiden käyttöä, joita voi hyödyntää mm. selkeyttämään user storyjen ja taskien hierarkiaa.
  • Varmistakaa, että GitHub-repositorio ja backlog ovat julkisia, jotta opettaja voi tarkastella niitä.
  • Tehkää projektin koodille runko. Toteutusteknologioista riippuen voitte alustaa projektin esim. Spring Initializerin, tai Viten avulla.

Lisätkää Moodlen “Projektin GitHub-repositorio”-palautukseen linkki projektinne GitHub-repositorioon ennen seuraavan viikon opetuskertaa. Riittää, että yksi tiimiläisistä tekee palautuksen.