|
Az agilis projektvezetés - agilis szoftverfejlesztés - legfontosabb eszköze a Release terv. A Release terv legegyszer?bb formája egy három oszlopos táblázat:
* Felhasználói történet (User Story), vagy Feature megnevezése
* RáfordÃtás becslése (pontokban mérve)
* Prioritás
A megbÃzó és a fejleszt? közötti megállapodás Ãgy szól:
A fejleszt? a következ? iterációban köteles a legmagasabb prioritású felhasználói történeteket (projekt sebességnek megfelel? számút) maradéktalanul megvalósÃtani, azaz m?köd? szoftvert készÃteni. Legalábbis azoknak a user story-nak kell m?ködniük, amelyek bekerültek az iterációba. No ekkor szokott a fejleszt?k cérnája elszakadni. Hogy lehet m?köd? szoftvert készÃteni, ha az aktuális iterációba olyan user story-k kerültek, amelyek összefüggésben állnak kés?bbi iterációkba kerül? user story-kkal? Azaz, hogyan lehet a user story-kat egymástól függetlenül implementálni?
Azt állÃtom, muszály megtalálni a módját. Azt állÃtom, hogy ez a kényszer segÃt a legfontosabb tervezési elv megvalósÃtásában:
Kohézió és laza kapcsolódás.
Az összefüggés szerintem a következ?: Ha arra koncentrálok, hogy csak és kizárólag a user story-ban megfogalmazott elvárást (üzleti szabályt, prezentációs igényt, teljesÃtménnyel kapcsolatos elvárást) implementáljam, akkor az a komponens (pl. egy osztály) amelyben az elvárás teljesül, szükségképpen összefügg? (cohesive) lesz, hiszen egy jól megfogalmazott feladatot teljesÃt. Ugyanakkor szükségképpen lazán kapcsolódik az egyéb komponensekhez, hiszen csak annyira kapcsolódik a környezetéhez, amennyire egyik üzleti szabály a másikhoz.
|