Metodologia de desenvolupament de programari àgil i tradicional
Hi ha moltes metodologies de desenvolupament de programari diferents que s'utilitzen actualment a la indústria del programari. El mètode de desenvolupament en cascada és un dels primers mètodes de desenvolupament de programari. V-Model, RUP i alguns altres mètodes lineals, iteratius i combinats lineals-iteratius, que van sorgir després de la metodologia de la cascada, pretenien eliminar molts problemes del mètode de la cascada. Totes aquestes metodologies anteriors s'anomenen Metodologies tradicionals de desenvolupament de programari. El model àgil és un model de desenvolupament de programari més recent introduït per abordar les deficiències que es troben en els models tradicionals. L'objectiu principal d'Agile és incorporar proves tan aviat com sigui possible i llançar una versió funcional del producte molt aviat, desglossant el sistema en subparts molt petites i manejables.
Què és la metodologia tradicional de desenvolupament de programari?
Les metodologies de programari com el mètode Waterfall, V-Model i RUP s'anomenen metodologies tradicionals de desenvolupament de programari. La metodologia Waterfall és un dels primers models de desenvolupament de programari. Com el seu nom indica, és un procés seqüencial en el qual el progrés flueix a través de diverses fases (anàlisi de requisits, disseny, desenvolupament, proves i implementació) de d alt a baix, de manera anàloga a una cascada. V-Model es considera una extensió del model de desenvolupament de programari Waterfall. V-Model utilitza les mateixes relacions entre fases definides al model Waterfall. Però en lloc de baixar linealment (com el model Waterfall), V-Model baixa en diagonal i després torna a pujar (després de la fase de codificació), formant la forma de la lletra V. RUP (Rational Unified Process) és un marc de processos adaptable (no un únic procés concret), que pot ser personalitzat per l'organització de desenvolupament segons les seves necessitats. Una mica semblant a la cascada, té fases fixes com a inici, elaboració, construcció i transició. Però a diferència de la cascada, RUP és un procés iteratiu.
Què és Agile?
Agile és una metodologia de desenvolupament de programari molt recent (o més correctament, un grup de metodologies) basada en el manifest àgil. Això es va desenvolupar per resoldre algunes deficiències en les metodologies tradicionals de desenvolupament de programari. Els mètodes àgils es basen a donar una alta prioritat a la participació del client al principi del cicle de desenvolupament. Es recomana incorporar les proves del client d'hora i tan sovint com sigui possible. Les proves es fan en cada moment quan hi ha disponible una versió estable. La base d'Agile es basa en començar les proves des del principi del projecte i continuar fins al final del projecte. La programació Scrum i Extreme són dues de les variacions més populars dels mètodes àgils.
El valor clau d'Agile és "la qualitat és responsabilitat de l'equip", que subratlla que la qualitat del programari és responsabilitat de tot l'equip (no només de l'equip de proves). Un altre aspecte important d'Agile és descompondre el programari en parts manejables més petites i lliurar-les al client molt ràpidament. Lliurar un producte que funcioni és molt important. Aleshores, l'equip continua millorant el programari i lliurant contínuament a cada pas important. Això s'aconsegueix tenint cicles de llançament molt curts (anomenats sprints a Scrum) i obtenint feedback per millorar al final de cada cicle. Els col·laboradors sense gaires interaccions de l'equip, com ara desenvolupadors i provadors dels mètodes anteriors, ara treballen junts dins del model Agile.
Quina diferència hi ha entre la metodologia de desenvolupament de programari àgil i la tradicional?
Tot i que el mètode àgil es basa en el desenvolupament iteratiu com alguns dels enfocaments tradicionals, les metodologies àgil i tradicional tenen diferències clau. Els enfocaments tradicionals utilitzen la planificació com a mecanisme de control, mentre que els models àgils utilitzen la retroalimentació dels usuaris com a mecanisme de control principal. Agile es pot anomenar un enfocament centrat en les persones que els mètodes tradicionals. El model àgil ofereix una versió de treball del producte molt aviat en comparació amb les metodologies tradicionals perquè el client pugui adonar-se d'alguns dels avantatges des del principi. El temps de cicle de prova d'Agile és relativament curt en comparació amb els mètodes tradicionals, perquè les proves es fan paral·lelament al desenvolupament. La majoria dels models tradicionals són molt rígids i relativament menys flexibles que el model Agile. A causa de tots aquests avantatges, actualment es prefereix Agile a les metodologies tradicionals.