Sprint 1

Koodin laajamittainen tuottaminen generatiivisen tekoälyn työkaluilla (esim. ChatGPT tai Copilot) on kiellettyä, ellei sen tekemistä erikseen ohjeisteta. Sprint review -tapaamisissa opettaja voi pyytää tiimiläisiä perustelemaan teknisiä ratkaisuja ja perustelujen laatu vaikuttaa arviointiin.

Sprintin tavoitteet projektille:

  • Sprintille on määritelty ja valittu user storyt, jotka löytyvät backlogista. User storyista on myös jossain määrin lisätty backlogille taskeja, jotka kuvaavat teknistä toteutusta, kuten “REST API endpoint viestien listaamiselle”. Työn alla olevista backlogin user storyista ja taskeista tulee käydä ilmi, kenen vastuulla ne ovat.
  • Backlog on pidetty ajan tasalla koko sprintin ajan ja sitä on hyödynnetty sprintin edistymisen seuraamiseen.
  • Ainakin osa toiminnallisuudesta on kehitetty pääharasta erillään olevissa feature-haaroissa (enintään yhden user storyn laajuus haaraa kohden), jotka on mergattu päähaaraan toiminnallisuuden valmistuttua.
  • Sprintille on tehty GitHub release.
  • Sprintin katselmointia varten on valmisteltu lyhyt demo sprintin aikana toteutetuista toiminnallisuuksista.
  • Fullstack-projektissa (frontend kutsuu backendin REST API -rajapintoja) kannattaa hyödyntää token-pohjaista autentikaatiota. Esimerkkisovelluksesta löytyy esimerkki frontend- ja backend-toteutuksesta.

Viikko 1

  • Valitkaa sprintille scrum master. Scrum master mm. valvoo, että projektin backlog pidetään ajan tasalla ja fasilitoi tiimin tapaamisia.
  • Viimeistelkää backlog sprintin aloitusta varten user storyjen ja taskien osalta.
  • Päättäkää sprintin alustavasta työnjaosta ja alkakaa toteuttamaan user storyja. Merkitkää backlogille työn alla olevien user storyjen ja taskien tekijä(t). Pitäkää backlog ajan tasalla koko sprintin ajan ja hyödyntäkää sitä sprintin edistymisen seuraamisessa.
  • Kerratkaa tarvittaessa versionhallinnan ja Gitin käyttöä esimerkiksi tämän materiaalin avulla.
  • Alkakaa toteuttamaan backlogin user storyja.

Viikko 2

  • Pitäkää ensimmäinen daily scrum -palaveri, jossa seuraatte sprintin edistymistä. Hyödyntäkää tapaamisessa backlogia. Aloittakaa jatkossa jokainen tiimin tapaaminen daily scrum -palaverilla.
  • Lukekaa Git branching ja Git feature branch workflow -ohjeet.
  • Toteuttakaa ainakin joitain toiminnallisuuksia erillisissä feature-haaroissa. Yhdistäkää feature-haarat päähaaraan pull requestin avulla. Jos haarassa on konflikteja päähaaran kanssa, ne voi ratkaista tämän ohjeen mukaisesti. Pitäkää feature-haarojen muutokset pieninä (enintään yhden user storyn toteutus) ja yhdistäkää ne päähaaraan, kun toteutus on valmis. Näin vältetään nk. “Merge hell”.
  • Voitte halutessanne tehdä pull requesteissa jo koodikatselmointeja.
gitGraph
   commit
   commit
   branch user-registration
   checkout user-registration
   commit
   commit
   checkout main
   commit
   branch message-list-search
   checkout message-list-search
   commit
   commit
   checkout main
   merge message-list-search
   commit
   merge user-registration
   commit

Pull request

Viikko 3

  • Valmistelkaa lyhyt demo sprintin tuotoksista seuraavan opetuskerran sprintin katselmointia varten. Katselmointi pidetään opettajille ja kurssin muille tiimeille. Esitelkää tiiminne jäsenet, kertokaa lyhyesti projektistanne (mm. projektin tarkoitus, tärkeimmät toiminnallisuudet, toteutuksessa hyödynnettävät teknologiat) ja esitelkää sprintin aikana toteutetut toiminnallisuudet.
  • Tehkää sprintin päätteeksi sprintille GitHub release. Releasen voi nimetä sprintin numeron perusteella, esim. “Sprint 1”. Tehkää releasen yhteydessä commit-historiaan uusi tagi, esim. “sprint1”. Lisätkää releasen kuvaukseen lyhyt kuvaus sprintin aikana toteutetuista toiminnallisuuksista.
gitGraph
   checkout main
   commit
   commit
   commit
   commit tag: "sprint1"
   commit
   commit
   commit
   commit tag: "sprint2"