Sviluppo software - Progetto, 1 programmatore - Cosa succede se viene colpito dal bus?

19

La società per cui lavoro attualmente mi ha aiutato a sviluppare una serie di software mission-critical interni. Ho un'altra persona che lavora per me, ma lui è più un ragazzo di test e non proprio uno sviluppatore. La compagnia è preoccupata per alcuni di questi progetti e cosa succede se sono investito da un autobus. Come fa la compagnia a riprendersi dopo una cosa del genere quando c'è una sola persona che conosce il codice base. Una persona che conosce lo stato corrente del progetto.

Ho spiegato che con la mia documentazione e con la documentazione contenuta nel codice che avrebbero davvero bisogno solo di assumere un altro programmatore che comprendesse le lingue utilizzate e che avrebbero potuto accelerare abbastanza rapidamente.

Hanno suggerito una società esterna che potrebbe essere "aggiornata" su base mensile che potrebbe "subentrare" nel caso in cui qualcosa fosse accaduto. Semplicemente non vedo come questo possa essere utile al di là del pagamento di qualcuno per il gusto di pagarli. Peggio ancora, immagino che un giorno al mese venga sprecato a discutere del progetto con questa società di consulenza. Vedo come potrebbe essere utile, ma non lo ritengo più utile dell'assunzione di un programmatore dopo la mia prematura scomparsa.

Pensieri? Situazione simile e come viene gestita attualmente dove lavori?

    
posta Ominus 16.12.2011 - 22:15
fonte

11 risposte

21

Sfortunatamente ciò che stanno facendo è "mettere tutte le uova in un unico cesto".

Lavorare con una società esterna è abbastanza probabile che fornisca loro entrate, ma dubito seriamente che ne varrà la pena. La documentazione appare sempre bella e chiara quando la scrivi. Il problema è che sai solo quanto vale quando qualcun altro prova a leggerlo - qualcuno che conosce a malapena qualcosa (tecnico) sul progetto (all'interno del).

Ad ogni modo, leggere un codice completo di cui non si sa nulla è possibile, potrebbe richiedere solo molto tempo (molto più di quanto le aziende possano permettersi).

La loro migliore scommessa onesta è quella di assumere qualcuno che lavori con te (rigorosamente non sotto nessuna delle tue indicazioni) per un certo periodo di tempo e di testare quanto tempo impiega per raggiungere un punto in cui può capire e modificare parti importanti del progetto.

Se ci vuole più tempo di quanto potrebbero permettersi se te ne andassi, allora dovrebbero seriamente prendere in considerazione l'assunzione di uno o più programmatori permanenti (a tempo pieno o parziale), e non lasciare mai che prendano lo stesso bus. :)

In ogni caso, i bravi programmatori che partono improvvisamente peggiorano le cose.

    
risposta data 16.12.2011 - 22:36
fonte
12

Spero che tu non venga colpito da un autobus! Hai ragione, non vedo il valore di farlo. Innanzitutto, l'altra società addebiterà un importo più vicino a uno sviluppatore a tempo pieno e criticherà le cose e rallenterà. Potrebbero chiedere troppi risultati e spiegazioni da parte tua. Inoltre, non vi è alcuna garanzia reale che saranno in grado di raccogliere, poiché non ci sarà alcuna possibilità di testarli prima che sia loro richiesto di prendere il sopravvento.

Suggerisco che l'azienda investa in un altro sviluppatore. Questo sviluppatore non deve essere al tuo livello di esperienza, ma il tempo trascorso con lui / lei sarebbe un investimento per il progetto. Avrai molte opportunità per testare la sua comprensione dal momento che lavorerà a stretto contatto con te.

Assicurati di non guidare la stessa auto quando vai a pranzo:)

    
risposta data 16.12.2011 - 22:30
fonte
5

Una soluzione che avrebbe davvero valore è assumerti un mentore. Questo è un servizio che fornisco alle aziende di software che sono locali per me. Visito per mezza giornata alla settimana o al giorno a settimana. Ogni visita fornisce un valore immediato come assicurarsi che gli sviluppatori stiano usando le migliori pratiche, insegnando loro le nuove cose che devono imparare, dando loro la possibilità di essere esposti a cose nuove dal momento che sono solitamente impegnate nella programmazione e non vanno ai lanci e come, risolvendo i bug e i blocchi stradali immediati, spiegando cose che non sanno come fare e così via. A volte, gestisco attività di codifica, soprattutto per one-off in cui il personale avrebbe bisogno di imparare molto per svolgere il compito, e quindi non avrebbe più bisogno di farlo di nuovo. Posso anche gestire progetti come ottenere un piano di disaster recovery scritto - ha bisogno di risposte da parte degli sviluppatori e del management, ma almeno conosco le domande.

È probabile che un accordo del genere sia meno costoso di quello che il tuo capo sta suggerendo e abbia un valore per te. Ha un effetto collaterale che il mentore apprenderà il tuo sistema e probabilmente sarebbe in grado di addestrare la tua sostituzione se dovessi essere colpito da una lotteria .

    
risposta data 16.12.2011 - 23:39
fonte
1

ISO 9001 in questo settore si occupa dello scenario colpito da un bus . Otterrai i servizi da quella società per consentire alla tua azienda di qualificarsi per quella certificazione? Questa potrebbe essere una domanda interessante da pormi.

