Tarkvara- ja ärimudeli analüüs Netflixi näitel

 Tuntumad tarkvaraarenduse mudelid on kosemudel ja agiilsed mudelid, lisaks on veel olemas V-mudel, samm-sammuline, iteratiivne, spiraal- ja kiirarenduse mudel. Ühtegi neist ei saa vast kategoriseerida heaks ega halvaks, küsimus on pigem selles, mida ja mis ajaraamistikus arendatakse.

Olgugi, et mul ei ole võimalik täpselt teada, mis toimub teiste ettevõtete arendusmeeskondades, siis erinevatest allikatest võib arvata, et Netflixi arendatakse kasutades agiilseid arendusmeetodeid. Samuti püüavad nad hoida DevOps (development + operations) kultuuri, mis ühildab tarkvaraarendust ja tarkvaraoperatsioone, ning tähendab muuhulgas, et püütakse kõikidel tarkvaraarenduse etappidel võimalikult palju protsesse automatiseerida ja jälgida ning hoida arendus- ja juurutamistsüklid võimalikult lühikesed.

Hinnanguliselt 71% erasektori ettevõtetest kasutavad agiilseid arendusmeetodeid, mis teeb sellest hetkel kõige levinuma arendusmeetodi. Põhjus on ilmselt selles, et tänapäeva kiirelt muutuvasse maailma sobib see imehästi.

Agiilne arendus (vt ka https://agilemanifesto.org) tähendab, et:

  • inimesed ja suhtlus on tähtsamad kui protsessid ja tööriistad;
  • töötav tarkvara on tähtsam kui põhjalik dokumentatsioon;
  • kliendiga tuleks teha pigem koostööd, mitte lepingutes näpuga järge ajada;
  • muutustega tuleb kaasa minna, mitte kinni jääda mingisse kindlasse plaani.
Need põhimõtted toovadki kaasa mitmed positiivsed küljed:
  • arendusprotsess on paindlik - kuna tööd planeeritakse tihti lühikeste, enamasti paarinädalaste, sprintidena, siis on võimalik pärast sprinti tulemused üle vaadata ja vajadusel suunda muuta;
  • kasutajad saavad töötava tarkvara järk-järgult väikeste osadena kätte ehk siis neil on koheselt võimalik tagasisidet anda ja arendusmeeskonnal tulemusi jälgida;
  • arendusprotsess on läbipaistev - probleemid tulevad kiiresti välja ja neid saab ka kiiresti parandada ning töö tulemusi on pidevalt näha.
Negatiivsetest külgedest võiks välja tuua:
  • arendusprotsessi aega ja kulusid on keeruline hinnata, kuna "pikka plaani" otseselt ei ole ja eesmärgid muutuvadki kogu aeg;
  • dokumentatsiooni kirjutatakse üldiselt väga vähe. Samas see ei pruugi alati ka miinus olla. Kui kood on hästi kirjutatud, siis ei ole dokumentatsiooniks suurt vajadust. Samuti kulub ka dokumentatsiooni haldamisele pidevalt ressursse.



Ärimudelitest pakub Netflix oma tarkvara teenusena (software as a service ehk SaaS). See tähendab, et kasutajad maksavad iga kuu teenustasu ning seejärel saavad nad veebilehe (või äpi) kaudu filme ja seriaale vaadata.
Tarkvara teenusena pakkumise positiivseteks külgedeks on:
  • pidev sissetulek - kuna kasutajad maksavad igakuist teenustasu, siis on üsna lihtne tulusid ette ennustada;
  • tarkvara skaleeritavus - kuna tarkvara pakutakse pilveteenusena, siis on kasutajate hulga suurenemisel lihtne sellega kaasa minna;
  • lihtne uuendada - pilveteenusena pakutavat tarkvara on võimalik pidevalt uuendada nii, et kasutajatele sellest katkestusi ei teki.
Negatiivseteks külgedeks võiks lugeda:
  • tarkvara kättesaadavus sõltub internetiühendusest, mis muuhulgas võib piirata ka potentsiaalsete kasutajate hulka;
  • kõikide andmete pilves hoidmine võib osutuda turvariskiks.




https://netflixtechblog.com/full-cycle-developers-at-netflix-a08c31f83249
https://medium.com/scrum-alliance/the-netflix-brand-of-agile-6ea9a0e7f2b8
https://akit.cyber.ee/term/8926-devops
https://agilemanifesto.org
https://www.indeed.com/career-advice/career-development/pros-cons-of-agile-methdology
https://medium.com/@vlad.koval/the-pros-and-cons-of-saas-development-6e5bb2e036d6

Comments

Popular Posts