Kihagyás

Projektterv

Egy szoftverfejlesztő vállalatot leginkább a különféle projektek sikeres lebonyolítása határoz meg. A hatékony projektmenedzsment alapvető feltétele pedig az átgondolt projekttervezés. Egy nem kellő alapossággal megtervezett projekt (esetünkben webalkalmazás) a szükségesnél jóval több idő- és energiaráfordítást igényel, szélsőséges esetben pedig a projekt előbb-utóbb kudarcba fulladhat.

A tervezési folyamat során arra törekszünk, hogy olyan tervet készítsünk, amely a projektcélokat a rendelkezésre álló időn és költségkereten belül, a megfelelő minőség mellett teljesíti.

Általánosságban mit is tartalmaz egy jól összeállított projektterv?

  • a projekt célját
  • feladatokat a cél eléréséhez
  • a (rész)feladatok felelőseit
  • illetve egy ütemtervet, ami megmondja, hogy mikorra várható a feladatok elvégzése

Projektterv legfontosabb lépései

  • Részfeladatok meghatározása, részfeladatokhoz felelősök kijelölése

    • Először gyűjtsük össze a funkcionális és a nem funkcionális követelményeket a specifikáció alapján (érdemes vázlatpontokba szedni)

    • Rangsoroljuk a funkciókat függőség szerint: melyiknek kell korábban készen lenni, mint a többinek, melyikkel kell kezdeni, melyik csinálható meg bármikor?

    • Bontsuk le az egyes funkciókat egyszerűbb részfeladatokra, pl. vásárlás (online áruház esetén) a részfeladatok: kosár megvalósítása, adatbekérő űrlap, fizetés, megerősítő email küldése

    • Határozzuk meg, kb. mennyi idő megvalósítani az egyes feladatokat (lehetőleg becsüljük túl a feladathoz szükséges időt)

    • Osszuk szét a részfeladatokat a 3-4. mérföldkövek között (az első, és a második prototípus között) úgy, hogy egyre kevesebb feladat maradjon. Ennél a felosztásnál vegyük figyelembe, hogy az olyan feladatok, melyek előfeltételei más feladatoknak előre kerüljenek. Érdemes csökkenő arányt betartani a feladat mennyiségnél, mert menetközben jönnek majd új funkciók, hibajavítások, valamint így belefér egy kis csúszás is

    • Végül rendeljünk felelősöket az egyes feladatokhoz. Lehetőleg olyan kis egységekre bontsátok fel, hogy az egy-egy embernek kiadható legyen

    Felelősök változtatása egy mérföldkő megkezdését követően

    Ahogyan a projektterv 6.4-es fejezete részletezi, a projektterven változásokat csak a megrendelő írásos engedélyével lehet tenni.

    További tanácsok és magyarázatok a kitöltéshez

    Gyakran Ismételt Kérdések

  • Részfeladatok közötti függőségek meghatározása

  • Részfeladatok megoldáshoz szükséges időtartam maghatározása

    • Költségvetés: csapattagok száma * rendelkezésre álló pont fejenként (70 pont)

    • Erőforrások: személynap (egy személy egy napi munkája). Megbecsüljük, hogy az adott részfeladat megoldásához mennyi személynapra van szükség. A fogalom kiterjeszthető személyhétre, személyhónapra, stb.

    Példa

    Mindenki arra kapjon pontot, amit csinál; ha valaki a 2. mérföldkőben dolgozik 5 személynapot és a teljes projektben összesen 18 személynapot dolgozik, akkor a 2. mérföldkőben 27%-nyi pontot kell kapnia (azaz 19 pontot). A feladatokat arányosan, nehézség és mennyiség figyelembevételével kell lepontozni.

  • Gantt diagram elkészítése

    • Egyik legnépszerűbb módszer, hogy vizualizáljuk az ütemtervet

    • Vonalas megjelenítés, melynek tengelyein az időt és tevékenységeket találjuk

    • Nyomonkövethető rajta a teljes idővonal, mérföldkövek, feladatok, felelősök, feladatok időtartama, sorrend és a függőségek

    Gantt diagram készítése

    Egyszerű Excel sablon: https://git-okt.sed.inf.szte.hu/markusa/rf1-pelda/-/blob/master/MINTA-gantt-diagram.xlsx
    A feladatok közötti függőségeket is kezelni képes asztali alkalmazás: https://www.ganttproject.biz/

    Figyeljünk a Gantt diagram olvashatóságára

    Figyelünk arra, hogy az elkészült Gantt diagramot megfelelően exportáljuk ki egy oldalas PNG fájlba. Amennyiben nem fér ki egy oldalra olvashatóan, úgy az egyes mérföldkövek külön-külön kerüljenek önálló oldalra.

  • Mérföldkövek meghatározása (ellenőrzési pontok és átandandók)

    • Esetünkben a projektterv dokumentum 7.2-es fejezete egyértelműen összegzi milyen átadandókat és jelentéseket kell minden mérföldkő esetén a megrendelőnek átadni

    Sablon az egyéni összefoglaló jelentéshez

    https://git-okt.sed.inf.szte.hu/markusa/rf1-pelda/-/blob/master/MINTA-merfoldko-jelentes.md
    Az egyéni jelentéseket szintén a GitLab-ra kell felölteni minden mérföldkő határidejének lejáratakor.

Minta projektterv

Minta projektterv

Egy részletesebb, kitöltött dokumentáció a további ötletekhez: https://git-okt.sed.inf.szte.hu/markusa/rf1-pelda/-/blob/master/MINTA-Projektterv-2021.md
Egyelőre nem kell elkezdeni szerkezteni/kitölteni, a következő órákon fogunk majd látni, hogy hogyan fogjunk hozzá.

Adatok létrehozása az adatbázisban

