Servizi della società di sviluppo software personalizzato
Noi siamo un azienda che crea team digitali remoti per agenzie, fornitori di servizi IT e dipartimenti IT.
Qui discutiamo le sfide, le possibili soluzioni, i vantaggi dell’outsourcing e ulteriori informazioni sullo sviluppo di software personalizzato.
Introduzione: Sfide
Quando si creano soluzioni IT, ci sono molte sfide. Quando si coinvolge un fornitore di terze parti diventa ancora più complesso.
Alcune di queste sfide sono:
- Problemi di trasparenza : Assicurarsi che il fornitore di terze parti fornisca approfondimenti su come viene sviluppato il software e che non ci siano “cortine fumogene” come i project manager e gli addetti alle vendite che impediscono uno sguardo attento ai processi interni.
- Chi lavora al progetto : In alcuni casi il partner che esternalizza il lavoro non sa chi sta effettivamente lavorando al progetto IT. Domande come “Che tipo di programmatori sono coinvolti?”, “Sono tutti professionisti IT esperti?”, “Sono quelli che hanno lavorato ai progetti campione, che sono stati menzionati nella fase di vendita?”, “Ci sono tester/qualità analisti e architetti applicativi coinvolti?”, “O ci sono solo programmatori junior nel team?” rimangono in alcuni casi senza risposta.
- Problemi di fiducia : Quanto è sincero il fornitore di servizi IT? Stanno lavorando per alta integrità? Sono completamente aperti, se succede qualcosa di negativo? O nascondono eventuali problemi che potrebbero sorgere in futuro? Come la manutenibilità o scalabilità del sistema, che può essere rilevata solo in futuro e non subito dopo la consegna del progetto.
- Trasparenza relativa alla fatturazione : Fatturano più ore del necessario? Stanno mettendo un margine troppo ampio sui loro costi?
Di solito la trasparenza su chi sta lavorando al progetto e anche sulle questioni relative alla fatturazione eroderà il rapporto tra il fornitore e il partner che ha esternalizzato il lavoro.
Le ragioni di questi problemi sono da ricercare dal lato delle società di outsourcing, così come dal lato dei partner.
Problemi del fornitore (provider IT):
- Non conosce il comportamento di pagamento del cliente : Il cliente pagherà tutte le sue bollette in tempo? Trascineranno i pagamenti per un lungo periodo di tempo? Non pagheranno le bollette, dicendo che il progetto non è stato consegnato nella giusta qualità o nei tempi giusti? Tutto ciò farà esitare il fornitore di servizi a coinvolgere il suo team “A” nel progetto ed eviterà di dedicare troppo tempo inizialmente, prima di avere risposte a queste domande.
- Non ha le competenze richieste, ma necessita del progetto a causa della struttura dei costi interni : A volte i fornitori di servizi applicativi personalizzati hanno costi mensili elevati, a causa di stipendi e altre spese di infrastruttura (affitto, computer, Internet, spese generali, ecc.). Ciò farà sì che alcuni fornitori prendano progetti, cosa che non possono fare in alta qualità al miglior prezzo possibile. Per far fronte alle loro spese accetteranno comunque il progetto.
- Vuole evitare il bracconaggio dei dipendenti : Nascondendo i programmatori dietro i project manager e gli addetti alle vendite, il fornitore IT farà in modo che venga evitato un possibile bracconaggio di talenti. Perché se il venditore non conosce il comportamento del partner, potrebbe essere che comincino ad assumerlo. Questa “cortina fumogena” causerà problemi di comunicazione, perché tutti i messaggi devono passare attraverso persone diverse, che non aggiungono molto valore alla discussione.
- Vuole assicurarsi che la fatturazione e gli sforzi siano in equilibrio : L’addetto alle vendite potrebbe essere profondamente coinvolto nel processo, in modo da assicurarsi che la fatturazione e gli sforzi siano in equilibrio. Ma questo non aiuterà il progetto in quanto tale ed è invece utile solo per il venditore.
Problemi del partner (cliente):
- Posso essere sicuro che il risultato finale è quello che mi aspettavo?: Quando un team di 5 persone lavora per 7 mesi al progetto, tutte le bollette vengono pagate e l’applicazione viene consegnata, sarò sicuro di ottenere una soluzione scalabile e gestibile? Questo il partner può saperlo solo dopo diversi mesi di test interni, oltre a ulteriori feedback da parte dei clienti finali.
- Pagherò più del dovuto per servizi di bassa qualità?: Come accennato all’inizio, il partner non può essere sicuro di chi sta lavorando all’applicazione, se manca la trasparenza. Ciò a sua volta potrebbe influire sulla qualità dell’output.
- Come posso assicurarmi che il prodotto possa essere mantenuto in futuro?: E per quanto riguarda gli standard di codifica, la documentazione e la manutenibilità? Il nostro team o un team di un altro fornitore può sapere facilmente cosa sta succedendo all’interno del codice e basarsi su di esso? Queste sono cose che sono importanti nello sviluppo di software personalizzato. Perché una buona percentuale di progetti fallisce in questa fase successiva.
Possibili soluzioni
Il fornitore di terze parti che costruisce l’applicazione deve essere sicuro di essere remunerato per i suoi servizi e dall’altra parte vuole lavorare con partner affidabili.
Il partner vuole assicurarsi di ottenere il miglior rapporto qualità-prezzo con un budget ragionevole. Una soluzione scalabile, veloce e manutenibile.
Abbiamo lavorato molti anni con diversi clienti provenienti da tutto il mondo. Ad essere onesti: alcuni di questi progetti sono falliti, per i motivi menzionati all’inizio del testo.
Dal 2014 abbiamo cambiato il nostro modello per fornire esperti IT dedicati ai nostri partner, questo è stato il punto in cui le cose sono diventate molto positive. Con la maggior parte dei clienti di quei tempi lavoriamo ancora oggi.
Come funzionano i team dedicati
Invece di svolgere la tradizionale collaborazione in outsourcing, in base alla quale il fornitore si prende tutti i requisiti dall’inizio alla fine, ci sarà un maggiore coinvolgimento da parte del cliente.
Per questo sono necessarie le seguenti cose da parte del partner:
- a) Un project manager : Questa persona dovrebbe aver già realizzato progetti relativi allo sviluppo di applicazioni. Avrà così la conoscenza delle sfide che possono sorgere nei progetti IT e di come risolverle.
- b) Un esperto di codifica : Qualcuno dalla parte del partner, che conosce la programmazione al rovescio. Ciò assicurerà che la programmazione consegnata possa essere verificata dall’azienda partner. Molto rapidamente qualsiasi problema può essere trovato in questo modo.
Per risparmiare manodopera, il project manager potrebbe essere anche la persona che è l’esperto di codifica.
Le seguenti cose sono richieste dal lato fornitore:
- a) Accesso diretto ai programmatori: Il venditore darà accesso diretto agli sviluppatori, in modo da assicurarsi che la comunicazione sia fluida e che vengano evitate lacune nella comunicazione. Nella maggior parte dei casi l’esperto IT lato fornitore e l’esperto di codifica lato partner troveranno la giusta soluzione ai problemi architetturali che potrebbero sorgere.
- b) Una voce in capitolo nella selezione dei membri del team : Il fornitore darà al partner la possibilità di selezionare i membri del team che lavoreranno al progetto. Questo è importante, poiché il partner potrebbe avere la propria cultura del lavoro, requisiti di qualità e propri strumenti IT e di gestione dei progetti. Per questo il venditore fornirà i CV dei programmatori e il cliente può selezionare di conseguenza.
- c) Possibilità di visitarsi : Il fornitore di servizi di sviluppo software dovrebbe consentire al cliente di visitare la propria sede o ai membri del team di visitare il cliente, se necessario. Ciò assicurerà che venga creato un legame più forte tra i team in loco e fuori sede. Incontrarsi direttamente farà una grande differenza per la collaborazione del team.
Ecco un video esplicativo su come potrebbe apparire un tale processo:
Conclusione
Collaborazione con società esterne per lo sviluppo di software personalizzato può essere una buona idea. Soprattutto se la manodopera richiesta non è disponibile all’interno della propria squadra.
Farlo funzionare può essere una sfida a volte. Secondo diversi studi e la nostra esperienza, una buona parte dei progetti IT fallisce. Le ragioni di ciò e le possibili soluzioni sono menzionate in questo testo.
Qual è la tua esperienza con l’outsourcing del software? Vorremmo sentirti.
Articoli interessanti:
I migliori sviluppatori per lo sviluppo personalizzato
Software Design and Development by oxagile – se stai cercando un approccio agile
Immagini: Flickr.com/ Official GDC/ Sonin
L’autore: Sascha Thattil lavora come CEO e project manager presso www.Software-Developer-India.com che fa parte del gruppo YUHIRO. YUHIRO è un’impresa tedesco-indiana che fornisce programmatori ad aziende IT, agenzie e dipartimenti IT di piccole e medie dimensioni.