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.
- Alustava kuvaus projektista, jossa vastataan ainakin seuraaviin kysymyksiin:
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.