Arendus- ja ärimudelid
...
Arendusmudelid
Tarkvara elutsükkel
Tarkvaraarenduse protsesside kirjeldamine ulatub tagasi 60-ndatesse, mil hakati kirjeldama suurettevõtete äriprotsesse. Hiljem kujunes mõiste "süsteemiarenduse elutsükkel" (SDLC, millest tarkvara moodustab üle alajaotuse (laiemas mõttes infosüsteem võib sisaldada ka riistvara). Lihtsamal kujul kujutab see protsessiringi planeerimisest valmissüsteemide haldamiseni (vt skeemi Wikimedia Commonsis).
Kosemudel (waterfall)
Tavaarusaama jaoks ilmselt kõige lihtsam viis, kus arendus koosneb selgetest etappidest (sarnaselt SDLC-ga) ning iga etapp viiakse lõpule, enne kui järgmise juurde asutakse:
Analüüs -> Disain -> Arendus -> Testimine -> Hooldus
Selle mudeli eeliseks on tema lihtsus ja ülevaatlikkus. Protsess on jäigalt paigas ning iga etapi puhul on selgelt määratud selle tulemus ja üleminek järgmisse. Kosemudel sobib hästi väiksemate ülesannete lahendamiseks, kus nõuded on algusest peale selged ega muutu töö käigus.
Miinuseid on aga üksjagu - kui midagi läks algfaasis (näiteks disainis) valesti ja see selgub alles testimisel, on tagasi minna keeruline, seetõttu on see mudel riskantne. Praktiline tulemus (tarkvara) valmib alles tsükli lõpupoole. Kõige selle tõttu ei sobi see mudel projektidele, mis on pikad ja keerukad, eriti aga juhtudel, kus nõuded võivad töö käigus muutuda.
V-mudel
Selle mudeli puhul moodustab kosemudeli sarnane protsess V-tähe või parabooli ning lisaks mööda põhiahelat kulgevale protsessile toimub infovahetus ka samal horisontaalil olevate sammude vahel. Arendusfaas asub V põhjas, vasaku haru moodustab analüüs/disain ja parempoolse testimine, nii et testimise eri etappide tulemused saavad mõjutada disainifaasi etappe. Projekti alguses kogutakse tagasisidet projekti lõppastmelt ehk lõpptarbijatelt ning kohandatakse nõudmisi selle järgi.
Mudeli plussideks on sarnaselt kosemudeliga lihtsus ja selgus, võimalik on ajavõit (testid kavandatakse juba varem, enne arendust). Vigade avastamise võimalus eri sammude juures on suurem ja need ei kandu edasi järgmistesse sammudesse. Sarnaselt kosemudeliga sobib see mudel väiksemale ja selgete nõudmistega projektile.
Miinuseks on nagu kosemudelil selle jäikus ning tarkvara valmimine protsessi lõpupoole (ehkki testimine toimub algusest peale, ei kasutata varajasi prototüüpe). Kuna testimine toimub kogu protsessis, peab testidokumentatsioon pidevalt kajastama kõiki tehtavaid muudatusi.
Märkus: V-mudelist on tehtud erinevaid edasiarendusi (mitme V mudelid), aga nende kajastamine jäägu juba tarkvaraarhitektuuri ainetesse.
Järkjärguline mudel (incremental)
Selle mudeli puhul kasutatakse järkjärgulist, korduvat arendust (prototüüpimist), milles iga kordus on omaette, kosemudelit järgiv protsess. Iga järgmise sammuga täiendatakse nõudeid ning lõpptulemus loetakse saavutatuks siis, kui kõik nõuded on rahuldatud.
Siin on oluliseks plussiks võimalus jõuda töötava tarkvarani juba üsna varajases staadiumis. Algse, väiksema väljalaske saab kliendini viia kohe alguses ning alustada selle testimist (ka testimine on algse väiksema mahu juures lihtsam ning vead tulevad kiiremini välja).
Miinuseks on seevastu kogu protsessi suurem kulukus (sama ülesande korduv lahendamine). Samuti on vaja head planeerimist ja "suure pildi" nägemist kohe alguses, et väljalaskeid planeerida ja kohe alguses õige suund valida.
RAD ehk kiirarenduse mudel (rapid application development)
Skeem Wikimedia Commonsis (üks võimalik lähenemine)
See on kogum kosemudelist eristuvaid mudeleid, kus pannakse vähem rõhku planeerimisele ja rohkem paindlikule realisatsioonile. Sageli töötatakse eri lõikude kallal paralleelselt. Eeliseks on suurem paindlikkus, modulaarsus (taaskasutuse võimalus, samas algusest peale toimuv kokkusobitamine tagab reeglina hea koostöö) ja kiirus. Samas vajavad RAD-meetodid kogenud ja võimekat, hästi kokkumängivat ja selge rollijaotusega arendusmeeskonda ning nad sobivad ülesannetele, mida saab "juppideks jagada" ja mis ei ole üleliia suuremahulised.
Teemad
- Häkkerid ja kunstnikud (Paul Graham, "Hackers and Painters", http://www.paulgraham.com/hp.html)
- Disain (Paul Graham, "Taste for Makers", http://www.paulgraham.com/taste.html)
- Tarkvaraarendus ja selle viisid eri aegadel (Goldman, Hietanen, Himanen jt)
- Kosk
- Agiilsed meetodid
- ...
- Ärimudelid (vt Raymond ja Fink, sissejuhatuseks Paul Graham, "How to Make Wealth", http://www.paulgraham.com/wealth.html)
- Traditsiooniline
- Jaosvara
- Freemium
- FLOSS mudelid
- ...
- Startupid (Paul Graham, "How to Start a Startup", http://www.paulgraham.com/start.html)
...
Allikad
- BENKLER, Yochai. The Wealth of Networks: How Social Production Transforms Markets and Freedom. New Haven and London: Yale University Press, 2006 http://www.benkler.org/Benkler_Wealth_Of_Networks.pdf
- FELLER, Joseph (ed) et al. Perspectives on Free and Open Source Software. MIT Press 2005. http://www.it.uom.gr/teaching/linux/perspectives-foss.pdf
- GOLDMAN, Ron, GABRIEL, Richard. Innovation Happens Elsewhere: Open Source as Business Strategy. Morgan Kaufman Publishers 2006. http://dreamsongs.com/IHE/IHE.html
- GRAHAM, Paul. Hackers and Painters: Big Ideas from the Computer Age. O'Reilly 2004. Available also at http://www.paulgraham.com/articles.html
- HIETANEN, Herkko, OKSANEN, Ville., VÄLIMÄKI, Mikko. Community Created Content: Law, Business and Policy. Turre Publishing 2007. http://www.turre.com/wp-content/uploads/webkirja_koko_optimoitu2.pdf
- HIMANEN, Pekka. The Hacker Ethic and the Spirit of the Information Age. Random House Inc. New York, 2001.
- von HIPPEL, Eric. The Sources of Innovation. Oxford University Press 1988. http://web.mit.edu/evhippel/www/sources.htm
- von HIPPEL, Eric. Democratizing Innovation. The MIT Press 2005. http://web.mit.edu/evhippel/www/democ1.htm
- INGO, Henrik. Open Life: The Philosophy of Open Source. Lulu 2006. http://openlife.cc
- KOCH, Stefan. Free/Open Source Software Development. Idea Group, 2005
- LOCKE, Christopher et al. The Cluetrain Manifesto: The End of Business as Usual. Perseus Books Group 2001. http://cluetrain.com/book/index.html
- MOODY, Glyn. Rebel Code: Inside Linux and the Open Source Revolution. Perseus Publishing, Cambridge MA 2001
- RAYMOND, E.S. The Cathedral and the Bazaar
- WYNANTS, Marleen, CORNELIS, Jan. How Open is the Future? Economic, Social and Cultural Scenarios inspired by Free & Open-Source Software. CrossTalks, VUB Brussels University Press 2005. https://web.archive.org/web/20070702065529/http://crosstalks.vub.ac.be/publications/howopenisthefuture/crosstalks_book1.pdf
Üldine arendusmudel:
- https://melsatar.wordpress.com/2012/03/15/software-development-life-cycle-models-and-methodologies/
- http://www.slideshare.net/RiantSoft123/different-types-of-software-development-model
- http://www.itinfo.am/eng/software-development-methodologies/
- https://www.tutorialspoint.com/sdlc/sdlc_overview.htm
- https://www.tutorialspoint.com/sdlc/sdlc_quick_guide.htm
- http://www.the-software-experts.com/e_dta-sw-process.php
- http://www.iim.ftn.uns.ac.rs/casopis/volume1/ijiem_vol1_no4_4.pdf
- http://codebetter.com/raymondlewallen/2005/07/13/software-development-life-cycle-models/
FLOSS mudel: