8.5 Sasniedzamie rezultāti un resursu plānošana
Stundas uzdevums: Izveidot reālistisku "ceļa karti" (Roadmap) sava projekta īstenošanai. Programmēšanā laiks ir visdārgākais resurss, tāpēc apgūsi, kā sadalīt lielu projektu mazos, izpildāmos soļos un precīzi definēt, kas nepieciešams katra posma pabeigšanai.
Stundas mērķi:
- Definēt izmērāmus starprezultātus (Milestones) "Krustiņi un nullītes" spēles izstrādei.
- Identificēt nepieciešamos tehniskos un informatīvos resursus (bibliotēkas, dokumentāciju).
- Izveidot laika grafiku, prioritizējot kritiskās funkcijas.
70 min plāns: Teorija un paraugs (~10 min) · 1. uzdevums (~15 min) - nospraud trīs starprezultātus · 2. uzdevums (~25 min) - veic resursu auditu · 3. uzdevums (~20 min) - uzraksti laika grafiku un riskus. Papildu uzdevumu sāc tikai tad, ja pārējie trīs ir gatavi.
Pirms sāc: izveido projekta mapē failu ROADMAP.md. Noderēs 8.2 stundas backlog - starprezultātiem jāsakrīt ar tā prioritātēm.
Teorija: Resursi un "Definition of Done"
- Resursu veidi IT projektā:
- Tehniskie: Python vide, bibliotēkas (
csv,json), VS Code paplašinājumi. - Informatīvie: Oficiālā dokumentācija, algoritmu špikeri, iepriekšējo tēmu koda paraugi.
- Cilvēkresursi: Tavs un klasesbiedru laiks (īpaši testēšanas fāzē).
- Tehniskie: Python vide, bibliotēkas (
- Starprezultāti (Milestones): Kontrolpunkti projektā, kas palīdz sekot progresam (piemēram: "CSV dzinējs ielādē datus bez kļūdām").
- Pabeigta darba definīcija (DoD): Skaidri kritēriji, kad funkcija skaitās gatava (piemēram: "Kods ir PEP 8 saderīgs, funkcijām ir docstrings un tās ir notestētas").
Vides sagatavošana (Windows)
Plānošanai izmantosim Markdown (.md) failu, kas programmētāju vidē ir standarts darbu sarakstu veidošanai.
- Atver PowerShell.
- Ieej projekta mapē un izveido plāna failu:
cd KrustiniNullites_Arhitektura
ni ROADMAP.md
code ROADMAP.md
Praktiskie uzdevumi
1. uzdevums -
Nospraud trīs starprezultātus
Beigās tavs projekts būs sadalīts pārbaudāmos posmos.
- Izveido failu
ROADMAP.mdar sadaļu## Starprezultāti. - Pieraksti trīs posmus, piemēram datu ielāde, spēles cikls, izvade.
- Uzraksti katram posmam vienu teikumu, kas nozīmē pabeigts.
- Pārbaudi, vai katru var pārbaudīt ar jā vai nē.
- Sakārto posmus tādā secībā, kādā tos var izpildīt.
- Atzīmē, kurš posms ir atkarīgs no iepriekšējā.
Gatavs, kad: katram no trim posmiem ir pārbaudāma pabeigtības definīcija, un secība ir izpildāma.
2. uzdevums -
Veic resursu auditu
Beigās tu zināsi, kā tev pietrūkst, pirms darbs apstājas.
- Pievieno sadaļu
## Resursiar trim apakšpunktiem. - Uzskaiti tehniskos resursus: Python versija, bibliotēkas, redaktors.
- Uzskaiti informatīvos resursus: dokumentācija, iepriekšējo tēmu paraugi.
- Uzskaiti cilvēkresursus: cik stundu nedēļā tu vari veltīt.
- Atzīmē ar zvaigznīti tos, kuru tev pašlaik NAV.
- Pieraksti katram trūkstošajam, kā to iegūsi.
Gatavs, kad: sarakstā ir vismaz viens atzīmēts trūkstošs resurss ar plānu, kā to dabūt.
3. uzdevums -
Uzraksti laika grafiku un riskus
Beigās tu zināsi, kas var noiet greizi un ko tad darīsi.
- Pievieno sadaļu
## Grafiksar datumiem katram posmam. - Pieraksti katram posmam, cik stundu tas prasīs.
- Saskaiti kopējo stundu skaitu un salīdzini ar pieejamo laiku.
- Pievieno sadaļu
## Riskiar trim riskiem. - Uzraksti katram riskam vienu rīcības plānu.
- Atzīmē bīstamāko risku.
- Pieraksti vienu secinājumu: vai plāns iekļaujas pieejamajā laikā.
Gatavs, kad: kopējais stundu skaits nepārsniedz tavu pieejamo laiku, un katram riskam ir plāns B.
Papildu uzdevums - Uzraksti Definition of Done
Ja pamatdarbs ir gatavs, definē, ko nozīmē 'gatavs' visam projektam.
- Pievieno sadaļu
## Definition of Done. - Uzraksti piecus kritērijus ar rūtiņām
- [ ]. - Iekļauj vismaz vienu par testēšanu un vienu par dokumentāciju.
- Pārbaudi, vai neviens kritērijs nav viedokļa jautājums.
- Salīdzini tos ar 8.2 stundas akceptēšanas kritērijiem.
Gatavs, kad: visi pieci kritēriji ir pārbaudāmi ar jā vai nē un nepārklājas savā starpā.
Koda piemērs
# Projekta Izstrādes Ceļa Karte
## Starprezultāti
1. CSV Dzinējs (4h) - Gatavs, kad dati nolasīti vārdnīcā.
2. Spēles Loģika (6h) - Gatavs, kad spēlētājs var pārvietoties starp ID.
## Riski un risinājumi
- Nepareiza lietotāja ievade -> Tiks izmantota .upper().strip() metode.
- ID nesakritības -> Tiks ieviesta pārbaude, vai mērķa ID eksistē vārdnīcā.