Tämä ohje toteuttaa Scrum-oppaan toimintamallin GitHub Projectsissa: Product Backlogiin kirjoitetaan User Storyt, Sprint Planningissa valitaan Sprintin tavoite ja Storyt, ja kehittäjät pilkkovat valitut Storyt taskeiksi. Sprintin aikana taskien etenemistä seurataan tehtävätaululla. Esimerkkinä käytetään oppaan oppilasrekisteriä.
Suositeltu rakenne: yksi GitHub Project koko tuotteelle, yksi issue jokaista User Storya varten, Sprint-niminen Iteration-kenttä Sprinttien ajoittamiseen ja Storyjen alle luotavat sub-issuet taskeille. Backlog, Sprintin Storyt ja Task Board ovat saman projektin eri näkymiä.
Ohje käyttää nykyistä GitHub Projectsia ja käyttöliittymän englanninkielisiä nimiä. Kenttien nimet ja suodattimet kannattaa kirjoittaa täsmälleen tässä esitetyssä muodossa. Valikkojen sijainti voi muuttua GitHubin päivityksissä.
Etene järjestyksessä: valmistele ensin Scrum-alusta kohtien 2–7 mukaan. User Storyjen ja taskien luominen alkaa vasta kohdasta 8. Jos projekti on jo käytössä, täydennä puuttuvat asetukset ja käytä olemassa olevia kenttiä ja näkymiä.
| Scrumissa | Tässä GitHub-toteutuksessa |
|---|---|
| Product Goal | Projektin README-kuvaukseen kirjattu tuotteen yhteinen tavoite. |
| Product Backlog | Projektin avoimet User Story -issuet tärkeysjärjestyksessä. Sprinttiin valitut Storyt kuuluvat edelleen tuotteen Backlogiin. |
| User Story | Repositoryn issue, jolla on label user-story, kuvaus käyttäjän tarpeesta ja hyväksymiskriteerit. |
| Sprint | Sprint-nimisen Iteration-kentän aikajakso, esimerkiksi Sprint 1. |
| Sprint Goal | Erillinen Sprintin suunnittelumuistio repositoryssa, linkitettynä projektin READMEhen. |
| Sprint Backlog | Sprint Goal, kyseiseen Sprintiin valitut Storyt ja niiden taskien muodostama toteutussuunnitelma. |
| Taski | Storyn sub-issue, jolla on label task, oma vastuuhenkilö ja työn tila. |
| Task Board | Board-näkymä, jossa Sprintin taskit ovat Status-sarakkeissa. Parent issue kertoo, mihin Storyyn taski kuuluu. |
| Definition of Done | Tuotteen yhteiset valmistumisen ehdot repositoryn dokumentissa, johon projektin README viittaa. |
| Increment | Toimiva, integroitu ja Definition of Donen täyttävä tuote. Done-kortit kuvaavat työtä, mutta toimivuus osoitetaan itse tuotteella. |
User Storyn ja taskin välinen suhde rakennetaan sub-issueilla.
Sprinttiin kuuluminen ilmoitetaan erikseen kummankin Sprint-kentässä.
Näin Sprintissä voi olla useita Storyja, joista jokaisella on omat taskinsa.
GitHub Projects on muokattava työkalu, joten seuraavat kentät ja käytännöt ovat tämän oppaan valintoja. Scrum ei edellytä tiettyä työkalua, User Story -muotoa tai Story Pointien käyttöä.
oppilasrekisteri. Varmista, että sen Issues-osio on käytössä.Oppilasrekisteri – Scrum ja valitse Create project.user-story ja task.docs/definition-of-done.md ja kirjaa siihen yhteiset valmistumisen ehdot.docs/sprints/sprint-1.md.
Lisää otsikot päivämäärille, Sprint Goalille, valituille Storyille, Reviewlle ja Retrospectivelle.
Tavoite ja Story-linkit täydennetään vasta Sprint Planningissa.Kirjoita GitHub Projects -projektin asetusten README-tekstikenttään esimerkiksi seuraavat tiedot:
## Product Goal
Oppilaitoksella on ajantasainen ja luotettava oppilasrekisteri,
jossa opiskelijat voivat hoitaa keskeiset opiskeluun liittyvät asiat
ja henkilökunta ylläpitää opiskelija- ja suoritustietoja.
## Scrum-tiimi ja työskentelytavat
- Product Owner: [nimi]
- Scrum Master: [nimi]
- Kehittäjät: [nimet]
- Sprintin pituus: 2 viikkoa
- Definition of Done: [Definition of Done](https://github.com/OMISTAJA/REPOSITORY/blob/main/docs/definition-of-done.md)
- Sprint 1:n tavoite ja muistiot: [Sprint 1:n tavoite](https://github.com/OMISTAJA/REPOSITORY/blob/main/docs/sprints/sprint-1.md)
Korvaa linkeissä OMISTAJA ja REPOSITORY omilla tiedoillasi ja tarvittaessa
main repositoryn oletushaaralla. Tämä README on GitHub Projects -projektin kuvaus,
ei repositoryn README.md-tiedosto. Käytä tässä kokonaisia GitHub-osoitteita,
jotta linkit osoittavat halutun repositoryn dokumentteihin.
Jos kirjoitat saman sisällön repositoryn juuressa olevaan README.md-tiedostoon,
voit käyttää suhteellisia linkkejä [Definition of Done](docs/definition-of-done.md) ja
[Sprint 1:n tavoite](docs/sprints/sprint-1.md). Tällöin linkit seuraavat tarkasteltavaa haaraa
ja toimivat myös repositoryn paikallisessa kopiossa Markdownia tukevassa katseluohjelmassa.
Tiimi voi kirjata Definition of Doneen esimerkiksi koodikatselmoinnin, läpäisevät testit, käyttöoikeuksien tarkistuksen, toimivan kokonaisuuden ja tarvittavan dokumentaation päivityksen. Storykohtaiset hyväksymiskriteerit kirjoitetaan lisäksi kunkin Storyn kuvaukseen.
Anna tiimille projektin muokkausoikeudet sekä tarvittavat oikeudet repositoryyn. Projektin käyttöoikeus ja repositoryn käyttöoikeus ovat erillisiä: tarkista molemmat. Sub-issueiden liittämiseen tarvitaan repositoryssa vähintään Triage-oikeus; tavalliseen koodin kehittämiseen tiimillä on yleensä Write-oikeus.
Luo seuraavat kolme projektikenttää ennen näkymien valmistelua. Jos kenttä on jo luotu, käytä sitä.
Sprint ja valitse tyypiksi Iteration.
Aseta ensimmäisen Sprintin aloituspäivä ja kestoksi esimerkiksi 2 weeks, ja tallenna.Backlog order, tyyppi Number, ja tallenna.Story points, tyyppi Number, ja tallenna.Create project field luo tämän projektin kentän. Manage Issue Fields koskee organisaation yhteisiä issue-kenttiä. Käytä kenttänimiä täsmälleen yllä olevassa muodossa. New view luo näkymän ja Boardin New column sarakkeen. Olemassa olevia kenttiä muokataan projektin oikean yläkulman … → Settings -sivulla.
| Kenttä | Tyyppi | Käyttötapa tässä oppaassa |
|---|---|---|
Status | Olemassa oleva Single select | Työn tila. Muokkaa arvot alla olevan taulukon mukaisiksi. |
Sprint | Iteration | Storyn ja taskin Sprint. Kenttä luodaan yllä; aikajaksot nimetään seuraavassa kohdassa. |
Backlog order | Number | Storyjen tarkka järjestys: 10, 20, 30… Pienin ensin. Väliin voi lisätä esimerkiksi luvun 15. |
Story points | Number | Storyn suhteellinen koko, esimerkiksi 3, 5 tai 8. Jätä taskien kenttä tyhjäksi. |
Assignees | GitHubin valmis kenttä | Taskin tekijä tai tekijät. Kehittäjät sopivat työnjaosta. |
Labels | GitHubin valmis kenttä | Label user-story ilmaisee, että issue on User Story. Label task ilmaisee, että issue on taski. |
Parent issue | GitHubin valmis kenttä | Näyttää taskin Storyn. Ota näkyviin + → Hidden fields → Parent issue. |
Sub-issue progress | GitHubin valmis kenttä | Näyttää suljettujen sub-issueiden edistymisen. Ota näkyviin Hidden fields -listasta. |
Lähde: Iteration-kentän luominen ja aikajaksojen muokkaaminen.
Avaa projektin oikean yläkulman … → Settings ja valitse kenttäluettelosta Status.
Nimeä tarvittaessa valmiit vaihtoehdot uudelleen ja lisää puuttuvat.
Pidä nimet samoina kaikissa näkymissä. Halutessasi aseta Todo oletusarvoksi uusille kohteille.
| Arvo | Sovittu merkitys |
|---|---|
Todo | Työtä ei ole aloitettu. Käytetään myös uusille Backlogin Storyille. |
In progress | Työtä tehdään. Story on tässä tilassa, kun sen toteutus on alkanut. |
Ready for test | Toteutus odottaa katselmointia tai testausta. |
Needs info | Työ odottaa lisätietoa tai esteen poistumista. Kirjaa este issueen. |
Done | Työ on tarkastettu ja täyttää valmistumisen ehdot. |
Tässä ohjeessa Storyt ja taskit erotellaan repositoryn labeleilla. Tämä toimintatapa ei edellytä organisaatiokohtaisten Issue type -asetusten määrittämistä.
Käytä edellisessä kohdassa luotua Sprint-kenttää. Tässä nimetään ja ajoitetaan Sprintit.
Sprintin tavoite ja siihen valittavat Storyt päätetään myöhemmin Sprint Planningissa.
Sprint 1, Sprint 2 ja Sprint 3. Lisää tarvittaessa sprinttejä Add iteration -painikkeella.Sprint-arvon asettaminen issueen ei luo automaattisesti Sprintille omaa Boardia. Valmistele tarvittavat näkymät seuraavassa kohdassa.
Lähde: Iteration-kentän aikajaksot.
Näkymät voidaan valmistella tyhjään projektiin. Ne täyttyvät myöhemmin, kun Storyt ja taskit luodaan.
Luo projektin yläreunan New view -painikkeella seuraavat näkymät ja nimeä niiden välilehdet. Aseta näkymän ulkoasu View-valikosta ja kirjoita suodatin hakukenttään. Kun muutat suodatinta tai asetuksia, tallenna näkymän muutokset View → Save changes -toiminnolla.
| Näkymä | Ulkoasu | Suodatin | Tarkoitus |
|---|---|---|---|
| Product Backlog | Table | is:issue is:open label:user-story | Kaikki avoimet Storyt, myös Sprinttiin valitut. |
| Odottavat Storyt | Table | is:issue is:open label:user-story no:sprint | Storyt, joita ei ole valittu Sprinttiin. |
| Sprintin Storyt | Table | is:issue label:user-story sprint:@current | Nykyisen Sprintin Storyt ja taskien edistyminen. |
| Sprintin Task Board | Board | is:issue label:task sprint:@current | Nykyisen Sprintin kaikki taskit, myös valmistuneet. |
| Kaikki kohteet | Table | Tyhjä suodatin | Ylläpitonäkymä puuttuvien kenttien etsimiseen. |
Sprint-sarakkeesta näkee myöhemmin, mitkä Storyt on valittu Sprinttiin. Jos itse luotu kenttä puuttuu Fields-listasta, tarkista saman projektin asetuksista, että kenttä on olemassa, sekä Table-näkymän + → Hidden fields -lista.
Avaa Sprintin Storyt → View → Fields ja näytä Title, Status, Sprint, Story points ja Sub-issue progress.
Tallenna View → Save changes.
Esimerkiksi 4/6 suljettua taskia kertoo taskien tilanteesta.
Se ei vielä osoita Storyn hyväksymiskriteerien tai Definition of Donen täyttymistä.
Jos haluat pisteet näkyviin tiloittain, luo New view -toiminnolla Table-näkymä
Sprintin pisteet. Aseta suodattimeksi is:issue label:user-story sprint:@current.
is:open-suodatinta,
jotta valmistuneet, suljetut Storyt pysyvät mukana.Done-ryhmän summa kertoo kokonaan valmistuneiden Storyjen pisteet. Muiden ryhmien summat kuvaavat pisteytettyä, vielä keskeneräistä työtä. Seurannan tulkinta selitetään kohdassa Story Pointien seuranta.
Lähde: Numerokentän summan näyttäminen.
Taulu näyttää taskit kortteina Status-sarakkeissa. Kortin Parent issue -kenttä kertoo, mihin Storyyn taski kuuluu. Se on tyhjä, kunnes taskit on luotu, lisätty projektiin ja merkitty nykyiseen Sprinttiin.
Jos Parent issue ei löydy valikosta, ota kenttä ensin näkyviin Table-näkymän Hidden fields -listasta. Taski, jolla ei ole parentia, pitää liittää oikeaan Storyyn.
Voit rajata saman Boardin yhden Storyn taskeihin lisäämällä hakukenttään nykyisen suodattimen perään
parent-issue:"OMISTAJA/REPOSITORY#NUMERO".
Korvaa OMISTAJA, REPOSITORY ja NUMERO Storyn repositoryn omistajalla, nimellä ja issue-numerolla.
Esimerkiksi parent-issue:"oma-tiimi/oppilasrekisteri#12" näyttää Storyn #12 taskit.
Poista tämä ehto, kun haluat taas kaikki Sprintin taskit näkyviin.
Jos Boardin View-valikossa on Slice by ja sen vaihtoehdoissa Parent issue, voit käyttää myös sitä Storyn valitsemiseen sivupaneelista.
Valinnainen ryhmittely: GitHubin dokumentaatio kuvaa myös Boardin View → Group by -toiminnon. Jos se ja Parent issue ovat käyttöliittymässäsi tarjolla, voit muodostaa Storyjen mukaan vaakasuuntaiset ryhmät. Jos Group by ei näy, käytä yllä kuvattua Boardia ja tarvittaessa parent-issue-suodatinta.
Lähteet: Boardin asetukset, Parent issue -suodatin.
Tallenna Sprintin Storyt- ja Task Board -näkymien oletussuodattimeksi yllä oleva sprint:@current.
Se valitsee nykyisen aikajakson Sprint-kenttään määriteltyjen päivämäärien perusteella.
Kun seuraava Sprint alkaa, samat näkymät näyttävät sen työt. Jokaiselle Sprintille ei tarvitse luoda omaa näkymää.
Jos ensimmäinen Sprint ei ole vielä alkanut tai haluat tarkastella tiettyä aiempaa tai tulevaa Sprinttiä,
vaihda hakukentässä tilapäisesti sprint:@current esimerkiksi muotoon sprint:"Sprint 1".
Muu suodatin säilyy samana: Story-näkymässä is:issue label:user-story ja Task Boardilla is:issue label:task.
Voit käyttää myös sprint:@next tai sprint:@previous.
Älä tallenna tilapäistä Sprint-valintaa Save changes -toiminnolla, jos haluat säilyttää @current-oletuksen.
Palauta tarkastelun jälkeen hakukenttään sprint:@current.
Jos tämän päivän kohdalle ei ole määritelty Sprint-aikajaksoa, nykyisen Sprintin näkymä voi olla tyhjä.
Näkymä ei siirrä tai kopioi issueita. Se näyttää suodattimen mukaisen osan saman projektin kohteista.
Task Boardin label:task-suodatus pitää Story-kortit poissa taskien joukosta.
Älä lisää is:open-suodatinta Sprintin näkymiin, jos haluat nähdä myös suljetut Done-taskit ja Storyt.
Avaa projektin … → Workflows. GitHubin oletusautomaatio voi asettaa suljetun issuen
Status-arvoksi Done. Tarkista, että se käyttää tässä oppaassa määriteltyä Done-arvoa.
Voit käyttää myös uusien kohteiden Todo-tilan asettamista. Muokkaa valittua työnkulkua Edit-toiminnolla
ja tallenna Save and turn on workflow.
Pelkkä kortin siirtäminen Doneen ei välttämättä sulje issuea: siihen tarvitaan erillinen automaatio tai issuen sulkeminen käsin. Tässä ohjeessa taski suljetaan, kun se on valmis, ja sulkeminen päivittää tilan Doneksi. Näin myös Storyn Sub-issue progress päivittyy suljettujen taskien perusteella.
Automaatiot eivät tarkista hyväksymiskriteerejä tai Definition of Donea. Älä määritä kaikkia Storyja automaattisesti seuraavaan Sprinttiin.
user-story ja task on luotu.Sprint, Backlog order ja Story points on luotu kerran.Tyhjät näkymät ovat tässä vaiheessa normaaleja. Seuraavaksi aloitetaan Product Backlogin täyttäminen User Storyilla.
Opiskelijan tietojen ylläpito.user-story ja lisää issue Projects-kohdassa projektiin Oppilasrekisteri – Scrum.
Luo issue Create- tai Submit new issue -painikkeella.Status = Todo ja Backlog order = 10.
Kehittäjät arvioivat Storyn koon, esimerkiksi Story points = 5. Jätä Sprint tyhjäksi.## User Story
Ylläpitäjänä haluan lisätä ja päivittää opiskelijan tietoja,
jotta voin pitää oppilasrekisterin ajan tasalla.
## Hyväksymiskriteerit
- [ ] Ylläpitäjä voi lisätä opiskelijan sovituilla pakollisilla tiedoilla.
- [ ] Ylläpitäjä voi muokata olemassa olevan opiskelijan tietoja.
- [ ] Virheellisiä tietoja ei tallenneta, ja käyttäjä saa selkeän virheilmoituksen.
- [ ] Muu kuin ylläpitäjä ei voi lisätä tai muuttaa opiskelijatietoja.
- [ ] Tallennetut muutokset näkyvät opiskelijan tiedoissa.
## Tarkennukset
Tallennettavat tiedot ja tarkistussäännöt: [linkki tai kuvaus]
Käyttöliittymäluonnos: [linkki]
## Valmistuminen
Hyväksymiskriteerit ja tuotteen yhteinen Definition of Done täyttyvät.
Luo lisäksi Storyt Kurssille ilmoittautuminen, Arvosanan tallentaminen, Omien suoritusten tarkastelu ja Opiskelutodistuksen muodostaminen. Kirjoita kuhunkin oma rooli, toiminto, hyöty ja testattavat hyväksymiskriteerit.
Backlogin tarkennus: lisää tarvittavat yksityiskohdat ja arviot ennen Storyn valintaa Sprinttiin. Jos Story on liian suuri yhteen Sprinttiin, jaa se pienemmiksi käyttäjälle arvoa tuottaviksi Storyiksi. Story Pointit ovat suhteellisia arvioita, eivät tunteja.
Jos issue on jo olemassa, lisää se projektin alareunan Add item -toiminnolla etsimällä repository ja issue tai liittämällä issuen URL. Pelkkä uusi otsikko projektin rivillä voi luoda draft issuen. Käytä Storylle varsinaista repositoryn issuea; muunna mahdollinen luonnos Convert to issue -toiminnolla.
docs/sprints/sprint-1.md-muistioon.
Lisää päivämäärät, linkit valittuihin Storyihin ja linkki Definition of Doneen. Linkitä muistio projektin READMEhen.Sprint = Sprint 1 Product Backlog -näkymän Sprint-sarakkeessa.
Muut kolme Storya jäävät ilman Sprint-arvoa odottamaan myöhempää suunnittelua.Yksi Project riittää kaikille Sprinteille. Uutta projektia ei tarvitse perustaa joka Sprintille. Tässä mallissa Sprintit toteutetaan Iteration-kentällä; samoja Sprinttejä ei tarvitse ylläpitää lisäksi Milestoneina.
Avaa aiemmin valmisteltu Sprintin Storyt -näkymä.
Jos Sprint 1 ei ole vielä alkanut, vaihda sprint:@current tilapäisesti muotoon sprint:"Sprint 1".
Voit avata saman issuen myös Product Backlogista.
Toteuta opiskelijatietojen tallennus ja päivitys.task,
sama Project ja sovittu Assignee. Valitse Create.Sprint = Sprint 1 ja Status = Todo.
Jätä Story points ja Backlog order tyhjiksi.Tarkista jokaisesta taskista kolme asiaa: se on oikean Storyn sub-issue, se on lisätty samaan Projectiin ja sillä on sama Sprint-arvo kuin Storylla. Parent-suhde, projektijäsenyys ja Sprint-arvo ovat erillisiä tietoja; tarkista ne myös Storyn Sprintiä vaihdettaessa.
Avaa valmisteltu Sprintin Task Board -välilehti nähdäksesi luomasi taskit.
Jokaiselle taskille asetetaan Sprint erikseen: Storyn Sprint-arvo ei periydy sub-issueille.
Jos taulu on tyhjä, tarkista taskin Project, label task ja Sprint = Sprint 1.
Jos Sprint 1 ei ole vielä nykyinen Sprint, käytä myös Task Boardilla tilapäistä suodatinta sprint:"Sprint 1".
## Tehtävä
Toteuta opiskelijatietojen tallennus ja päivittäminen palvelimella.
## Valmistumisen ehdot
- [ ] Pakolliset tiedot ja tietojen muoto tarkistetaan palvelimella.
- [ ] Uusi opiskelija voidaan tallentaa ja olemassa oleva päivittää.
- [ ] Virheellinen syöte ei muuta tietokannan tietoja.
- [ ] Tallennusta ja päivitystä koskevat testit menevät läpi.
- [ ] Muutokset on katselmoitu ja yhdistetty yhteiseen koodiin.
## Riippuvuudet ja tarkennukset
Tarvitsee opiskelijatietojen tietokantataulun: [linkki taskiin]
Markdownin - [ ] -tarkistuslista sopii taskin sisäisiin ehtoihin.
Task Boardilla seurattava taski tehdään kuitenkin omaksi sub-issueksi, jotta sillä on oma tila ja tekijä.
Älä anna taskille lisäksi user-story-labelia.
Lähde: Sub-issueiden luominen ja olemassa olevien issueiden liittäminen.
Refs #42.
Siirrä taski Ready for test -tilaan, kun se on valmis sovittuun katselmointiin ja testaukseen.Pull requestin automaattinen sulkeminen: esimerkiksi Closes #42 voi sulkea taskin,
kun PR yhdistetään repositoryn oletushaaraan. Käytä sitä vain, jos yhdistäminen tarkoittaa tiimin käytännössä
taskin valmistumista. Jos testaus jatkuu yhdistämisen jälkeen, käytä Refs #42 ja sulje taski myöhemmin.
Taskin PR:ssä ei pidä sulkea parent-Storya, ellei koko Story samalla täytä kaikkia valmistumisen ehtoja.
Taskin sulkeminen päivittää Status-arvon Doneksi aiemmin valmistellulla automaatiolla. Varmista tarvittaessa tila myös käsin.
Storyn voi sulkea valmiina ja siirtää Doneen vasta, kun kaikki tarvittavat taskit ovat valmiit, Storyn hyväksymiskriteerit on todennettu ja kokonaisuus täyttää yhteisen Definition of Donen. Esimerkiksi valmis tietokantataulu ilman toimivaa ja testattua käyttöliittymää ei tee opiskelijatietojen Storya valmiiksi.
Pelkkä taskien 100 % -edistyminen ei riitä.
Kehittäjät tarkistavat toimivan kokonaisuuden; Storyn sulkemista ei jätetä taskilaskurin varaan.
Valmistuneen Storyn ja sen taskien Sprint-arvot jätetään paikoilleen, jotta toteutuneen Sprintin työt voidaan löytää myöhemmin.
Esittele toimiva Increment Product Ownerille ja sidosryhmille. Tarkastelkaa tulosta suhteessa Sprint Goaliin ja Product Goaliin. Kirjaa palaute Sprintin muistioon ja lisää uudet tarpeet Product Backlogiin. Review ei ole valmistumisen hyväksymisportti: Definition of Donen täyttävä työ voi valmistua ja olla toimitettavissa jo Sprintin aikana.
Sprint-kenttä,
jotta se näkyy jälleen Odottavat Storyt -näkymässä.Esimerkki: kurssille ilmoittautumisen Story jää kesken Sprint 1:ssä.
Tietokantataski valmistui, mutta kaksoisilmoittautumisen esto ja testit puuttuvat.
Story palaa odottavaan Backlogiin. Jos se valitaan Sprint 2:een, nämä keskeneräiset taskit saavat
Sprint 2 -arvon; valmis tietokantataski säilyttää Sprint 1 -arvon.
GitHubissa tässä mallissa Sprintin päättyminen tarkoittaa aikajakson päättymistä ja tiimin tekemää tarkastelua. Projektia ei suljeta eikä Iterationia poisteta Sprintin lopuksi.
Kirjaa Sprintin muistioon, mikä työskentelyssä toimi ja mitä parannetaan. Sopikaa konkreettisesta parannuksesta ja ottakaa se tarvittaessa seuraavan Sprintin toteutussuunnitelmaan. Seuraava Sprint alkaa uudella Sprint Goalilla ja kehittäjien tekemällä Storyjen valinnalla.
Story Pointeilla voidaan seurata pisteytetyn työn valmistumista. Esimerkiksi Sprinttiin valitaan 5, 3 ja 8 pisteen Storyt, yhteensä 16 pistettä. Kun 5 ja 3 pisteen Storyt ovat kokonaan valmiit, valmistunut työ on 8/16 eli 50 % Sprinttiin valituista pisteistä. Keskeneräisen 8 pisteen Storyn pisteitä ei vielä lasketa valmistuneiksi, vaikka osa sen taskeista olisi tehty.
Valmistelussa luodun Sprintin pisteet -näkymän Done-ryhmä näyttää valmistuneet pisteet. Prosentti lasketaan valmistuneiden pisteiden ja seurattavan kokonaispistemäärän suhteena; Field sum näyttää summat, eikä laske tätä prosenttia automaattisesti. Kirjaa Sprintin alussa valittu pistemäärä muistioon, jotta alkuperäinen suunnitelma säilyy myös työn sisällön muuttuessa.
Laske Sprintin valmistuneiksi pisteiksi vain kokonaan valmistuneiden Storyjen pisteet. Jos viiden pisteen Story jää kesken, Sprint 1:een ei kirjata siitä osapisteitä. Älä summaa taskien pisteitä Storyn pisteiden lisäksi. Historiasta voidaan arvioida kapasiteettia, mutta pisteet eivät mittaa yksittäisen kehittäjän suoritusta tai tuotettua arvoa.
Säilytä Sprintin muistiossa valitut ja valmistuneet Storyt sekä toteutuneet pisteet. Pelkkä nykyisten kenttien suodatus ei säilytä alkuperäistä Sprint-suunnitelmaa, jos keskeneräisten Storyjen Sprint-arvoa muutetaan.
Halutessasi voit tehdä projektin Insights-osiossa kaavion.
Aseta nykytilan kaavion suodattimeksi is:issue label:user-story sprint:@current,
X-axis = Status ja Y-axis = Sum, numerokentäksi Story points.
Näin kaavio näyttää pisteet työn tiloittain. Arkistoidut tai poistetut kohteet eivät kuulu Insights-seurantaan.
Avaa GitHub Projectin oikean yläkulman Insights ja valitse Burn up. Kaavio kuvaa projektiin lisättyjen kohteiden etenemistä ajan kuluessa. Sen tietolähteenä ovat projektin issuet ja pull requestit sekä niiden avoin/suljettu tila, eivät committien määrät.
is:issue label:user-story.
Näin taskit ja pull requestit eivät tule mukaan samoihin lukuihin.Completed tarkoittaa tässä valmiina suljettuja issueita. Pelkkä projektin Status-arvon muuttaminen Doneksi ei siis riitä, jos Storyn issue jää avoimeksi. Sulje Story valmiina, kun sen hyväksymiskriteerit ja Definition of Done täyttyvät.
Koko tuotteen seurantaan käytä yllä olevaa suodatinta ilman Sprint-rajausta.
Tietyn Sprintin tarkastelua varten voit lisätä esimerkiksi sprint:"Sprint 1".
Lähteet: Insights-kaavion asetukset, Insights-seurannan sisältö.