Vattenfallmetodik vs RUP
Det finns ett antal olika mjukvaruutvecklingsmetoder som används i programvaruindustrin idag. Vattenfall utvecklingsmetod är en av de tidigaste mjukvaruutvecklingsmetoderna. Vattenfallets mjukvaruutvecklingsmetodik är en sekventiell modell där varje fas är färdigställd i sin helhet och följd i en fast ordning. RUP (Rational Unified Process) är en anpassningsbar processram för iterativa mjukvaruutvecklingsmetoder. RUP adresserar flera kritik av vattenfall utveckling som styvhet.
Vad är vattenfallsmetodik?
Vattenfallsmetodiken är en av de tidigaste mjukvaruutvecklingsmodellerna. Som namnet antyder är det en sekventiell process där framsteg strömmar genom flera faser från topp till botten, analogt med ett vattenfall. Faserna av vattenfallsmodellen är kravanalys, design, utveckling, testning och implementering. Affärsanalytiker (eller programmerare själva om det är en liten organisation) bedriver analysfasen genom att få system- och affärskraven från projektets kunder. Därefter kommer programarkitekter (eller äldre programutvecklare) att lägga fram designdokument som visar strukturen och komponenterna i det föreslagna systemet. Därefter gör yngre utvecklare kodningen med hjälp av designdokumenten. Efter avslutad utveckling överlämnas produkten till testlaget för test- och verifieringsprocesser. Slutligen implementeras produkten (eller integrerad) på kundens webbplats och projektet är avstängt. Viktig sak att notera här är att varje fas är fullbordad innan du går vidare till nästa fas. Denna modell var ett direkt resultat av att bara anpassa maskinvarubaserad utvecklingsmetod (finns inom tillverknings- och byggindustrin), det var inte en formell modell för mjukvaruutveckling.
Vad är RUP?
RUP tillhör familjen iterativa mjukvaruutvecklingsmetoder. Det utvecklades av Rational Software Corporation (av IBM) 2003. Det är faktiskt en anpassningsbar processram (inte en enda konkret process) som kan anpassas av utvecklingsorganisationen enligt deras behov. Något liknande vattenfallet har fasta faser som start, utarbetande, konstruktion och övergång. Men i motsats till vattenfall är RUP en iterativ process. De tre strategier som fångas av RUP är en anpassningsbar process som styr utveckling, automatiserade verktyg för att påskynda processen och tjänster som hjälper till att anta process och verktyg snabbare. Dessa strategier internt fångar de sex bästa metoderna för mjukvaruutveckling (iterativ utveckling, hanteringskrav, komponentbaserad arkitektur, visuella mjukvaromodeller, kontinuerlig verifiering och hantering av förändringar).
Vad är skillnaden mellan vattenfallsmetodik och RUP?
Även om vattenfallsmetodik och RUP har definierat fasta faser finns det väsentliga skillnader mellan dessa två modeller. Huvudföreställningen är att medan vattenfallsmetodiken tydligt är en sekventiell process med föreskrivna steg där den aktuella fasen är färdig innan den går till nästa fas är RUP en iterativ process. Till skillnad från vattenfallsmetoden utvecklar RUP produkten i flera steg baserat på återkoppling från aktieägarna. Eftersom varje RUP-iteration ger en körbar version, får kunderna inse fördelarna mycket tidigare än vattenfallet. Slutligen är vattenfallsmetodiken en prescriptiv betongprocess, medan RUP är en anpassningsbar ram för mjukvaruprocesser.