Cum să construiești o echipă de dezvoltare Kick-Ass Umbraco?
Publicat: 2022-09-29Echipa dvs. de dezvoltare are oamenii, abilitățile și expertiza, dar operațiunile de scalare sunt întotdeauna o provocare atunci când obțineți un nou proiect sau aveți nevoie de o experiență de platformă foarte specifică. Ar trebui să folosiți contractori sau echipe de dezvoltare web externalizate? Această postare va analiza opțiunile pe care le are echipa ta de dezvoltare pentru a gestiona creșterea.
Contractori vs echipe de dezvoltare externalizate vs echipe încorporate
Chiar și atunci când credeți că aveți echipa de dezvoltare potrivită, compania dvs. va fi mereu în căutarea unei expertize în platforme foarte căutate. Toate organizațiile vor pune întrebarea:
„Ar trebui să angajăm mai mult personal pentru a se ocupa de proiectele noastre curente și/sau viitoare sau ar fi mai bună o altă abordare?”
Luarea deciziei corecte nu este întotdeauna cea mai practică, deoarece o varietate de factori pot fi în joc. Vă sună familiar aceste întrebări de mai sus?
- Este aceasta doar o creștere temporară, ceea ce înseamnă că lucrurile vor reveni în cele din urmă la normal?
- Ce se întâmplă dacă următorul proiect necesită abilități diferite față de cele actuale ale personalului tău?
- Veți putea acoperi costul membrilor suplimentari ai echipei în cazul în care vă confruntați cu o lipsă de proiecte în viitor sau va trebui să lăsați oamenii să plece?
- Cum poți sprijini proiectele existente și să asumi altele noi în același timp, fără să investești continuu în oameni noi (și infrastructură)?
Contractorii #1
„Închiriați” un dezvoltator (sau doi, sau trei) de la o companie care le oferă o anumită sumă de timp și bani și îi puneți să lucreze la unul sau mai multe proiecte sau să sprijine proiectele existente.
Îi gestionați pentru timpul în care vă „aparțin” și îi determinați să facă orice lucru de care aveți nevoie. Este o modalitate de a-ți crește în mod artificial echipa pentru perioade scurte de timp, fără a fi nevoie să angajezi.
Avertismente implicate:
Din nou, va trebui să faci un pic de HR acolo – faptul că o altă companie a sugerat o anumită persoană nu înseamnă că este cu siguranță persoana potrivită pentru job. Vor trebui efectuate interviuri, iar noul dezvoltator va trebui să se adapteze la ceea ce trebuie să le oferiți foarte repede – ceea ce nu este întotdeauna cazul.
În sfârșit, să spunem că totul merge bine și treaba este gata. Dezvoltatorul pleacă și aceeași persoană s-ar putea să nu fie disponibilă atunci când aveți nevoie de ele din nou, ceea ce înseamnă că va trebui să treceți din nou prin întregul proces.
#2 Echipe de dezvoltare externalizate
Outsourcing înseamnă, în general, că treceți printr-un proces de găsire a unei companii de încredere și de a le atribui un proiect, așteptându-vă să obțineți rezultate într-un interval de timp bine definit, cu un domeniu de aplicare și specificații bine definite.
Acest lucru funcționează cel mai bine atunci când preiei un proiect pentru care echipa ta internă nu are expertiză sau experiență semnificativă, dar vrei totuși să fii implicat fără să investești în angajarea și/sau formarea de oameni.
Avertismente implicate:
- Va trebui să verificați oamenii sau compania cu care veți lucra, ceva care necesită timp și probabil bani - sau va trebui doar să vă asumați un risc mare.
- De asemenea, va trebui să aveți un domeniu de aplicare fix și specificații perfecte și, probabil, desemnați un manager de proiect de partea dvs. pentru a urmări și a ghida cealaltă parte în fiecare pas al drumului.
- Lucrurile pot merge cu ușurință în sud din cauza comunicării proaste sau a specificațiilor prost scrise și există mii de cazuri în care acest lucru s-a întâmplat.
Și nu vorbim deloc despre abordări agile aici - doar uitați-l, cu excepția cazului în care ați lucrat cu aceiași oameni din nou și din nou.
#3 Echipa de dezvoltare încorporată
Aceasta este o abordare mai hibridă, în sensul că nu ai un singur dezvoltator, ci mai degrabă un grup de oameni care se cunosc și au experiență de lucru împreună.
Acești oameni sunt apoi „încorporați” în actuala echipă internă, urmând procedurile și metodologiile și în cele din urmă crescând productivitatea generală.
Avertismente implicate:
Ca și înainte, veți introduce un „corp străin” în compania dumneavoastră și veți dori ca acesta să fie integrat imediat cu personalul existent – și știm, cel puțin din medicina modernă, că un organism – cum ar fi compania dvs. – este nevoie de timp pentru a integra corpurile străine și uneori eșuează.
În cele din urmă, poate funcționa mai bine decât alternativele de mai sus, dar va trebui să investiți o cantitate semnificativă de efort în acest lucru.
Sugestia noastră: Echipa de dezvoltare As-A-Service
(Sau, așa cum îl numesc alții, SDaaS – Dezvoltare software ca serviciu)
Aceasta este o abordare și mai hibridă decât echipa de dezvoltare încorporată și (în opinia noastră) cea mai rentabilă și care aduce cele mai bune rezultate.
Pe scurt, obțineți o echipă de dezvoltare integrată ca și anterior, dar de data aceasta nu trebuie să vă pese cu adevărat de dimensiunea echipei și nici de abilitățile lor ca indivizi – echipa va avea inițial un reprezentant, de obicei unul dintre dezvoltatori. , care va fi responsabil pentru „conectarea” dezvoltatorilor dvs. interni (dacă aveți) cu acesta, să facă toate comunicările și să-și aducă la curent colegii.
Atribuiți munca acelei echipe și plătiți pentru orele petrecute lucrând.
Aceasta înseamnă că, pentru o sarcină sau un proiect urgent, mai mulți membri ai echipei ca serviciu ar trebui să fie implicați pentru a finaliza munca cât mai curând posibil sau că ar putea împărți sarcinile mai puțin urgente între ei și să aibă o persoană face fiecare. Dar de asta se ocupă echipa însăși.
În ambele cazuri, obțineți aceeași scalabilitate ca și cum ați obține cu cloud-ul atunci când rulați un server web - este acolo când aveți nevoie de el și nu trebuie să plătiți pentru el atunci când nu aveți nevoie.
Pe termen lung, pe măsură ce echipa de la distanță devine din ce în ce mai familiarizată cu membrii echipei interne, propria experiență, procesele și modul dumneavoastră de lucru, comunicațiile se pot extinde și toți dezvoltatorii pot participa.
Nevoia de un intermediar a dispărut de obicei până atunci și ajungeți să aveți o echipă scalabilă, la fel ca una încorporată, pe care o puteți gestiona și utiliza după cum aveți nevoie, în funcție de volumul de lucru actual.
Avertismente implicate:
Spre deosebire de utilizarea serviciilor cloud într-un mediu IT, acesta este un proces mai gradual care trebuie să se stabilească încredere de ambele părți.
În cele mai multe cazuri, cealaltă companie se va ocupa de procesul de integrare, iar tu va trebui doar să le faci viața mai ușoară, oferind acces și informații acolo unde este nevoie. Uneori, acest lucru poate dura mai mult decât se aștepta, mai ales dacă nu sunteți obișnuit cu acest mod de lucru. Dar asta e tot ce este.