Metodele agile sunt axate pe diferite aspecte ale ciclului de viață de dezvoltare software. Unele se concentrează pe practici (de exemplu, XP (Programarea extremă), Programarea pragmatică, Modelarea agilă), în timp ce altele se concentrează pe gestionarea proiectelor software (de exemplu, Scrum). Cu toate acestea, există abordări care oferă o acoperire completă pe durata ciclului de viață de dezvoltare (de exemplu DSDM (Metoda dinamică a dezvoltării sistemelor), IBM RUP (Procesul unificat raţional)), în timp ce cele mai multe dintre ele sunt adecvate din faza de specificare a cerințele (FDD (Dezvoltarea în funcţie de caracteristici), de exemplu). Astfel, există o diferență clară între diferitele metode agile în acest sens.
Dezvoltarea agile este susținută de un pachet de practici concrete propuse de metodele agile, care vizează domenii cum ar fi cerințele, proiectarea, modelarea, codarea, testarea, managementul de proiect, procesul, calitatea, etc
Alianța Agile a oferit o colecție online cuprinzătoare, cu un ghid al practicilor agile aplicabile.
Croiala metodei
În literatura de specialitate, termeni diferiți se referă la noțiunea de adaptare metodei, inclusiv „croiala metodei”, „adaptarea fragmentelor metodei” și „ingineria metodei situaționale”. Croiala metodei este definită ca:
Un proces sau capacitate în care agenții umani determină o abordare a dezvoltării unui sistem pentru o situație specifică a unui proiect prin schimbari sensibile în, precum și interferențe dinamice între contexte, intenții, și fragmentele metodei.
Teoretic, aproape toate metodele agile sunt potrivite pentru croiala metodei. Chiar metoda DSDM este folosită în acest scop și a fost adaptată cu succes într-un context CMM (Metoda maturităţiii capabilităţii). Adaptarea la situaţie poate fi considerată ca o caracteristică distinctivă între metodele agile și metodele tradiționale de dezvoltare software, acestea din urmă fiind relativ mult mai rigide și prescriptive. Implicația practică este că metodele agile permite echipelor de proiect să adapteze practicile de lucru în funcție de necesitățile proiectelor individuale. Practicile sunt activități și produse care sunt parte a unui cadru de metode concrete. La un nivel mai extrem, filosofia din spatele metodei, constând dintr-un număr de principii, ar putea fi adaptată (Aydin, 2004).
Programarea extremă (XP) face explicită nevoia de adaptare a metodei. Una dintre ideile fundamentale ale XP este că niciun proces nu se potrivește fiecărui proiect, ci mai degrabă că practicile ar trebui adaptate la nevoile proiectelor individuale. Adoptarea parțială a practicilor XP, după cum a sugerat Beck, a fost raportată în mai multe rânduri. Mehdi Mirakhorli propune o practică a croielii care oferă o suficientă planificare și orientări pentru adaptarea tuturor practicilor. Practica de cercetare-dezvoltare este concepută pentru personalizarea XP. Această practică, propusă la început ca o lucrare de cercetare de amploare în workshop-ul ASPO la conferinţa ICSE 2008, este în prezent singura metodă propusă și aplicabilă pentru personalizarea XP. Deși este în mod special o soluție XP, această practică are capacitatea de extindere la alte metodologii. La prima vedere, această practică pare să fie în categoria adaptării metodei statică, dar experiențele cu practice de cercetare-dezvoltare spune că poate fi tratată ca o adaptare a metodei dinamică. Distincția dintre adaptare metodei statică și adaptarea metodei dinamică este subtilă.
Comparație cu alte metode
RAD
Metodele Agile au multe în comun cu tehnicile RAD (Rapid Application Development -dezvoltare rapidă de aplicații) din anii 1980/’90 aşa cum au fost îmbrățișate de James Martin și alții. În plus față de metodele focalizate pe tehnologie, metodele concentare pe client-şi-proiectare, cum ar fi Visualization- Driven Rapid Prototyping dezvoltat de Brian Willison, funcţionează prin angajarea clienților și utilizatorilor finali, pentru a facilita dezvoltarea de software agil.
CMMI
În 2008, Institutul de Inginerie Software (SEI) a publicat raportul tehnic „CMMI sau Agile: De ce să nu se folosească ambele” pentru a face clar că CMMI (Capability Maturity Model Integration – Integrarea modelului de maturitate a capabilităţii) şi Agile pot coexista. Procesele de dezvoltare compatibile CMMI moderne sunt, de asemenea, iterative. Versiunea 1.3 CMMI include sfaturi pentru punerea în aplicare şi îmbunătăţirea proceselor Agile și CMMI împreună.
PDF: https://www.telework.ro/ro/e-books/dezvoltarea-agila-de-software/
Lasă un răspuns