Der er mere end en måde at udføre en opgave på, og det gælder også softwareudvikling. En udvikler skal tage hundreder af beslutninger og gennemgå forskellige tilgange i løbet af løbet. En af de allerførste beslutninger, han skal tage, er at vælge den rigtige udviklingsmetodologi. Agile og vandfald er de to mest almindelige, men pålidelige metoder til udvikling af software. Nå, begge tjener det samme formål, som er at finde den bedst mulige tilgang til at få projektet udført på mindst mulig tid, men de gør det meget anderledes. Begge fremgangsmåder er blevet brugt til at implementere store ERP-projekter (enterprise resource planning) i ganske lang tid nu. Mens begge er to sider af den samme mønt, har de deres retmæssige andel af forskelle.
Agile er en af de mest fremtrædende softwareudviklingsmetoder, der følger en inkrementel tilgang til udførelse af opgaver. Tanken er at levere produkter hurtigere ved hjælp af ERP-implementeringer, samtidig med at metodologiens integritet bevares. Det er en projektmetodologi, der stammer fra lean tænkning, hvor krav og løsninger skrider frem gennem et kollektivt samarbejde mellem holdene og slutbrugerne. Det er en moderne tilgang til udvikling, der lægger vægt på adaptiv læring, inkrementel levering, evolutionær udvikling og kontinuerlig iteration. Det gør det muligt at foretage ændringer under udviklingscyklussen, som giver fleksibilitet til at føre tilsyn med projektets fremskridt og derved reducere risikoen for fiasko.
Vandfald er en plandrevet traditionel tilgang til udvikling, der følger en sekventiel designproces, som til tider kan være stiv. Udviklingscyklussen er opdelt i en række hændelser fra dokumentationskrav til produktlevering. Udviklere må kun fortsætte efter vellykket afslutning af en fase. Hver fase skal gennemgås og godkendes af kunden grundigt, før udviklerne går videre til næste fase. I modsætning til Agile tillader det ikke ændringer, der skal foretages under udviklingscyklussen, hvilket gør det næsten vanskeligt at fortryde koden og dermed øge risikoen for fejl. Fremskridtene kan dog let måles, da det kræver, at udviklere opretter et papirspor for hver fase af udviklingscyklussen, hvilket giver mulighed for en jævn og forudsigelig arbejdsgang.
Både Agile og Waterfall er to af de mest fremtrædende softwareudviklingsmetoder, der bruges til ERP-projekter til at levere produkter med høj værdi på mindst mulig tid. På trods af et fælles mål bruger de imidlertid forskellige tilgange til at få projekterne færdige. Mens Agile følger en inkrementel tilgang til at få tingene gjort, bruger Waterfall en sekventiel designproces.
Begge er levedygtige metoder, der bruges i projektstyring, men på forskellige måder. Vandfald bruger en traditionel tilgang, som til tider kan være stiv, og hvor hele udviklingsprocessen er opdelt i en række begivenheder, der starter fra undfangelse og helt igennem til produktion. Agile er på den anden side nyere end Vandfald og bruger en inkrementel tilgang til lean udvikling.
Vandfald er mere som planstyret, som ser analyse, design, kodning, implementering og testning som forskellige faser af et softwareudviklingsprojekt. Det fungerer godt, når omfanget af projektet er kendt på forhånd, men det begrænser ændringer og begrænser tilpasningsevnen. Agile, som en moderne tilgang, er åben for ændringer kommer til en pris selvfølgelig, men det fungerer godt, når omfanget af projektet er ukendt.
Agile begynder med et simpelt projektdesign, der starter med små moduler over en bestemt tidsperiode. Faserne i udviklingsprocessen kører parallelt med regelmæssige feedbacks og en efterspørgsel opretholdes for at holde oversigt over fremskridtene. Tværtimod, Vandfald er en sekventiel proces, der ikke fører tilsyn med projektets fremskridt. En udvikler kan kun hoppe til det næste trin efter at have gennemført det første trin, fordi det følger en sekventiel tilgang.
Kontraktsbetingelser i Agile-metodologi tillader delvis succes med projektet og reducerer dermed risikoen for fiasko. Som en moderne tilgang prioriterer den en proces baseret på værdi, som kræver, at værdifulde funktioner først implementeres, hvorved risikoen for ubrugeligt produkt reduceres. Vandfald handler på den anden side om "alt eller intet" -tilgangen, som øger risikoen for fiasko, fordi det begrænser projektets delvise succes.
Både Agile og Waterfall er de to mest populære softwareudviklingsmetoder, der bruges i ERP-projekter, men de følger forskellige tilgange til at tjene et fælles mål; det vil sige for at levere det krævede produkt på mindst mulig tid fri for fejl og fejl. Agile følger en mere inkrementel tilgang til softwareudvikling, der giver fleksibilitet til at føre tilsyn med fremskridtene i hele udviklingscyklussen. Vandfald, på den anden side, gør alt sekventielt fra undfangelse og indledning til implementering og vedligeholdelse. Udviklere kan kun gå videre til den næste fase efter vellykket gennemførelse af den første fase, som begrænser ændringer og dermed øge risikoen for fiasko. Agile gør det muligt at foretage ændringer under udviklingscyklussen, hvilket reducerer risikoen for fuldstændig fiasko.