[Java lista] várom a véleményeteket
Gergely Hodicska
felho at avalon.aut.bme.hu
2010. Jún. 7., H, 13:11:17 CEST
Szia,
> NA EZ AZ! Az Agilis módszertan tervezése során mindig csak egy lépést
> lépünk előre. És ha az út sokfelé ágazik, akkor nagyon nagy utat fogsz
> bejárni, mire kijutsz a labirintusból. Addigra többnyire kifogy a
> budget, és megbukott a projekt. Csak akkor jó az agilis, ha
> valamennyire át lehet látni az egész utat. Akkor elég az egyes
> lépéseket megtervezni.
Szvsz rosszul látod az agilis módszertan lényegét. Ugyanúgy, ahogy az
agile manifesto sem azt jelenti, hogy a jobb oldalon álló elemek nem
fontosak, hanem azt, hogy a bal oldalon álló elevek előnyt élveznek.
Ha egy komolyabb projektnek kell nekiállnod agilis módon, akkor egyrészt
eleve hosszabb sprintek lesznek, plusz simán belefér az, hogy az elős
pár srpintnek tervezés a célja, és egy "futtatható" (konkrét) tervet
kell szállítani, vagy épp megvalósíthatósági tanulmányt. Nem úgy néz ki,
hogy kitalálom a rendszer egy darabkáját, és nekiesek és megcsinálom,
majd egy másikat.
Ez inkább olyan szmepontból érdekes, hogy nem állok neki megtervezni egy
olyan távoli jövőt, ami már nagyon bizonytalan (ami kb. egy vízesés
modelnél adott rengeteg okból kifolyólag [1]).
[1]:
- ügyfél nem tudja mit akar
- te nem tudod, hogy mit akarsz (idő, amíg ténylegesen megérted a domain
modellt, és idő amíg kialakul a közös nyelv az ügyféllel, érdemes
elolvasni a Domain Driven Design elejét)
- hosszabb távon maga a technológia is elavulhat, amire építesz
- ezer kis apróság jöhet közbe, amire nem tudsz előre felkészülni,
teljesen biztos vagyok benne, hogy mint régi motoros ezt ezerszer
megtapasztaltad
> Erről nem a kuncsaft tehet. Mivel ő a vevő, ő nem tehet semmiről. Ő a
> vevő. (Maximum ha nem fizeti ki a számlát, az összes teljesítés
> igazolás aláírása és a számla befogadása után, de ez megeshet a magyar
> állammal is mostanában, főleg ha valami nagyobb portál fejlesztésről
> van szó.)
Itt jegyezném meg, hogy pl. a Scrum egy nagy előnye, hogy rengeteg
felelősséget levesz a váladról, mert a product owner (amit alap esetben
a megrendelő ad) dönt, ezért ő lesz felelős a döntésekért.
> Addig kell vele kommunikálni, amíg nem vagy biztos benne, hogy tudod
> mi az amire tényleg szüksége van, mi az amit akar, és mi az amit át
> fog venni és kifizet. Ez lehet három különböző dolog, amit meg mond az
> a negyedik.
Ez jól hangzik, csak kb. elképzelhetetlen (főleg egy nagy projekt
esetén). Ahogy említettem eleve nem egy nyelvet beszéltek (még akkor
sem, ha úgy tűnik, hogy igen). Az agilis módszernek pont ezért nagyon
fontos eleme, hogy bevonja az ügyfelet, és nagyon hamar jön tőle
feedback, és pont ezért teljesül az, hogy nem fogsz túl sok ideig rossz
irányba menni.
Aztán még lehet olyat is bedobni, hogy egy idő alapú becslés, illetve
lépések egymásra épülésén alapúló model az kb. fixen magában hordozza a
csúszást [2], és egy csúszás egy korai fázisban végig fog haladni a
teljes projekten (és általában a QA-n fogod megnyerni ha nagyon muszáj).
[2]: Alapvető emberi tulajdonság (egy átlag fejlesztő esetén), hogy
kitölti a rendelkezésre álló időt, plusz általában nem jól érzékeli,
hogy hol is tart, ezért gyakori a csúszás. (Ok, lehet PM gyakorlattal
ezt orvosolni, de maga jelenség jelen van, míg egy komplexitás alapú
becslés esetén ez nem olyan nyilván való.)
És még van egy olyan motívum is, ami pl. Scrumban alapvető, hogy azokon
az ügyeken dolgozol, ami a legfontosabb a usernek, ezért nem fordulhat
elő mondjuk csúszás esetén, hogy kb. a teljes projekt 90%-on van, de még
abszolút használhatatlan. Helyette lesznek funkciók, amik nem lesznek
készen, de van egy használható szoftvered.
Üdv,
Felhő
További információk a(z) Javalist levelezőlistáról