Firma de outsourcing sau de produs in IT?
In industria IT firmele si marile companii multinationale isi organizeaza fiecare activitatea de business in functie de mai multe conditii si factori. Strategia adoptata de fiecare in parte a condus in ultimele decenii la un criteriu de clasificare major al companiilor ce dezvolta software: cele care fac outsourcing si cele care dezvolta produse.
Mai ales in ultimii ani aceasta distinctie a devenit una populara in randul celor pasionati de IT, care doresc sa intre in acest domeniu, sau chiar si in randul celor care doar au auzit de acesti termeni. In continuare vom analiza ce inseamna mai exact acesti termeni in raport cu activitatea propriu-zisa din IT.
Modelul de activitatea al unei companii de IT – un criteriu esential
Desigur, exista foarte multe criterii pe baza carora firmele din IT pot fi clasificate si se poate discuta ulterior in diverse analize pe nivel financiar, de business sau tehnic. Insa acest criteriu, al modelului de activitate fata de clienti, s-a erijat ca fiind unul cu adevarat esential.
Motivul principal este acela ca foarte multe corporatii ajung sa fie recunoscute ulterior pe baza acestui criteriu, unele sunt cunoscute ca mari firme de produs, altele ca furnizoare importante de servicii pentru clienti externi.
Acest model defineste ulterior restul deciziilor care se iau la nivel de strategie: cum si in ce ritm se dezvolta produsele d.p.d.v tehnic, cum se gasesc clientii, cum se vand produsele, modul in care se promoveaza compania respectiva pe piata (marketing, branding etc.). Sa vedem in continuare cu ce se ocupa fiecare tip din cele doua enumerate.
Firma de outsourcing in IT
Primul model de care discutam este cel al firmei care se ocupa cu outsourcing-ul. Dar ce inseamna mai precis asta? Concret, aceasta firma dezvolta produse software (website-uri, aplicatii desktop, servicii de backend, aplicatii mobile, interfete etc.) la cererea unor clienti externi care vin catre ea si solicita in mod expres produsul X.
Ca sa dezabstractizam aceasta definire, putem lua exemplul unei banci proaspat infiintate. Ca orice banca care se respecta in sec. XXI, are nevoie de un website functional si usor de folosit de catre clienti unde acestia sa faca tranzactii, sa isi verifice sold-ul din cont s.a.m.d, plus de o aplicatie echivalenta pe mobil.
Dar aceasta banca nu are ingineri software angajati si nu doreste sa isi formeze o astfel de echipa proprie. Si atunci ea va apela la serviciile oferite de una dintre firmele de outsourcing care se ocupa cu dezvoltarea unor produse similare, care sa indeplineasca cerintele clientului care le solicita, in cazul nostru al bancii.
Astfel, modelul de business privind outsourcing-ul, dupa cum reflecta si numele sau, este acela de a primi cereri punctuale de la clienti pentru dezvoltarea anumitor produse software. Sigur, e foarte greu ca o firma de IT de acest fel sa faca absolut orice fel de aplicatie din orice domeniu, si de aceea exista si aici o anumita nisare a activitatii (exemplu: firma respectiva lucreaza doar cu clienti din domeniu bancar, sau dezvolta doar aplicatii mobile).
Termenul de “outsourcing” e destul de popular in Romania si nu numai deoarece piata locala de IT este orientata preponderant spre acest model de activitate, din numeroase motive. IT-istii romani au fost si sunt apreciati pentru faptul ca livreaza in general servicii de calitate, costul cu forta de munca e relativ scazut comparativ cu Occidentul, iar fusul orar intermediar intre Occident/SUA si Asia favorizeaza lucrul cu echipele mixte pentru anumiti clienti.
Care ar fi pe scurt cateva dintre avantajele pe care le poate oferi activitatea in cadrul unei firme ce se ocupa cu outsourcing-ul:
- Diversitatea proiectelor: acestea se succed intr-un ritm mai alert, poti sa stai o perioada mai mica pe un proiect apoi sa te muti pe altul.
- Se poate lucra cu mai multe tehnologii, in functie de cerintele clientului si de ce presupune proiectul respectiv.
- Posibilitatea de a cunoaste mai multe domenii pentru care se dezvolta soft-uri, nu doar a unuia, dar aici depinde de clientii pe care firma de outsourcing ii accepta.
Printre dezavantajele modelului de outsourcing se regasesc:
- Instabilitatea pe anumite proiecte, unele se pot inchide destul de neasteptat, sau anumiti oameni pot fi mutati destul de usor dupa prioritati.
- Faptul ca daca schimbi prea des proiectul, exista riscul sa nu ajungi sa aduci o contributie prea mare pe el si nici sa cunosti stack-ul tehnologic ce se folosea acolo.
- Deadline-uri mai stranse, care de multe ori sunt negociate strict cu un client si cu greu pot fi amanate.
Firma de produs in IT
Al doilea model din aceasta discutie este cel al companiilor de IT care dezvolta produse proprii, pe care ulterior tot ea le vinde catre o anumita clientela de pe o piata foarte bine tintita, ce are nevoie de respectivul produs (sau produse).
Ca sa intelegem mai usor, ne vom uita si aici la unele exemple. Si probabil cea mai usoara modalitate este sa ne gandim la una din marile corporatii din intreaga lume care dezvolta produse proprii si le vinde catre milioane de utilizatori, si anume Microsoft.
Unul dintre produsele cele mai populare pe care Microsoft le-a dezvoltat si il are in continuare in portofoliu este arhicunoscutul sistem de operare Windows, care din 1985 este dezvoltat sub iteratii continue, imbunatatit si vandut catre oameni. In acest caz, Windows este un produs specific, dezvoltat in-house de catre si doar de catre Microsoft, pe care il detine in totalitate, si il vinde in intreaga lume, organizandu-si propria strategie de promovare si vanzare.
In niciun caz nu vine un client oarecare la Microsoft si le cere un sistem de operare dedicat, facut special pentru acel client si atat. Sigur, pe langa Microsoft, exista numeroase corporatii multinationale care se incadreaza in acest model de produs, precum Google, Meta (Facebook), Netflix, Amazon sau Apple.
Si in cazul companiilor de produs, ca si la outsourcing, clientii care folosesc acel produs pot sa vina cu feedback catre companie astfel incat ea sa imbunatateasca respectivul produs, sa ii corecteze eventualele erori, sau chiar sa dezvolte noi functii daca utilizatorii au cu adevarat nevoie de ele.
Avantajele unei companii de produs:
- O stabilitate extrem de mare pe zona de proiecte care se afla deja in piata, riscul ca acestea sa se inchida e mai mic decat la o companie de outsourcing unde dupa ce e livrat un serviciu, se intra in zona de mentenanta.
- Cunoasterea si intelegerea superioara a produsului, unde datorita stabilitatii, poti acumula mult mai multe cunostinte despre un anume produs si sa devii cu adevarat expert in el.
- Implicare mai mare pentru dezvoltarea si verificarea unui produs care poate ajunge la un numar insemnat de oameni, si care are o vizibilitate mai mare pe piata globala.
Printre dezavantajele ce se disting pentru o companie de produs:
- Limitarea proiectelor si a tehnologiilor folosite, deoarece dinamica nu e la fel de mare ca intr-o companie de outsourcing unde fiecare nou proiect poate insemna tehnologii noi si experiente diferite.
- Responsabilitate si presiune mai mari, ca urmare ca dincolo de satisfacerea cerintelor de business, exista si o presiune de a apara (re)numele companiei.
- Management mai strict pe zona de dezvoltare de produs, ca urmare a faptului ca deciziile si filosofia produsului se iau toate in-house, si nu sunt cerute de catre un client extern.
Startup-ul in IT
Un model de companie din IT care este oarecum la mijloc intre cele doua mari categorii despre care am discutat anterior este startup-ul. Acesta este o companie proaspat infiintata, care cauta diferite surse de finantare de la diversi sponsori sau fonduri de investitii care garanteaza pentru ideea de produs pe care acel startup promite ca o va dezvolta intr-un business de succes.
Un startup de regula este o companie de produs, in sensul in care un om au un grup de oameni se decid sa infiinteze acea firma, si sa atraga investitori pentru idee si produsul lor. In acelasi timp, se aseamana cu zona de outsourcing pentru ca la inceputuri, activitatea intr-un startup este extrem de dinamica, oamenii angajati au o multitudine de sarcini (un programator s-ar putea sa se ocupe putin si de bazele de date), si nu exista o stabilitate prea mare, cel putin la inceput.
De asemenea, un startup cauta la inceput sa isi lanseze ideea doar pentru anumiti clienti, pe care sa ii convinga sa finanteze ulterior acel produs, si abia apoi sa il lanseze pentru intreaga piata. Probabil cel mai celebru startup din ultimii doi ani care a devenit extrem de cunoscut datorita aplicatiei sale care e folosita azi de milioane de oameni este OpenAI care a lasnat Chat GPT, cumparata ulterior de Microsoft.
Care e perspectiva pentru fiecare optiune?
Exista mai multe discutii pe internet in legatura cu perspectivele pe care le poti avea, din punct de vedere profesional, intr-o companie de outsourcing sau intr-una de produs. Cu alte cuvinte, unde te poti potrivi cel mai bine?
Desigur, ca in cele mai multe situatii cu intrebari de genul acesta, raspunsul meu este acelasi: depinde. Unele articole si opinii din online cauta sa induca ideea ca intr-o parte e obligatoriu mai bine decat in cealalta, lucru care este gresit. Nu putem emite judecati de valoare, intrucat vorbim de doua categorii diferite, cu avantajele si dezavantejele specifice fiecareia.
In functie de acestea si de cultura organizationala specifica, exista insa sanse ca personal sa ne placa mai mult intr-o parte sau in cealalta. Daca spre exemplu esti o persoana care vrea sa experimenteze cat mai multe tehnologii noi, sa nu stea prea mult timp intr-o singura echipa, mediul sa fie cat mai dinamic si sa existe o relatie ceva mai directa cu clientul, atunci o firma de outsourcing este o alegere mai potrivita.
Daca insa preferi stabilitatea pe termen mediu si lung, vrei sa faci parte dintr-o echipa cu o componenta mai stabila si omogena, sa te specializezi pe o anumita tehnologie (limbaj de programare, framework, librarie etc.) sau pe un anumit domeniu de activitate pentru care se dezvolta produse software, atunci firma de produs ar fi mai de preferat.
Ideea de startup este si ea super buna mai ales la inceputul carierei, deoarece te pune in situatia de a lucra si a experimenta mai multe roluri in paralel, nu doar unul ca intr-un mediu corporate. Poti avea sansa sa vezi de la inceput ce inseamna deadline-uri mai stranse, cum e sa experimentezi des tehnologii noi (pana le alegi pe cele potrivite), si chiar sa te gandesti la specializari conexe sau alternative (sa faci mai usor tranzitia de la tester manual la automation, de la programare sa vezi cum e zona de DevOps si multe altele).
Deci se poate observa ca nu exista o reteta perfecta si vreun punct fara de intoarcere. Ca sa ne putem face fiecare o idee cat mai realista, e bine sa experimentam mai multe medii de lucru. Nici macar toate companiile de outsourcing sau de produs nu sunt la fel, asa ca rabdarea este cheia in aceasta discutie.
Concluzii
In incheiere, criteriul privind modelul de activitate al business-ului in industria IT a conturat doua categorii principale de companii, cele de outsourcing care realizeaza servicii la cerere, si cele de produs care dezvolta in-house idei ce le valorifica pe cont propriu pe piata, cu subspecia startup-ului care ar fi pe undeva la mijloc ca mod de organziare.
Fiecare din cele 2 tipuri de firme prezinta avantajele si dezavantajele sale, si in functie de personalitate, de preferinte si de obiectivele tale profesionale, s-ar putea sa iti placa mai mult intr-o zona sau in cealalta. Nu exista „un loc ideal in IT”, cele doua modele fiind diferite din perspectiva dezvoltarii tehnice, a culturii organizationale si a managementului dezvoltarii.
Surse pe acest subiect
Un articol general despre subiectul outsourcing vs. product in IT
O discutie pe un thread de pe Reddit
Un articol cu podcast care clarifica anumite mituri din dezbaterea Outsourcing vs. Product in IT
O alta opinie argumentata despre Outsourcing vs Product de pe Medium.com
Top 20 companii de produs din lume in 2024
Top 25 companii de outsourcing din lume in 2024