Forskel mellem agile og traditionelle softwareudviklingsmetoder

Anonim

Agile vs Traditionel Software Development Methodology

Der findes mange forskellige softwareudviklingsmetoder, der anvendes i softwareindustrien i dag. Vandfald udviklingsmetode er en af ​​de tidligste softwareudviklingsmetoder. V-Model, RUP og få andre lineære, iterative og kombinerede lineære iterative metoder, der kom efter vandfaldsmetoden, havde til formål at udrydde mange problemer med vandfaldsmetoden. Alle disse tidligere metoder kaldes traditionelle softwareudviklingsmetoder. Agile model er en nyere softwareudviklingsmodel, der introduceres for at afhjælpe manglerne i de traditionelle modeller. Agile's hovedfokus integrerer testningen så tidligt som muligt og frigiver en fungerende version af produktet meget tidligt ved at nedbryde systemet til meget små og håndterbare underdele.

Hvad er traditionel softwareudviklingsmetode?

Software-metoder som vandfaldsmetode, V-Model og RUP kaldes traditionelle softwareudviklingsmetoder. Vandfaldsmetodologi er en af ​​de tidligste softwareudviklingsmodeller. Som navnet antyder, er det en sekventiel proces, hvor fremskridt strømmer gennem flere faser (kravanalyse, design, udvikling, test og implementering) fra top til bund, analogt med et vandfald. V-Model betragtes som en forlængelse af Waterfall softwareudviklingsmodellen. V-Model bruger de samme forhold mellem faser defineret i vandfaldsmodellen. Men i stedet for at falde lineært (som vandfaldsmodellen) træder V-Model nedad diagonalt og flytter derefter tilbage (efter kodningsfasen), der danner formen på brevet V. RUP (Rational Unified Process) er en tilpasningsbar procesramme (ikke en enkeltbetonproces), som kan tilpasses af udviklingsorganisationen efter deres behov. Lidt ligner vandfald, det har faste faser som start, udarbejdelse, konstruktion og overgang. Men i modsætning til vandfald er RUP en iterativ proces.

Hvad er Agile?

Agile er en meget ny softwareudviklingsmetode (eller mere korrekt, en gruppe af metoder) baseret på det agile manifest. Dette blev udviklet til at løse nogle mangler i traditionelle softwareudviklingsmetoder. Agile metoder er baseret på at prioritere kundens deltagelse tidligt i udviklingscyklusen. Det anbefales at inkorporere test af kunden tidligt og ofte som muligt. Testning udføres på hvert tidspunkt, når en stabil version bliver tilgængelig. Grundlaget for Agile er baseret på start test fra begyndelsen af ​​projektet og fortsætter hele tiden til projektets afslutning.Scrum og Extreme programmering er to af de mest populære variationer af Agile-metoder.

Agile er den vigtigste værdi, "kvalitet er holdets ansvar", hvilket understreger, at softwarekvaliteten er ansvaret for hele holdet (ikke kun testteamet). Et andet vigtigt aspekt af Agile er at nedbryde softwaren i mindre håndterbare dele og levere dem til kunden meget hurtigt. At levere et arbejdsprodukt er yderst vigtigt. Så fortsætter teamet med at forbedre softwaren og levere kontinuerligt ved hvert stort trin. Dette opnås ved at have meget korte frigivelsescykler (kaldet sprints i Scrum) og få feedback til forbedring i slutningen af ​​hver cyklus. Bidragydere uden mange interaktioner af holdet, såsom udviklere og testere i de tidligere metoder, arbejder nu sammen inden for Agile-modellen.

Hvad er forskellen mellem Agile og Traditional Software Development Methodology?

Selv om Agile-metoden er baseret på iterativ udvikling som nogle af de traditionelle tilgange, har agile og traditionelle metoder væsentlige forskelle. Traditionelle tilgange bruger planlægning som deres kontrolmekanisme, mens Agile-modeller bruger feedback fra brugerne som hovedstyringsmekanisme. Agile kan kaldes en folk-centreret tilgang end traditionelle metoder. Agile model leverer en fungerende version af produktet meget tidligt i forhold til traditionelle metoder, så kunden kan realisere nogle af fordelene tidligt. Testcyklustiden for Agile er forholdsvis kort sammenlignet med traditionelle metoder, fordi testningen sker parallelt med udviklingen. De fleste traditionelle modeller er meget stive og forholdsvis mindre fleksible end Agile-modellen. På grund af alle disse fordele er Agile foretrukket i forhold til de traditionelle metoder i øjeblikket.