RUP
Unified Process (UP, , myös Unified Software Development Process, ) on iteratiivisen ja inkrementaalisen ohjelmistokehityksen prosessikehys. Sen tunnetuin ja perusteellisimmin dokumentoitu versio on IBM Rational Unified Process (RUP), jonka loi Rational Software Corporation (IBM:n osasto vuodesta 2003 lähtien).
Unified Process ei ole itsenäinen prosessi vaan laajennettava kehys, joka tulee muokata vastaamaan organisaation tai projektin erityistarpeita. "Rational:in yhtenäistetty prosessi" eli RUP (Rational Unified Process, nimi juontuu prosessikuvauksen luoneen Rational Software Corporationin nimestä) on samalla tavoin muokattava kehys. Joskus muokatusta prosessikuvauksesta on vaikea sanoa onko se peräisin UP:stä vai RUP:sta, joten termejä käytetäänkin usein sekaisin.
Nimeä "Unified Process" käytetään usein korvaamaan nimeä "Rational Unified Process", kun puhutaan yleisesti prosessista ja siihen tavallisimmin tehdyistä muokkauksista. Nimeä "Unified Process" käytetään usein myös siksi, että halutaan välttää mahdolliset tekijänoikeusloukkaukset, sillä "Rational Unified Process" ja "RUP" ovat IBM:n ja Intel:n tavaramerkkejä. Ensimmäinen prosessia kuvaileva kirja "The Unified Software Development Process" (ISBN 0-201-57169-2) julkaistiin vuonna 1999 (tekijöinä Ivar Jacobson, Grady Booch ja James Rumbaugh). Tämän jälkeen useat eri tekijät ovat julkaisseet kirjoja ja artikkeleita aiheesta käyttäen joko termiä "Rational Unified Process" (mikäli ovat liitoksissa IBM:n kanssa) tai "Unified Process" (mikäli eivät ole yhteydessä IBM:ään).
Rup määrittelee projektin elinkaaren koostuvan neljästä vaiheesta. Nämä vaiheet sallivat, että prosessi voidaan esittää korkealla tasolla samanlailla kuin ’vesiputous’-mallin projekteissa voitaisiin esittää, vaikkakin perusolettamuksena avain prosessiin sijaitsee kaikkien eri vaiheiden kehityksen iteraatioissa. Myös, jokaisella vaiheella on tietty päämäärä lopussa, joka ilmaisee tavoitteen onnistuneen toteutuksen.
Päätavoitteena on tutkia järjestelmää, lähtökohtana tarkistaa alustava kustannusarvio ja budjetti. Tässä vaiheessa yrityskonteksti, menestystekijät ja taloudellinen ennuste vahvistetaan. Täydennetäkseen nämä vaiheet luodaan peruskäyttötapausmalli, projektisuunnitelma, alustava riskiarviointi ja projektikuvaus. Kun nämä on toteutettu projekti arvioidaan ja tarkistetaan sen kannattavuus.
Tämän vaiheen päätavoite on vähentää pahimpia havaittuja riskejä. Tässä vaiheessa projekti rupeaa ottamaan muotoa. Vaiheen aikana tehdään ongelma-alueiden analyysi, ja projektin arkkitehtuuri saa perusmuotonsa.
Päätavoite on rakentaa ohjelmisto. Tässä vaiheessa keskitytään suunnitellun järjestelmän komponenttien ja muiden ominaisuuksien kehittämiseen. Tässä vaiheessa tapahtuu valtaosa ohjelmoinnista.
Tämä vaihe tuottaa ensimmäisen ulkoisen julkaisun ohjelmistosta.
Päätavoite on muuntaa järjestelmä kehitysasteelta tuotantoon ja tuoda se loppukäyttäjän saataville ja ymmärrettäväksi. Tämän vaihe sisältää loppukäyttäjän ja ylläpitäjien kouluttamisen ja järjestelmän testaamisen, jotta huomataan toteutuuko loppukäyttäjien odotukset.
RUPissa kuvattu Kuusi parasta tapaa on ohjelmistotuotannon malli, joka listaa kuusi ideaa joita tulisi seurata ohjelmistoprojektin suunnittelussa vikojen minimoimiseksi ja tuottavuuden parantamiseksi. Nämä tavat ovat: