Diferența dintre metodologia dezvoltării software-ului agil și tradițional

Anonim

Metodologia dezvoltării software-ului Agile versus tradițional

Există un număr de metodologii diferite de dezvoltare a software-ului utilizate astăzi în industria de software. Metoda de dezvoltare a metodelor de cascadă este una dintre cele mai vechi metode de dezvoltare software. V-Model, RUP și alte câteva metode liniare, iterative și combinate liniar-iterative, care au venit după metodologia de cascadă, menite să distrugă mai multe aspecte ale metodei cascadei. Toate aceste metodologii anterioare se numesc metodologii tradiționale de dezvoltare software. Modelul Agile este un model de dezvoltare software mai recent introdus pentru a aborda deficiențele constatate în modelele tradiționale. Accentul principal al Agile este încorporarea testelor cât mai devreme și eliberarea unei versiuni de lucru a produsului foarte devreme, prin ruperea sistemului în subpărți foarte mici și ușor de gestionat.

Ce este metodologia dezvoltării tradiționale a software-ului?

Metodologiile software, cum ar fi metoda Waterfall, V-Model și RUP, se numesc metodologii tradiționale de dezvoltare software. Metodologia Waterfall este unul dintre cele mai vechi modele de dezvoltare software. După cum sugerează și numele, acesta este un proces secvențial în care progresul trece prin mai multe faze (analiza cerințelor, proiectare, dezvoltare, testare și implementare) de sus în jos, analog cu o cascadă. Modelul V este considerat o extensie a modelului de dezvoltare software Waterfall. Modelul V utilizează aceleași relații între fazele definite în modelul Waterfall. Dar, în loc să coboare liniar (ca modelul Waterfall), V-Modelul trece în diagonală și apoi se mută înapoi (după faza de codificare), formând forma literei V. RUP (Rational Unified Process) este un cadru de proces adaptabil un singur proces concret), care pot fi personalizate de către organizația de dezvoltare în funcție de nevoile lor. Puțin asemănătoare cu cascada, are faze fixe ca început, elaborare, construcție și tranziție. Dar spre deosebire de cascadă, RUP este un proces iterativ.

Ce este Agile?

Agile este o metodologie foarte recentă de dezvoltare a software-ului (sau mai corect, un grup de metodologii) bazată pe manifestul agil. Acesta a fost dezvoltat pentru a rezolva unele deficiențe în metodologiile tradiționale de dezvoltare software. Metodele agile se bazează pe acordarea unei priorități deosebite participării clienților la începutul ciclului de dezvoltare. Acesta recomandă includerea testelor de către client devreme și de cele mai multe ori posibil. Testarea se face la fiecare punct atunci când o versiune stabilă devine disponibilă. Fundația Agile se bazează pe începerea testării de la începutul proiectului și continuarea acestuia până la sfârșitul proiectului.Scrum și programarea Extreme sunt două dintre cele mai populare variante ale metodelor Agile.

Valoarea cheie a Agile este "calitatea este responsabilitatea echipei", care subliniază că calitatea software-ului este responsabilitatea întregii echipe (nu doar a echipei de testare). Un alt aspect important al programului Agile este ruperea software-ului în părți mai mici, ușor de gestionat, și livrarea acestora către client foarte repede. Furnizarea unui produs de lucru este extrem de importantă. Apoi echipa continuă să îmbunătățească software-ul și să livreze continuu la fiecare pas major. Acest lucru se realizează prin cicluri foarte scurte de eliberare (numite sprinturi în Scrum) și obținerea de feedback pentru îmbunătățire la sfârșitul fiecărui ciclu. Contribuitorii fără prea multe interacțiuni ale echipei, cum ar fi dezvoltatorii și testerele din metodele anterioare, lucrează acum împreună în cadrul modelului Agile.

Care este diferența dintre metodologia de dezvoltare a software-ului Agile și tradiționale?

Deși metoda Agile se bazează pe o dezvoltare iterativă, deoarece unele dintre abordările tradiționale, metodologiile Agile și tradiționale au diferențe-cheie. Abordările tradiționale utilizează planificarea ca mecanism de control al acestora, în timp ce modelele Agile utilizează feedback-ul de la utilizatori ca principal mecanism de control. Agilul poate fi numit o abordare centrat pe oameni decât metodele tradiționale. Modelul Agile furnizează o versiune de lucru a produsului foarte devreme în comparație cu metodologiile tradiționale, astfel încât clientul să poată realiza o parte din beneficiile din timp. Timpul de testare al ciclului Agile este relativ scurt comparativ cu metodele tradiționale, deoarece testarea se face paralel cu dezvoltarea. Cele mai multe modele tradiționale sunt foarte rigide și relativ mai puțin flexibile decât modelul Agile. Datorită acestor avantaje, Agile este preferată în prezent față de metodologiile tradiționale.