Agile vs Traditional Software Development Methodology
Daar is 'n aantal verskillende sagteware-ontwikkelingsmetodologieë wat vandag in die sagteware-industrie gebruik word. Waterval-ontwikkelingsmetode is een van die vroegste sagteware-ontwikkelingsmetodes. V-Model, RUP en min ander lineêre, iteratiewe en gekombineerde lineêre-iteratiewe metodes, wat na watervalmetodologie gekom het, was bedoel om baie kwessies van die watervalmetode uit te wis. Al hierdie vroeëre metodologieë word tradisionele sagteware-ontwikkelingsmetodologieë genoem. Agile model is 'n meer onlangse sagteware-ontwikkelingsmodel wat ingestel is om die tekortkominge wat in die tradisionele modelle voorkom, aan te spreek. Die hooffokus van Agile is om toetsing so vroeg as moontlik te inkorporeer en 'n werkende weergawe van die produk baie vroeg vry te stel, deur die stelsel in baie klein en hanteerbare onderdele af te breek.
Wat is tradisionele sagteware-ontwikkelingsmetodologie?
Sagteware-metodologieë soos Waterfall-metode, V-Model en RUP word tradisionele sagteware-ontwikkelingsmetodologieë genoem. Watervalmetodologie is een van die vroegste sagteware-ontwikkelingsmodelle. Soos die naam aandui, is dit 'n opeenvolgende proses waarin vordering deur verskeie fases (behoefteontleding, ontwerp, ontwikkeling, toetsing en implementering) van bo na onder vloei, analoog aan 'n waterval. V-Model word beskou as 'n uitbreiding van die Waterfall-sagteware-ontwikkelingsmodel. V-Model gebruik dieselfde verwantskappe tussen fases wat in die Waterval-model gedefinieer is. Maar in plaas daarvan om lineêr te daal (soos die Waterval-model), trap V-Model skuins af en beweeg dan terug op (na die koderingsfase), en vorm die vorm van die letter V. RUP (Rational Unified Process) is 'n aanpasbare prosesraamwerk (nie 'n enkele konkrete proses nie), wat deur die ontwikkelingsorganisasie volgens hul behoeftes aangepas kan word. Effens soortgelyk aan waterval, dit het vaste fases soos begin, uitwerking, konstruksie en oorgang. Maar anders as waterval, is RUP 'n iteratiewe proses.
Wat is Agile?
Agile is 'n baie onlangse sagteware-ontwikkelingsmetodologie (of meer korrek, 'n groep metodologieë) gebaseer op die ratse manifes. Dit is ontwikkel om 'n paar tekortkominge in tradisionele sagteware-ontwikkelingsmetodologieë op te los. Agile metodes is gebaseer op die gee van hoë prioriteit aan die kliënt deelname vroeg in die ontwikkelingsiklus. Dit beveel aan om toetsing deur die kliënt vroeg en gereeld as moontlik in te sluit. Toetsing word gedoen op elke punt wanneer 'n stabiele weergawe beskikbaar word. Die fondament van Agile is gebaseer op die begin van toetsing vanaf die begin van die projek en deurgaans tot aan die einde van die projek. Skrum- en Ekstreme-programmering is twee van die gewildste variasies van Agile-metodes.
Sleutelwaarde van Agile is "kwaliteit is die span se verantwoordelikheid", wat beklemtoon dat die kwaliteit van die sagteware die verantwoordelikheid van die hele span is (nie net die toetsspan nie). Een ander belangrike aspek van Agile is om die sagteware in kleiner hanteerbare dele af te breek en dit baie vinnig aan die klant te lewer. Die lewering van 'n werkende produk is uiters belangrik. Dan gaan die span voort om die sagteware te verbeter en lewer voortdurend by elke groot stap. Dit word bereik deur baie kort vrystellingsiklusse te hê (genoem naellope in Scrum) en terugvoer vir verbetering aan die einde van elke siklus te kry. Bydraers sonder veel interaksies van die span, soos ontwikkelaars en toetsers in die vroeëre metodes, werk nou saam binne die Agile-model.
Wat is die verskil tussen ratse en tradisionele sagteware-ontwikkelingsmetodologie?
Alhoewel Agile-metode gebaseer is op iteratiewe ontwikkeling aangesien sommige van die tradisionele benaderings, Agile en Tradisionele metodologieë sleutelverskille het. Tradisionele benaderings gebruik beplanning as hul beheermeganisme, terwyl Agile-modelle die terugvoer van die gebruikers as die hoofbeheermeganisme gebruik. Agile kan 'n mensgesentreerde benadering genoem word as tradisionele metodes. Agile model lewer 'n werkende weergawe van die produk baie vroeg in vergelyking met tradisionele metodologieë sodat die kliënt vroegtydig sommige van die voordele kan besef. Die toetssiklustyd van Agile is relatief kort in vergelyking met tradisionele metodes, omdat toetsing parallel met ontwikkeling gedoen word. Die meeste tradisionele modelle is baie rigied en relatief minder buigsaam as die Agile-model. As gevolg van al hierdie voordele word Agile op die oomblik verkies bo die tradisionele metodologieë.