Az adaptív szoftverfejlesztés módszertana - mindent a programozásról és a programozásról
TARTALOMJEGYZÉK
Oldal 1/5
Másodszor, az iteratív (tervezés, tesztelés, siker, kudarc, újra létrehozás) a sikeres termékfejlesztés kulcsa, különösen a növekvő verseny előtt. A termék "kellően részletes" követelményei mellett bizonyos tapasztalatokra is szükség van annak használatához (ami például akkor jelenik meg, amikor egy ügyfél prototípust tesztel), majd a használat során szerzett tapasztalatok alapján újakat adnak hozzá a kezdeti követelményekhez.
Most a szoftverfejlesztés számos különböző módszertanát alkalmazta egy iteratív megközelítés. Azonban a legtöbbjük nem veszi figyelembe azokat a fontos tényezőket, mint a bonyolult munkakörülmények zavarai és kiszámíthatatlansága (nagy sebesség, nagy változások). Az iterációk használata ellenére, máskülönben ezeknek a módszertanoknak az alapvető rendelkezései determinisztikusak maradnak. Elmondható, hogy általában néhány rövid "vízesés" ciklust hasonlítanak össze egymással.
A technológia és az üzleti fejlődés üteme azonban felgyorsul, és a statikus irányítási módszerek alkalmatlanná válnak. A régi világ az optimalizálás világa volt, ahol a hatékonyság, a kiszámíthatóság és az irányítás uralkodott. Az új világ az alkalmazkodás világa, amelyben a fő helyet a változások, improvizáció és új ötletek adják. Egy ilyen dichotómia - az adaptációval szembeni optimalizálás - lehetővé teszi számunkra, hogy világosan elképzeljük a szoftverfejlesztés menedzselésének jövőjét.
Emlékszel egy sor rajzfilmre Dilbertről? Tehát egyikükre Wally kollégája azt kifogásolja, hogy semmilyen módon nem tudja befolyásolni a munka eredményét. Ugyanakkor megnyugtatónak találja a "büszkeséget a folyamatban". "Minden, amit csinálok, értelmetlen," mondja Wally, "de nagyon büszke vagyok arra, hogyan csinálom." Talán itt az ideje, hogy új dolgokat vizsgáljunk meg ezeken a dolgokon? Itt az ideje, hogy az eredményt a folyamat felett, a fenti dokumentáció megértése, a fenti feletti irányítási együttműködés és a fenti optimalizálás hozzáigazítása mellett adjuk meg.
Az Adaptive Software Development (ASD) egyike azon új módszereknek, amelyek a szoftverfejlesztés kezelésének hagyományos, folyamatorientált módszereinek alternatívájaként jelentek meg. ASD, Extreme Programming (XP), Lean Development, SCRUM és a család, a módszerek, a Crystal, persze, nagyon különböznek egymástól, de mindannyian egy dolog közös - a sarokköve bennük kerül az emberi tényező, relzultaty munka és minimalizálása a folyamat az emberek közötti interakció maximális növekedésével. Mindezeket a módszereket a modern high-tech üzlet objektív realitása alapján fejlesztettük ki, amelyet hatalmas fejlesztési sebesség és nagy változékonyság jellemez.
Bármi legyen is a tesztelés, a fejlesztőcsapat vagy az egész projekt, itt az ideje, hogy átgondolja a vezetési folyamatot megalapozó értékeket és rendelkezéseket. Az ASD gyakorlatok a folyamatos adaptáció elvén alapulnak, ami egy másik filozófiát és egy másik életciklusot eredményez a projektben, amikor az állandó változások a normák.
Az ASD-ben a Plan-Design-Build általános szokásos életciklusát egy dinamikusan lecserélik - Speculate-Collaborate-Learn (Learning - Interaction-Learning).

Ez a ciklus folyamatos tanulásra törekszik. Ez állandó változásokhoz, ismételt értékelésekhez, megpróbálja megjósolni a projekt ismeretlen jövőjét, és szoros együttműködést kíván a fejlesztők, a tesztelők és az ügyfelek között. (Ne feledje, hogy az egész ciklus nem mindig jelenti a megfelelő kört, még az iteratív folyamathoz képest is, néha az oldaltól eltérően felfedezheti azokat a területeket, amelyek eddig nem kerültek feltárásra).
Az ASD módszertana a komplex adaptív rendszerek elméletének koncepcionális alapja. Extrém projektekben való használatra készült, ahol a fejlődés gyors üteme, a kiszámíthatatlanság és a gyakori változások érvényesülnek. Vannak olyan projektek, amelyek nem tekinthetők extrémnek. de mindenki számára az ASD sokkal jobb, mint bármely hagyományos szoftverfejlesztési megközelítés. A cikk végén megtalálja az adaptív rendszerek elméletének részletesebb ismertetését.)