Software project management Áttekintés Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék Ficsor Lajos
PMAN / 1
Miért szükséges? A software fejlesztési tevékenység Csoportmunkát igényel Jelentős erőforrásokat használ fel Határidő és költségfigyelést igényel Ellenérdekű felek (felhasználók, fejlesztők, management) kommunikációját igényli Ezért a software fejlesztési project is management problémákat vet fel! Ficsor Lajos
Software project management (Áttekintés)
PMAN / 2
A software project sajátosságai A project management problémáinak megoldására léteznek már általános módszerek A software project eltérése a hagyományos mérnöki tevékenységektől A termék megfoghatatlan, nincsenek kézzelfogható jelei például az ütemezéstől való eltéréseknek. A software előállítási folyamat nem teljesen kidolgozott. A nagy software rendszerek gyakran egyediek, előzmény nélküliek.
Ezért kell foglalkozni a software project management sajátosságaival Ficsor Lajos
Software project management (Áttekintés)
Ficsor Lajos Általános Infromatikai Tanszék Miskolci Egyetem
PMAN / 3
1
Fő tevékenységek Nincs általános gyakorlat - függ az adott project jellemzőitől és az adott szervezet szokásaitól. Általában: Tervezet készítés (proposal) Project költség tervezés, költségfigyelés Tervezés és ütemezés Project ellenőrzés és áttekintés Személyek kiválasztása, értékelése Jelentés készítés, bemutatás Kapcsolattartás a megrendelővel Ficsor Lajos
Software project management (Áttekintés)
PMAN / 4
A software management struktúrája Egy nagy szervezetben hasonló, mint más területeken, de az alárendeltek száma kisebb.
Ficsor Lajos
Software project management (Áttekintés)
PMAN / 5
Csoport szerveződési módok Nagy csoport nem jó! (kevesebb mint 8 fő). Szerveződési módok: Informális "chief programmer"
Ficsor Lajos
Software project management (Áttekintés)
Ficsor Lajos Általános Infromatikai Tanszék Miskolci Egyetem
PMAN / 6
2
Csoport szerveződési módok (folyt.) "chief programmer" típusú szervezet résztvevői vezető programozó helyettese könyvtáros egyéb szakértők (időlegesen vagy állandóan) project adminisztrátor "Tool smiths" (eszköz készítő) dokumentum szakértő programnyelvi szakértő további beosztott programozók Ficsor Lajos
Software project management (Áttekintés)
PMAN / 7
Csoport szerveződési módok (folyt.) Problémák: Túlságosan függ a siker két embertől (vezető programozó és helyettese). A sikert a vezető programozó "viszi el'. A vezető programozó nehezen illeszthető be a hagyományos hierarchiába.
Ficsor Lajos
Software project management (Áttekintés)
PMAN / 8
A programozó termelékenysége Nem mérhető közvetlenül, pedig a költségeket alapvetően befolyásolja. Ami könnyen számítható: a forrássorok száma / programozó-hónap object kód mérete / programozó-hónap
A fentieknél reálisabb mérőszámok szükségesek!
Ficsor Lajos
Software project management (Áttekintés)
Ficsor Lajos Általános Infromatikai Tanszék Miskolci Egyetem
PMAN / 9
3
A programozó termelékenysége (folyt.) Befolyásoló tényezők: A user interface komplexitása. A végfelhasználó részvétele a követelmény analízisben. Módszerek - de ez mellékhatás, a módszerek elsődleges célfüggvénye a minőség javítása. A tényleges munkára fordítható idő hányad (2030%). Ficsor Lajos
Software project management (Áttekintés)
PMAN / 10
Project tervezés Iterációs folyamat. A kezdeti terv / ütemezés megadott időnként felülvizsgálandó és módosítandó Fontos: "mérföldkövek", jól definiálható és ellenőrizhető project állapotok meghatározása. Problémák: A project céljai nem mindig egyértelműek a fejlesztés kezdetén. Bizonyos célkitűzések egymásnak ellentmondanak => opcionális célkitűzések: ezek között választania kell a managementnek. Erre különböző stratégiákat dolgoztak ki. Ficsor Lajos
Software project management (Áttekintés)
PMAN / 11
Project ütemezés Hasonló a feladat mint más gyártás ütemezés esetén, de több a bizonytalanság nehezen becsülhető a részfeladatok időigénye kezelni kell a visszalépéseket
Részfeladatok: Párhuzamosíthatók Függetlenek egymástól Az erőforrások korlátozottak Ficsor Lajos
Software project management (Áttekintés)
Ficsor Lajos Általános Infromatikai Tanszék Miskolci Egyetem
PMAN / 12
4
Fejlesztési költség becslése Összetevők: hardware, software költségek utazási képzési adminisztrációs, működése személyi (bér és egyéb), ez a legnehezebben becsülhető
Ficsor Lajos
Software project management (Áttekintés)
PMAN / 13
Költség becslési technikák Boehm -> technikák: Algoritmikus Szakértői vélemény Analógia más fejlesztési projektekkel Parkinson törvénye (annyit költünk, amennyi rendelkezésre áll) Üzlet elnyerése Top-down Bottom-up Ficsor Lajos
Software project management (Áttekintés)
PMAN / 14
Algoritmikus technikák Számos kísérlet. Alapvető probléma: ismerni kellene hozzá a végső termék bizonyos adatait. Egy klasszikus modell: COCOMO Constructive Cost Model egyszerűsített és továbbfejlesztett forma
Ficsor Lajos
Software project management (Áttekintés)
Ficsor Lajos Általános Infromatikai Tanszék Miskolci Egyetem
PMAN / 15
5
Egyszerűsített COCOMO modell Munkaráfordítás (programozó-hónapban) PN = a * (KDSI)b ahol KDSI: A forráskód mérete (1000 sorokban), a, b: konstansok Fejlesztési idő hónapokban: TDEV = 2.5 * (PN)c ahol c konstans Ficsor Lajos
Software project management (Áttekintés)
PMAN / 16
Egyszerűsített COCOMO modell (folyt.) A konstansok tapasztalati értékei a feladat típusa szerint: Feladat típusa
a
b
Alkalmazói
2.4
1.05 0.38
Semi-detached
3
1.12 0.35
Rendszer (embedded)
3.6
1.2
Ficsor Lajos
c
0.32
Software project management (Áttekintés)
PMAN / 17
Továbbfejlesztett COCOMO modell PM-hez szorzó tényezők az alábbiak alapján: Termék jellemzői: Megbízhatóság Adatbázis mérete Robusztusság
Számítógép jellemzők: Futási idő határ Memória foglalás korlátja Fejlesztő hardware Fejlesztő software Ficsor Lajos
Software project management (Áttekintés)
Ficsor Lajos Általános Infromatikai Tanszék Miskolci Egyetem
PMAN / 18
6
Tová Továbbfejlesztett bbfejlesztett COCOMO modell (folyt.) Emberi jellemzők: Vezetők képességei Vezetők gyakorlata Operációs rendszer ismeret Programozók képességei Nyelvi (fejlesztő környezetbeli) gyakorlottság
Project jellemzők: Metodológia Támogatottság Tervezettség Ficsor Lajos
Software project management (Áttekintés)
Ficsor Lajos Általános Infromatikai Tanszék Miskolci Egyetem
PMAN / 19
7