O per far andare in circolo in cerca di risposta. (probabilmente suonerebbe molto simile a "no")

    
risposta data 17.12.2011 - 00:53
fonte
1

Sono d'accordo con l'OP. Assumere un altro sviluppatore è meglio. Se la base di conoscenza si trova in un'altra società di cui non hanno alcun controllo, la situazione è altrettanto rischiosa.

A me sembra che vogliano sostituirti con lavori off-shore in cui le persone possono sopravvivere con $ 10 al mese.

    
risposta data 17.12.2011 - 01:39
fonte
1

Hanno bisogno di uno sviluppatore aggiuntivo. È davvero così semplice. Entrambi dovresti lavorare sull'intera base di codice. O almeno avere familiarità con il lavoro reciproco per intervenire per risolvere i problemi in caso di emergenza. Se i budget sono stretti, in teoria potresti addirittura assumere un part time - probabilmente sarebbe sufficiente. Qualcuno che potrebbe mettere in alcune ore ogni settimana ad imparare il codice facendo manutenzione e correzioni. Questo li renderebbe abbastanza familiari.

Assumere una ditta esterna? Sono con te lì - potrebbero anche buttare quei soldi nel water. Che stiano pensando di assumere un'azienda esterna per imparare il tuo sistema mi dice che non sono effettivamente preoccupati dello scenario del bus (perché, come noto, la soluzione è ovvia) e serve solo un motivo per lanciare la frase animata 'colpita da un autobus' in giro mentre si gioca a golf con i propri colleghi manager, o ... che stanno cercando di esternalizzare il tuo lavoro. Dopotutto, se un'azienda esterna può apprendere l'intera base di codici a un prezzo inferiore rispetto a un dipendente, a un certo punto i capelli a punta chiederanno perché hanno bisogno di te?

    
risposta data 17.12.2011 - 07:57
fonte
0

È più comune di quanto pensi che le aziende abbiano un piano in atto se qualche dipendente critico viene colpito da un autobus.

Di solito, però, è l'abbinamento del talento chiave con qualcuno interno (a cui non è permesso viaggiare sugli stessi voli ... o sugli autobus) per impedire vantaggi e idee concorrenziali dalla fuoriuscita alla competizione.

    
risposta data 17.12.2011 - 00:54
fonte
0

In primo luogo, la persona che sta testando il tuo codice non dovrebbe funzionare "sotto" te; è un conflitto di interessi.

In tua assenza hanno bisogno di valutare il rischio di restare indietro nelle aree di: debugging e aggiunta di nuove funzionalità. Possono fare in modo che qualcuno si dimostri rapidamente per essere un debugger, a meno che tu non abbia scritto codice cattivo. Di solito, l'aggiunta di nuove funzionalità può attendere fino a quando non viene preparato un nuovo programmatore. Non sempre accade quando ci sono promesse a clienti esistenti o in un mercato in cui stai cercando di tenere il passo con la concorrenza.

Ho lavorato in un'azienda in cui ero l'unico sviluppatore. Non mi hanno sostituito con un altro programmatore, ma ho cambiato drasticamente le indicazioni e mi sono accontentato di un'applicazione di terze parti. Sono state prese decisioni commerciali più strane. Questo sta impedendo loro di separarsi drasticamente dalla concorrenza e di avere un'enorme quantità di leva per far crescere la propria attività. Forse non era più il loro obiettivo?

    
risposta data 17.12.2011 - 02:55
fonte
0

In effetti esiste un termine chiamato numero di bus del progetto. Se il numero di bus è uno, hai un grosso problema. La FEMA negli Stati Uniti sta chiedendo alle aziende di essere meglio preparate ai disastri.

Non è solo la perdita di uno sviluppatore chiave. È l'impatto di un disastro naturale o la mancanza di backup off site. Ci sono molte domande su questo sito che chiedono se hanno bisogno di usare il controllo del codice sorgente come sviluppatore singolo. La possibilità per un nuovo sviluppatore di visualizzare la versione più recente del software e vedere quali parti sono nuove li aiuterà.

Ulteriori informazioni su PS-Prep sono disponibili all'indirizzo link e link .

    
risposta data 17.12.2011 - 05:15
fonte
0

Conosco il tuo dolore. La società per cui lavoro ha oltre 20 sviluppatori e tutti hanno le sue conoscenze.

I bit sovrapposti sono davvero ... bit, quindi se qualcuno scompare (ferie, ilness, ecc.) e succede qualcosa agli strumenti che stanno gestendo, sei fregato.

Il problema è che conoscono la situazione e non si preoccupano più di tanto, forse non hanno ancora colpito la faccia.

    
risposta data 20.12.2011 - 00:02
fonte
0

Mi piace la citazione che dice qualcosa come "I cimiteri sono pieni di persone precedentemente considerate indispensabili". Detto questo, la tua azienda ha il dovere di minimizzare i rischi, attualmente sei percepito come uno. Sono stato lì a volte, il suo meglio non solo non resistere, ma per fare il miglio supplementare. Non limitatevi a formare una società esterna, raccomandate la migliore compagnia in città, ovvero quelle di cui avrete maggiore fiducia. Considera anche che, se stai facendo un lavoro meglio di chiunque altro, sei insostituibile per definizione.

    
risposta data 21.12.2011 - 02:23
fonte

Leggi altre domande sui tag