Olcsóbb okos telefonok – mobilra optimalizálás
2014-10-12Facebook hangulat jelek :)
2014-10-13Nagy volumenű fejlesztések, hogy s miként.
Sokat gondolkodtam azon, hogy amikor egy ügyfél szeretne egy igazán grandiózus projektet akkor milyen lépéseken keresztül jutunk el a végeredményhez. Jelenleg azt látom, hogy két lehetséges út áll a megbízó-megrendelő páros előtt.
A vízesés modell
Ennek egyik alaptézise, hogy részletes tervezés során pontosan meg kell tervezni a megvalósítandó rendszert: jahhh kérem, ha később folyton új igények merülnek fel, akkor nem lesz sikeres ám a projekt! Ilyenkor úgy építjük fel a projektet, hogy minden fázis az előzőre épülve kezdődhet, és fejeződhet be. Ha veszünk egy 2 hónapos projektet akkor ez akár 4-6 hónap is lehet melynek nagy részében – főleg abban a részében amikor az ügyfél valami miatt megakad a döntéshozatalban – a fejlesztők nem dolgoznak semmit, hiszen arra várnak, hogy bizonyos fázisokat lezárjunk.
Agilis módszertan
A másik út – és ez áll közelebb az agilis módszertanokhoz – amikor a fejlesztést kisebb rész feladatokra bontjuk. A szerződés nem egy kész termék ütemezett legyártására szól, hanem “együttműködésre” és nem fázisok egymás utáni elfogadásán alapszik. Ebben az esetben a fejlesztési idő nem lesz feltétlen kevesebb, sőt a végszámla is lehet, hogy nagyobb lesz a végén, de mivel minden egyes kis rész feladat után az ügyféllel közösen döntünk a következő feladatról, így a projekt a végén sokkal jobban tükrözi azt amiért létrejött. Menet közben számtalan olyn esemény – gondolat – befolyásolhatja a projekt irányát mellyel egy fázisokra bontott “gyártási folyamat” (avagy a vízesés modell) nem tud számolni, és nem is lehet rugalmas e tekintetben. Az agilis módszertanok előnye, hogy a projekt készítése közben rugalmasan változó igényeknek a leginkább megfelel.
“Az agilis szoftverfejlesztés igazi trükkje nem más, minthogy folyamatosan kísérletezni kell, tapasztalni kell, hibázni kell, és ami a legfontosabb mindig le kell vonni a tanulságokat. Csak így lehet fejlődni, és alkalmazkodni, mind jobban illeszkedni az adott körülményekhez.”
Agilisen dolgozni számomra azt jelenti, hogy néhány alaptézist természetesnek veszünk, amit a korábbi módszertanok nem kezeltek, vagy csak nagyon hézagosan:
Legfontosabb, hogy eredmény orientáltan működünk: Amikor nem az az elsődleges cél, hogy egy képzelet beli rendszert megfelelően dokumentálunk, hanem az, hogy termelő szoftver minnél előbb a piacon legyen és termeljen bevételt, és ez képvisel értéket.
Nem hiszünk többé abban, és nem várjuk el, hogy a megrendelő pontosan megmondja a fejlesztés kezdete előtt, hogy milyen rendszert akar.
- 2500 oldalas szinte tökéletes specifikációk: ilyen csak a mesében van, ott, az üveghegyen is túl, ahol a kurta farkú malac túr, ahol a terülj-terülj asztalkám, meg a mindent vágó lézerkard található…
- Természetesnek vesszük a változást és a változtatást, és a projekt alapjaként kezeljük, szabályozott részévé tesszük azt. Ez az a rész amit szabályokban szerződésben le kell fektetni és bár nem könnyű de megvalósítható.
- Elhisszük, hogy kellően motivált és szakképzett csapat tagok folyamatos menedzsmentet nélküli is önállóan megoldják a feladataik legnagyobb részét: a megfelelő embereket nem irányítani kell, hanem célt kijelölni és biztosítani a feltételeket ahhoz, hogy értéket termeljenek.
Mindezeket persze agilitás meg SCRUM meg mindenféle köret nélkül is lehet biztosítani, a módszertan csak eszközöket kínál a célok eléréséhez.
Nincsenek szabályok
Pont most van egy olyan projektem, – a cégnél ahol dolgozom – ahol az ügyfél nem tud tökéletesen részekben gondolkodni, és radásul a szerződés sem felel meg az agilis módszertanoknak. Ha jobban bele gondolok akkor egy “vízesés modell” szerződést egyáltalán nem lehet úgy megírni, hogy egy folyamatosan változó igényekkel megáldott termékeny folyamatot “szabályozzon”. Hiszen ennek a folyamatnak pont az a lényege, hogy nincsenek szabályok.
Abban a pillanatban, amikor egy “szabályos vízesés modell” elven gondolkodó cég megpróbál agilis módszertanok között dolgozni, a projektek nem lesznek “sikeresek”!
Az agilis módszertan nem csodafegyver.
De az agilis módszertanok kedvezően hatnak a weboldal fejlesztésekre. Az agilis módszertan tökéletesen alkalmazkodik a folyamatosan változó igényekhez. A módszertanok (scrum és minden hasonló) alapvetően nem vethetők be mint “csodafegyver”, hiszen ezek a módszertanok nem azt a célt szolgálják, hogy levgyük őket a polcról mint a mindenre jó gyógyszert amit csak beveszünk és hopp máris minden projekt sikeres lesz. A módszertanokban vannak jó eszközök melyeket folyamatosan bevezetve lehet szép eredményeket elérni. Azonban ehhez az kell, hogy ebben az ügyfél is partner legyen. A csapatra sem szabad ráerőltetni egyből egy kiválasztott módszertan minden eszközét. Inkább lépésenként és apróbb részekben haladva érdemes bevezetni olyan módszereket és eszközöket melyekkel könnyebben és hatékonyabban – a folyamatosan változó igényeknek megfelelve – lehet eredményt elérni.