La leadership non vede il valore nel processo standard per la configurazione della macchina e il nuovo orientamento dello sviluppatore

9

Circa 3 mesi fa il nostro principale sviluppatore web e progettista (stessa persona) ha lasciato la compagnia, i pascoli più ecologici sono stati la ragione della partenza. Buono per loro, dico. Il mio problema è che il suo dipartimento era completamente privo di documenti. Le cose sono state difficili da quando è partito, c'è molta conoscenza sia teorica che usiamo per citare nuovi progetti e conoscenze tecniche / attuative dei nostri prodotti esistenti che abbiamo perso a causa della sua partenza. Il mio ruolo normale è quello di product manager (per i nostri prodotti) e come analista di business per alcuni dei nostri lavori di consulenza basati su progetti. Mi sono insegnato a programmare l'anno scorso e nel tentativo di andare avanti ho assunto il compito di impostare il mio laptop come una macchina di sviluppo con la speranza di implementare alcune delle più semplici richieste di funzionalità e di correggere alcuni dei nessun bug cerebrale che viene inviato nel nostro sistema di bigliettazione. Ma nessuno sa come prendere una nuova macchina Windows e configurarla per funzionare perfettamente con le nostre app di produzione.

Ho richiesto al mio capo, che è ancora in contatto con lo sviluppatore che è uscito, chiedere loro di documentare e creare un processo per integrare un nuovo sviluppatore, l'installazione del software, i pacchetti richiesti, il processo da distribuire ai server delle applicazioni di produzione, ecc. Niente di tutto ciò esiste e sto girando le ruote cercando di far funzionare il mio computer come una macchina di sviluppo funzionale. Ma lei non sembra capire la necessità di un tale processo di esistere. Apparentemente il nuovo sviluppatore che ha sostituito quello che ha lasciato ha utilizzato una macchina preconfigurata per il nostro ambiente, quindi anche il nuovo sviluppatore non ha potuto impostare una nuova macchina se abbiamo aggiunto un altro sviluppatore.

La mia domanda è in due parti:

  1. Ho sbagliato ad assumere un processo a bordo e configurare un nuovo computer per far parte del nostro ecosistema di sviluppo dovrebbe esistere?

  2. Sto facendo il bambino piccolo e dovrei capire il processo e creare un documento da solo?

posta opensourcechris 16.10.2012 - 17:01
fonte

5 risposte

5

Prima di tutto, è strano che uno sviluppatore debba configurare l'ambiente di lavoro. Questa attività è solitamente per gli amministratori di sistema. Quindi, tenendo conto che questo non è qualcosa che dovresti fare, hai il diritto di aspettarti che qualcun altro faccia questo per te.

Nella maggior parte delle aziende (se non tutte) esiste un periodo di preavviso. Di solito va da una settimana a un mese. Ma in ogni caso quel tempo è sufficiente per la persona che parte per aiutare l'azienda _ creare documentazione, aggiungere commenti al codice, documentare l'architettura, ecc. Temo che sia troppo tardi per farlo ora, ma non dimenticarlo la prossima volta qualcuno se ne va.

Hai assolutamente ragione di aspettarti che ci debba essere un processo per la creazione di un nuovo ambiente. In effetti, se la tua azienda cresce e hai più sviluppatori, dovrai affrontare lo stesso problema _ questo potrebbe essere un argomento pesante per convincere il tuo capo. Si potrebbe anche usare l'argomento per convincere la direzione ad assumere un amministratore di sistema per tali compiti (presumo che non ne possiedi uno da quando affronti il problema). Oltre a impostare l'ambiente di sviluppo, se hai una nuova macchina deve essere integrata nella rete locale, ecc.

    
risposta data 16.10.2012 - 17:16
fonte
5

Am I wrong in assuming a process to on-board and configure a new computer to be part of our development eco-system should exist?

No. Avere questi processi eviterà i problemi che hai già affrontato. In alcune organizzazioni più grandi, c'è un'immagine del disco standard di come dovrebbe apparire la macchina di uno sviluppatore. Quando viene assunto un nuovo sviluppatore, un computer disponibile con le specifiche hardware corrette viene cancellato e reimmaginato utilizzando questa immagine disco "sviluppatore". Una lista di controllo standard (a volte include l'installazione di software post-imaging per alcuni strumenti non inclusi nell'immagine) è seguita dalle persone tecnologiche che lo fanno per garantire che tutte le macchine sviluppatore inizino nello stesso modo (gli utenti possono modificarle e modificarle dopo averle loro - a loro rischio e pericolo!)

Allo stesso modo, alcune applicazioni con impostazioni notoriamente complesse contengono documenti che spiegano ai nuovi sviluppatori come controllare il codice, configurare il server e creare e distribuire localmente l'applicazione. Un'applicazione ha anche uno script di installazione solo per le workstation per semplificare questo processo.

Am I being a whinny baby and should I figure the process out and create a document on my own?

Lo sei, ma solo un po '. Una cosa è dire che tutto questo dovrebbe essere stato documentato molto tempo fa e lo sviluppatore che se ne è andato avrebbe dovuto fare un trasferimento completo di conoscenze ai giorni della sostituzione (o se possibile settimane) prima che se ne andassero. Sembra che nulla di tutto ciò sia accaduto, ed è tutto nel passato, comunque.

E adesso? Dubito che lo sviluppatore che ha lasciato sarà di grande aiuto. Hanno già un nuovo lavoro di giorno e chissà con chi sono impegnati nella loro vita. Dubito che ci siano motivi legali che il tuo manager potrebbe usare per costringerli ad aiutare. Sarebbe bello se prendessero alcune ore del loro tempo per rispondere ad alcune domande, ma non contate su di esso. Sembra che tu sia bloccato a capire la maggior parte di esso per te stesso. Questo ti dà l'opportunità di documentare accuratamente il processo corretto e farlo bene. Chi segue ti ringrazierà per questo! Buona fortuna!

    
risposta data 16.10.2012 - 19:08
fonte
1

Per prima cosa, devi uscire da Visual SourceSafe. Penso che debba essere detto. Per lo meno passare a TFS. E ci sono anche altre opzioni.

Ora che è fuori strada. Penso che questo sia un caso di "se vuoi che le cose siano fatte bene ..." Il tuo obiettivo finale dovrebbe essere che uno sviluppatore possa accendere la sua macchina appena installata collegarsi alla fonte, ottenere l'ultima, premere f5 (o qualsiasi altra cosa tu usi per la tua eseguire il collegamento dell'applicazione) e avere un'applicazione funzionante.

Un'opzione è di costruire un ambiente di lavoro da zero e usarlo come immagine di sviluppo di base. Quando uno sviluppatore viene a bordo, tutto ciò che devi fare è distribuire quell'immagine alla sua macchina e dovrebbe funzionare.

Ci sono alcuni libri su come spostare il tuo ambiente verso uno stato più hands-off. Mi piace Consegna continua e Integrazione continua dalla serie Fowler, ma ci sono altre opzioni là fuori.

    
risposta data 16.10.2012 - 19:06
fonte
1

Quando ho iniziato il mio attuale lavoro, avevamo una procedura documentata per l'installazione di un PC per sviluppatori.

Ho seguito la procedura da solo, evitando con determinazione l'"aiuto" del team esistente.

(La conoscenza deve essere incorporata nel documento, non nello sviluppatore che è stato il più lungo.)

Ho contrassegnato la procedura con le modifiche della linea rossa dov'era errata o incompleta, e aw settimana dopo aveva due cose, una procedura che funzionava e un PC di sviluppo funzionante.

Dopo un errore del disco rigido un anno dopo, ci sono voluti 2 giorni per ricostruire.

Dì al tuo capo: se il disco rigido non funziona su quel PC, non si verificherà alcuno sviluppo!

Ho deciso che 2 giorni erano uno spreco di due giorni ....

Ora utilizziamo macchine virtuali con immagini disco per ogni progetto di sviluppo.

L'installazione è di copiare l'immagine della macchina virtuale sul PC di destinazione e avviarla. C'è un'icona chiamata "runme" su cui fai clic, chiede il tuo nome utente e quindi cambia il nome utente utilizzato per accedere al codice sorgente al tuo. Cambia anche il campo dell'autore del documento vuoto IDE al tuo nome.

(Ho scritto runme in circa 2 ore, siamo sviluppatori, programmiamo i nostri problemi di distanza)

I PC dei nostri sviluppatori sono macchine standard ad eccezione di un server VM.

Utilizziamo virtualbox, che non è costoso.

L'utilizzo di Macchine virtuali rende la sostituzione di una macchina un lavoro da 20 minuti senza alcuno sforzo . Questo compito sarebbe più veloce se avessimo un gigabit ethernet per copiare la VM.

Disclosure completo: sono il team leader in cui lavoro e la mia gestione mi dà una mano libera (-ish).

    
risposta data 17.10.2012 - 01:42
fonte
0

Ci dovrebbe essere qualche documentazione che dice quale software è richiesto per compilare ed eseguire l'applicazione.

Dovrebbe esserci anche la documentazione che descrive ciò che una casella client richiede per eseguire l'applicazione.

Non sono la stessa lista.

Se la tua azienda dovesse assumere un nuovo sviluppatore, per quanto tempo ci si aspetterebbe che iniziassero a programmare? Un giorno? Una settimana? Senza sapere quale software è richiesto per compilare il codice, questo può essere un processo di prova ed errore che potrebbe richiedere del tempo. Ma dovrebbe essere solo qualcosa che deve essere fatto una volta.

La mia domanda è, che cosa sta facendo il nuovo sviluppatore? Questo dovrebbe essere il suo lavoro, non il tuo. Lui è il sostituto dell'altro. Sì, fa schifo che sia entrato in un ambiente senza documentazione, ma dovrebbe essere suo compito documentare le cose. Fallo sedere per capire quale sia l'ambiente di sviluppo e per documentarlo. Fagli capire e documentare ciò che è necessario per eseguire l'app su una casella client.

Per quanto riguarda il contatto con il vecchio sviluppatore, non lo farei. IMHO, se un dev lascia una società senza documentazione o trasferimento di conoscenze, spera di essere chiamato a fare un lavoro a un tasso di consulenza. Non è professionale e non dovrebbe essere ricompensato. Sì, potrebbe volerci un po 'di tempo in più per capirlo da soli, ma voi / il team imparerete qualcosa nel processo e la documentazione prodotta sarà aggiornata e aggiornata.

    
risposta data 16.10.2012 - 17:42
fonte

Leggi altre domande sui tag