A legegyszerűbb módszer arra, hogy a ..adatok létrehozása az adatbázisban feladatot a hallgató igazolja, és az ilyen jellegű feladatra épülő további feladatok is zökkenőmentesen haladjanak, célszerű az adatbázis létrehozásához szükséges utasításokat és az adatokakat egy .sql kiterjesztésű állományba elmenteni, amit aztán szintén a GitLab szerveren tárolható.

GYIK

Már az 1. mérföldkő leadásakor ki kell tölteni a teljes dokumentumot, beleértve a feladatlistát?

Igen, előre ki kell tölteni, a 4. mérföldkőig. A 3-4. mérföldkő esetén a prototípusokat további alfeladatokra is fel kell bontani, azok felelőseit is meghatározni, időtartamukat megbecsülni.

Honnan tudjuk, hogy mikor mit fogunk csinálni két hónapra előre?

Ideális esetben a projekt nem magától készül el, így nem csak úgy jönnek a feladatok, hanem ti tervezitek meg, hogy mit kell csinálni. A terv nem jóslás, hanem előzetes "utiterv".

Mi van akkor, ha menet közben jönnek új ötletek, funkciók, teendők? Azt nem tudjuk most beírni.

Azokat nem is kell, mivel még nem tudtok róla. De amit már most tudtok, azt be kell tervezni, hogy legyen egy kiindulási alap, amihez lehet tartani magatokat.

Mi történik, ha nem tudjuk tartani magunkat a tervhez?

Ez bármikor előfordulhat. Ezért érdemesebb több feladatot tervezni az elejére (3. mérföldkő), kevesebbet a 4-re. Igy ha felmerül új funkció igény (fel fog), becsúszik valami hiba (be fog) vagy kicsit megcsúsztok idővel (előfordulhat), akkor még van hova "terjeszkedni".

Honnan tudjuk, mik azok a feladatok, amiket már most be tudunk írni?

A projektterv elején összeszedte mindenki a funkcionális követelményeket a specifikáció alapján. Ezek azok a funkciók, amiket biztos bele fogtok tenni. Tehát ez az alap. Hogy minden benne legyen a végén, valamikor sort kell keríteni a megvalósításukra. Már csak annyi a teendő, hogy eldöntsétek, melyik funkcióval lesztek készen az egyes prototípusokra. Ezt értelemszerűen úgy kell tervezni, hogy az egymásra épülő funkciók egymás után legyenek (tehát ne csak a 4. mérföldkőnél legyen adatbázis, ha az elsőnél már van bejelentkezés meg regisztráció).

Mi lesz akkor, ha alul/túlbecsüljük az erőforrás igényt az egyes feladatoknál?

Ha túlbecsültétek, akkor azzal nincs baj, maradt még idő előredolgozni vagy javítgatni. Az alulbecslést segít elkerülni az, ha szándékosan kicsit több időt hagytok az egyes feladatokra (mert nagy valószínűséggel úgyis több fog kelleni rá). Ha mégis túl kevés időt hagytatok egy feladatra, akkor alkalmazni kell a "csúszásban van a projekt" rizikótényezőnél leírt lépéseket (ami ugye szintén meg lett tervezve).

Mi lesz akkor, ha változik a terv (új feladatok kerülnek be, felelősöket cserélünk, későbbre-korábbra hozunk egy feladatot)?

Meglévő feladatokat nyugodtan le lehet később bontani kisebb részekre, ettől a lényeg nem változik. Új feladatokat is lehet felvenni, erről a gyakorlatvezetőt értesíteni kell. Felelősök cseréjét meg kell indokolni, és vele egyeztetni kell. Ugyanez vonatkozik a feladatok átütemezésére: indokolt esetben lehet róla szó.

Mi szerepeljen a Gantt diagramban?

Miután megvan a részletes feladatlista, könnyű meghatározni. Minden pont és alpont, ami a feladatlistában szerepel, legyen felvéve a Gantt diagramban és a becsült ideje legyen megjelenítve a táblázatban. Ez fogja vizuálisan megjeleníteni a terveteket, hogy mikor mivel meddig foglalkoztok.

A pontozást hogy tudjuk megadni? Azt is most kell kitölteni?

  • A pontozás résznél a teljes első táblázatot ki kell tölteni. A szabályok:

    • az egy sorba írt pontok összege 70 legyen

    • egyik mezőbe írt pont sem haladhatja meg az adott oszlop első sorába írt százalékot (pl. első mérföldkőre min. 1, max. 7 pontot lehet adni)

    • a pontszámok arányosak legyenek: aki többet dolgozik egy adott mérföldkőben, az kapjon többet, mint a másik. És ha valaki többet dolgozik a negyedik mérföldkőben mint a harmadikban, akkor kapjon többet arra.

    • mindenkinek mind a négy mérföldkőben kell dolgoznia

Mennyi részfeladatra kell felosztani egy feladatot?

  • Miután megvan a specifikáció, meg kell határozni a részfeladatokat annyira részletesen, amennyire csak tudjátok. Példa:

    • Regisztrált felhasználó részfeladatai:

      • regisztráció megvalósítása

      • belépés

      • adatmódosítás

      • termék kosárba helyezése

      • fizetés

    • Regisztráció részfeladatai...

    • Űrlap feldolgozás részfeladatai...

  • Azaz elmentek az összes részfeladatnál olyan mélységig, ameddig eszetekbe jut/reális, hiszen pl. az űrlap feldolgozást már érdemes tovább bontani. Ezután ezeket a részfeladatokat kell kiosztani mérföldkövekhez, emberekhez, kell nekik erőforrás igényt adni és időtartamot. És ezek kerüljenek majd be a projekttervbe a 3-4 mérföldkőhöz.


Utolsó frissítés: 2023-09-10 16:05:22