ebSkola

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.

SR 2.4.5. (Projektējums), 2.4.1. (Automatizācijas plānošana)

Stundas mērķi:

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ē).
  • 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.

  1. Atver PowerShell.
  2. 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.

  1. Izveido failu ROADMAP.md ar sadaļu ## Starprezultāti.
  2. Pieraksti trīs posmus, piemēram datu ielāde, spēles cikls, izvade.
  3. Uzraksti katram posmam vienu teikumu, kas nozīmē pabeigts.
  4. Pārbaudi, vai katru var pārbaudīt ar jā vai nē.
  5. Sakārto posmus tādā secībā, kādā tos var izpildīt.
  6. 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.

  1. Pievieno sadaļu ## Resursi ar trim apakšpunktiem.
  2. Uzskaiti tehniskos resursus: Python versija, bibliotēkas, redaktors.
  3. Uzskaiti informatīvos resursus: dokumentācija, iepriekšējo tēmu paraugi.
  4. Uzskaiti cilvēkresursus: cik stundu nedēļā tu vari veltīt.
  5. Atzīmē ar zvaigznīti tos, kuru tev pašlaik NAV.
  6. 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.

  1. Pievieno sadaļu ## Grafiks ar datumiem katram posmam.
  2. Pieraksti katram posmam, cik stundu tas prasīs.
  3. Saskaiti kopējo stundu skaitu un salīdzini ar pieejamo laiku.
  4. Pievieno sadaļu ## Riski ar trim riskiem.
  5. Uzraksti katram riskam vienu rīcības plānu.
  6. Atzīmē bīstamāko risku.
  7. 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.

  1. Pievieno sadaļu ## Definition of Done.
  2. Uzraksti piecus kritērijus ar rūtiņām - [ ].
  3. Iekļauj vismaz vienu par testēšanu un vienu par dokumentāciju.
  4. Pārbaudi, vai neviens kritērijs nav viedokļa jautājums.
  5. 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ā.
Padoms: Labs plānotājs vienmēr atstāj 20% laika rezervi neparedzētām kļūdām!