Folosind metodologia dezvoltării software-ului adaptiv - totul despre ea și programare

CUPRINS

Pagina 1 din 5

În al doilea rând, iterativ (proiectare, testare, succes, eșec, re-creare a) - este cheia pentru dezvoltarea de produse de succes, mai ales în competiția în creștere. În plus față de cerințele produsului „suficient de detaliate“, trebuie să existe o anumită experiență folosindu-l (care apare, de exemplu, atunci când clientul testează un prototip), apoi la cerințele inițiale sunt adăugate la nou, aceasta se bazează pe experiența de utilizare.

În prezent, o serie de metodologii diferite pentru dezvoltarea de software au adoptat o abordare iterativă. Cu toate acestea, majoritatea dintre aceștia ignoră factori importanți precum tulburarea și imprevizibilitatea condițiilor complexe de lucru (viteză mare, volum mare de schimbări). În ciuda utilizării iterațiilor, altfel toate dispozițiile de bază ale acestor metodologii rămân deterministe. Se poate spune că, în general, ele seamănă cu câteva cicluri scurte de "cascadă", interconectate.

Cu toate acestea, ritmul tehnologic și dezvoltarea afacerilor se accelerează, iar metodele de gestionare statică devin inadecvate. Lumea veche a fost o lume a optimizării, unde puterea, previzibilitatea și controlul au condus. Lumea nouă este o lume a adaptării, în care locul principal este dat schimbărilor, improvizării și ideilor noi. O astfel de dihotomie - optimizarea împotriva adaptării - ne permite să ne imaginăm în mod clar viitorul managementului dezvoltării software-ului.

Îți amintești o serie de desene animate despre Dilbert? Deci, pe unul dintre ei, colegul său Wally se plânge că nu poate influența rezultatul operei în nici un fel. Cu toate acestea, el găsește consolare în "mândrie în proces". "Tot ce fac este lipsit de sens", spune Wally, "dar sunt foarte mândru de modul în care fac asta". Poate că e timpul să te uiți la aceste lucruri într-un mod nou? Este timpul să punem rezultatul deasupra procesului, să înțelegem documentația de mai sus, colaborarea de mai sus și adaptarea optimizării de mai sus.

Dezvoltarea software-ului adaptiv (ASD) este una din noile metodologii care au apărut ca o alternativă la metodele tradiționale, orientate către proces, de gestionare a dezvoltării de software. ASD, Extreme Programming (XP), Dezvoltare Lean, Scrum și familia de metodologii, cristal, desigur, sunt foarte diferite unele de altele, dar toate au un lucru în comun - piatra de temelie în ele este pus factorul uman, activitatea relzultaty și reducerea la minimum a procesului cu creșterea maximă a interacțiunii dintre oameni. Toate aceste metodologii au fost dezvoltate pe baza realităților obiective ale afacerilor moderne de înaltă tehnologie, caracterizată printr-o viteză imensă de dezvoltare și variabilitate ridicată.

Indiferent ce conduceți - testarea, echipa de dezvoltare sau întregul proiect, este timpul să reconsiderați valorile și prevederile care stau la baza procesului de conducere. Practicile ASD se bazează pe principiul adaptării continue, care dă naștere la o altă filozofie și la un alt ciclu de viață al proiectului, când schimbările constante devin normă.

În ASD, ciclul de viață static obișnuit al Plan-Design-Build este înlocuit cu unul dinamic - Speculate-Collaborate-Learn (Learning-Interaction-Learning).

Folosind metodologia dezvoltării software-ului adaptiv - totul despre ea și programare

Acest ciclu vizează învățarea continuă. Este asociat cu schimbări constante, evaluări repetate, încercări de a anticipa viitorul necunoscut al proiectului și necesită o interacțiune strânsă între dezvoltatori, testeri și clienți. (Rețineți că întregul ciclu nu reprezintă întotdeauna cercul drept, chiar și în cazul procesului iterativ, uneori vă puteți abate de la o parte pentru a explora zonele care nu au fost explorate până acum).

Metodologia ASD se bazează pe baza conceptuală a teoriei sistemelor complexe adaptive. Este proiectat pentru a fi utilizat în proiecte extreme, în care predomină ritmul rapid de dezvoltare, imprevizibilitate și schimbări frecvente. Există proiecte care nu pot fi considerate extreme. dar pentru toate celelalte, ASD este mult mai bună decât orice abordare tradițională a dezvoltării software-ului. La sfârșitul acestui articol, veți găsi referințe la o expunere mai detaliată a teoriei sistemelor adaptive.)