Come costruire un team di sviluppo Umbraco eccezionale?
Pubblicato: 2022-09-29Il tuo team di sviluppo ha le persone, le capacità e l'esperienza, ma le operazioni di ridimensionamento sono sempre difficili quando ottieni un nuovo progetto o richiedi un'esperienza di piattaforma molto specifica. Dovresti usare appaltatori o team di sviluppo web in outsourcing? Questo post esaminerà le opzioni che il tuo team di sviluppo ha per gestire la crescita.
Appaltatori vs team di sviluppo in outsourcing vs team incorporati
Anche quando pensi di avere il giusto team di sviluppo, la tua azienda sarà sempre alla ricerca di competenze di piattaforma molto ricercate. Tutte le organizzazioni faranno la domanda:
"Dovremmo assumere più personale per affrontare i nostri progetti attuali e/o futuri o sarebbe meglio un altro approccio?"
Prendere la decisione giusta non è sempre la più pratica, poiché possono essere in gioco una varietà di fattori. Queste domande sopra suonano familiari?
- È solo un'impennata temporanea, il che significa che le cose alla fine torneranno alla normalità?
- E se il prossimo progetto richiede competenze diverse da quelle attuali del tuo staff?
- Sarai in grado di coprire il costo dei membri del team aggiuntivi nel caso in cui dovessi affrontare una carenza di progetti in futuro o dovrai lasciare andare le persone?
- Come puoi sostenere progetti esistenti e assumerne di nuovi allo stesso tempo senza investire continuamente in nuove persone (e infrastrutture)?
#1 Appaltatori
"affitti" uno sviluppatore (o due, o tre) da un'azienda che fornisce loro una specifica quantità di tempo e denaro e li fa lavorare su uno o più progetti o supporta progetti esistenti.
Li gestisci per il tempo in cui "appartiene" a te e li fai fare qualsiasi lavoro di cui potresti aver bisogno. È un modo per far crescere artificialmente il tuo team per brevi periodi di tempo senza dover assumere.
Avvertenze coinvolte:
Anche in questo caso, dovrai fare un po' di risorse umane lì: il fatto che un'altra azienda abbia suggerito una persona specifica non significa che sia sicuramente la persona giusta per il lavoro. Dovranno essere eseguite interviste e il nuovo sviluppatore dovrà adattarsi a ciò che devi fornire loro molto rapidamente, il che non è sempre il caso.
Infine, diciamo che tutto va bene e il lavoro è fatto. Lo sviluppatore se ne va e la stessa persona potrebbe non essere disponibile quando ne avrai bisogno di nuovo, il che significa che dovrai ripetere l'intero processo.
#2 Team di sviluppo in outsourcing
L'outsourcing generalmente significa che si passa attraverso un processo per trovare un'azienda affidabile e assegnare loro un progetto, aspettandosi di ottenere risultati in un lasso di tempo ben definito, con un ambito e specifiche ben definiti.
Funziona meglio quando si assume un progetto per il quale il team interno non ha competenze o esperienze significative, ma si desidera comunque essere coinvolti senza investire nell'assunzione e/o nella formazione di persone.
Avvertenze coinvolte:
- Dovrai controllare le persone o l'azienda con cui lavorerai, cosa che richiede tempo e probabilmente denaro, o dovrai semplicemente correre un grosso rischio.
- Dovrai anche avere un ambito fisso e specifiche perfette e probabilmente assegnare un project manager dalla tua parte per guardare e guidare l'altra parte in ogni fase del processo.
- Le cose possono andare male facilmente a causa di una cattiva comunicazione o di specifiche scritte male, e ci sono migliaia di casi in cui ciò è accaduto.
E non stiamo affatto parlando di approcci agili qui: dimenticalo, a meno che tu non abbia lavorato con le stesse persone più e più volte.
# 3 Team di sviluppo integrato
Questo è un approccio più ibrido, nel senso che non ottieni un singolo sviluppatore ma piuttosto un gruppo di persone che si conoscono e hanno esperienza di lavoro insieme.
Queste persone vengono quindi "integrate" nel tuo attuale team interno, seguendo le tue procedure e metodologie e, infine, aumentando la tua produttività complessiva.
Avvertenze coinvolte:
Come prima, introduci un "corpo estraneo" nella tua azienda e vorrai che sia integrato subito con il tuo personale esistente - e sappiamo, almeno dalla medicina moderna, che un organismo - come la tua azienda – ci vuole tempo per integrare i corpi estranei e, a volte, fallisce.
Alla fine, potrebbe funzionare meglio delle alternative di cui sopra, ma dovrai investire una notevole quantità di sforzi in questo.
Il nostro suggerimento: Team di sviluppo As-A-Service
(O, come altri lo chiamano, SDaaS – Software Development as a Service)
Questo è un approccio ancora più ibrido rispetto al team di sviluppo integrato e (a nostro avviso) il più conveniente e con i migliori risultati.
In poche parole, ottieni un team di sviluppo integrato come in precedenza, ma questa volta non devi preoccuparti delle dimensioni del team né delle loro capacità come individui: il team inizialmente avrà un rappresentante, di solito uno degli sviluppatori , che sarà responsabile di "connettere" i tuoi sviluppatori interni (se ne hai) con esso, fare tutte le comunicazioni e aggiornare i loro colleghi.
Assegni il lavoro a quella squadra e paghi per le ore che trascorrono a lavorare.
Ciò significa che, per un compito o un progetto urgente, dovrebbero essere coinvolti diversi membri del team-as-a-service per completare il lavoro il prima possibile, o che potrebbero dividere tra loro compiti meno urgenti e avere una persona fa ciascuno. Ma questo è qualcosa di cui si occupa la squadra stessa.
In entrambi i casi, ottieni la stessa scalabilità che otterresti con il cloud quando esegui un server Web: è lì quando ne hai bisogno e non devi pagarlo quando non lo fai.
A lungo termine, man mano che il team remoto acquisisce sempre più familiarità con i membri del tuo team interno, la loro esperienza, i tuoi processi e il tuo modo di lavorare, le comunicazioni possono ampliarsi e tutti gli sviluppatori possono partecipare.
La necessità di un intermediario di solito scompare a quel punto e si finisce per avere un team scalabile, molto simile a uno incorporato, che puoi gestire e utilizzare in base alle tue esigenze a seconda del tuo carico di lavoro attuale.
Avvertenze coinvolte:
Contrariamente all'utilizzo dei servizi cloud in un ambiente IT, questo è un processo più graduale che richiede la creazione di fiducia da entrambe le parti.
Nella maggior parte dei casi, l'altra società gestirà il processo di integrazione e tu dovrai solo semplificare loro la vita fornendo accesso e informazioni dove necessario. A volte questo può richiedere più tempo del previsto, soprattutto se non sei abituato a questo modo di lavorare. Ma questo è tutto quello che c'è da fare.