Vandfaldsmetodologi vs RUP
Der er mange forskellige softwareudviklingsmetoder, der anvendes i softwarebranchen i dag. Vandfald-udviklingsmetode er en af de tidligste softwareudviklingsmetoder. Vandfalds softwareudviklingsmetodik er en sekventiel model, hvor hver fase afsluttes fuldt ud og følges i en fast rækkefølge. RUP (Rational Unified Process) er en tilpasset procesramme for iterative softwareudviklingsmetoder. RUP adresserer adskillige kritik af vandfaldets udvikling såsom stivhed.
Hvad er vandfaldsmetodik?
Vandfaldsmetodik er en af de tidligste softwareudviklingsmodeller. Som navnet antyder er det en sekventiel proces, hvor fremskridt flyder gennem flere faser fra top til bund, analogt med et vandfald. Faserne i vandfaldsmodellen er kravanalyse, design, udvikling, test og implementering. Forretningsanalytikere (eller programmerer dem selv, hvis det er en lille organisation) udfører analysefasen ved at hente system- og forretningskrav fra projektets kunde. Derefter kommer software arkitekter (eller senior softwareudviklere) med designdokumenter, der viser strukturen og komponenterne i det foreslåede system. Derefter foretager juniorudviklere kodningen ved hjælp af designdokumenter. Efter afslutningen af udviklingen overleveres produktet til testteamet til test og verifikationsprocesser. Endelig implementeres (eller integreres) produktet på kundens websted, og projektet er tilmeldt. Vigtig ting at bemærke her er, at hver fase er fuldstændigt afsluttet, før man går videre til næste fase. Denne model var et direkte resultat af simpelthen tilpasning af hardwareorienteret udviklingsmetode (findes i fremstillings- og byggebranchen), på et tidspunkt var der ingen formel model for softwareudvikling.
Hvad er RUP?
RUP hører til familien af iterative softwareudviklingsmetoder. Det blev udviklet af Rational Software Corporation (af IBM) i 2003. Det er faktisk en tilpasset procesramme (ikke en enkelt konkret proces), der kan tilpasses af udviklingsorganisationen efter deres behov. Lidt svarende til vandfaldet har det faste faser som start, uddybning, konstruktion og overgang. Men i modsætning til vandfald er RUP en iterativ proces. De tre strategier, der er fanget af RUP, er en proces, der kan tilpasses, som guider udvikling, automatiserede værktøjer til at fremskynde processen og tjenester, der hjælper med at implementere proces og værktøjer hurtigere. Disse strategier praktiserer de seks bedste fremgangsmåder inden for software engineering (iterativ udvikling, styring af krav, komponentbaseret arkitektur, visuelle softwaremodeller, kontinuerlig verifikation og styring af ændringer).
Hvad er forskellen mellem vandfaldsmetodik og RUP?
Selvom vandfaldsmetodik og RUP har definerede faste faser, er der centrale forskelle mellem disse to modeller. Den største deference er, at selvom vandfaldsmetodikken helt klart er en sekventiel proces med foreskrevne trin, hvor den aktuelle fase afsluttes, før de går til den næste fase, er RUP en iterativ proces. I modsætning til vandfaldsmetodikken udvikler RUP produktet i flere trin baseret på feedback fra aktionærerne. Fordi hver RUP-iteration producerer en eksekverbar udgivelse, får kunderne klar over fordele meget tidligere end Vandfald. Endelig er Waterfall-metodologi en receptpligtig konkret proces, mens RUP er en tilpassbar ramme for softwareprocesser.