Sviluppatori che ereditano il codice. Cosa chiedere al vecchio sviluppatore per aiutare meglio il nuovo sviluppatore? [duplicare]

12

Abbiamo abbandonato il nostro vecchio sviluppatore iOS e stiamo cercando un nuovo sviluppatore o una squadra per riprendere da dove ha lasciato.

Sono consapevole che ci possono essere problemi con gli sviluppatori che ereditano il codice ecc.

Quali sono alcune domande che posso chiedere al mio vecchio sviluppatore di aiutare meglio il nuovo sviluppatore a capire in che fase si trova il codice, a cosa serve lavorare su ecc. ecc. Domande di tipo generale? In modo che quando incontro i potenziali nuovi sviluppatori posso consegnare loro una "scheda informativa" su dove si trova il codice nel vecchio sviluppatore.

    
posta Scott Townsend 12.07.2011 - 06:34
fonte

7 risposte

21

Poche cose da chiedere / documentare (potrebbe o non potrebbe essere quello che stai cercando):

  • Quali librerie / strumenti / etc di terze parti sono usati?
  • Come lo costruisci? Qualcosa di speciale richiesto per una compilazione?
  • Quali sono gli obiettivi validi per la build (sistema operativo, versione, ecc.)? (dal commento di World Engineer)
  • Dove si trova la fonte? Come viene gestita la modifica (rilasci, filiali, ecc.)?
  • Panoramica di alto livello sull'architettura dell'applicazione
  • Qualsiasi area gotcha (aree difficili da capire, ecc.)
  • Qualcosa fuori dall'ordinario, in cui potrebbe non essere immediatamente evidente il motivo per cui qualcosa viene implementato così com'è
  • Tutti i difetti sono documentati da qualche parte? Hanno qualche documentazione sui suggerimenti da correggere? Quali difetti potrebbero essere utili per iniziare a familiarizzare con il codice?
  • Tutte le richieste di funzionalità sono documentate da qualche parte? Esiste una documentazione di progettazione per i miglioramenti?
  • Ci sono delle specifiche tecniche?
  • Qualsiasi lettura richiesta per migliorare la velocità (documentazione di terze parti, ecc.)
  • Qualsiasi area dell'applicazione che deve essere rivista o aggiornata (correggere il debito tecnico)?
  • Tutte le convenzioni e gli standard utilizzati sono documentati e conosciuti?

Sono sicuro che ne avrai di più, ma spero che troverai utili alcuni di questi.

    
risposta data 12.07.2011 - 06:55
fonte
6

Mentre Michael Dean ha già dato un risposta abbastanza completa , aggiungerò un ulteriore consiglio, dato che presumo che il tuo vecchio sviluppatore non sarà in giro per fare un passaggio quando il nuovo lo sviluppatore inizia:

  • Siediti con lo sviluppatore esistente e lavora attraverso la compilazione del codice da zero, documentando da solo la procedura.

Non è necessario comprendere il codice per farlo, è sufficiente passare attraverso la configurazione dell'ambiente di sviluppo, il controllo del codice sorgente, la compilazione e l'esecuzione della suite di test.

Non lasciare che lo sviluppatore sieda al computer - fai ogni passo da solo e documenta ogni dettaglio, specialmente ma probabilmente non dovresti farlo di nuovo passi.

Questa può essere una guida del manichino meccanica (es. scarica X, installala, quindi installa Y & Z prima di estrarre il codice usando l'opzione V nel menu W ecc.), ma potrebbe salvare le settimane di sviluppo del tuo nuovo sviluppatore, cercando di capire come è stato impostato il vecchio ambiente di sviluppo degli sviluppatori.

Se non puoi sederti con il tuo sviluppatore, suggerire Kim Burgess di ottenere il lo sviluppatore di prendere uno screencast del processo di compilazione è eccellente.

Idealmente, dovresti dare allo sviluppatore una macchina che non è mai stata utilizzata per lo sviluppo, installare il software di screencasting e ottenere loro per passare attraverso tutti i passaggi per costruire il software completo.

In effetti, anche se ti siedi con il tuo sviluppatore, potrebbe valere la pena eseguire qualche software di screencast in background, mentre ti sta mostrando. in questo modo avrai una registrazione permanente di ciò che hai fatto e di quello che è successo.

    
risposta data 12.07.2011 - 18:24
fonte
5

Quando mi trovavo nella stessa situazione, avrei avuto il massimo beneficio dall'essere informato su quali parti dell'applicazione si concentravano veramente come chiave di volta per l'apprendimento dell'app. Un sacco di lettura del codice di qualcun altro sarà coinvolto indipendentemente, ma potrebbe anche essere dato un "sommario" per quella lettura.

    
risposta data 12.07.2011 - 06:46
fonte
2

"Se dovessi prenderlo, cosa vorresti sapere al riguardo?"
"Qual è il più importante?"

Il primo gli farà pensare alle parti complesse e non documentate dell'applicazione.
Il secondo gli farà pensare ai dettagli per tutte le parti importanti.

    
risposta data 12.07.2011 - 17:04
fonte
1

È più difficile leggere il codice che scriverlo ... Quindi è una buona cosa che tu stia cercando di aiutare i nuovi sviluppatori il più possibile.

Innanzitutto, trovo che le due cose migliori da fare siano:

: chiedi al tuo vecchio sviluppatore di scrivere e interagire con diagrammi tra classi o metodi. Ciò aiuterà il nuovo programmatore a farsi un'idea dell'architettura principale del programma e ad accelerare il processo di apprendimento. Questi tipi di diagrammi sono spesso più utili di pagine di documentazione scritta che sono spesso sfogliate dal nuovo sviluppatore e non molto utili.

: chiedi al tuo vecchio sviluppatore come sono organizzati i file di origine. A volte non è possibile distinguere il nome del file o il nome della directory contenente su ciò che si potrebbe trovare all'interno.

I due suggerimenti sopra riportati risparmieranno molto tempo e offriranno al nuovo sviluppatore una buona base per esplorare le intricatezze più dettagliate ...

    
risposta data 12.07.2011 - 17:34
fonte
0

Se aggiorni i dati da prod a una pianificazione regolare ripristinando i backup e uno potrebbe accadere tra quando parte e la nuova persona è in grado di accelerare dove sono le cose, potrebbe essere una buona idea assicurarsi che le modifiche ai database su dev che potrebbero essere sovrascritti perché non sono stati trasferiti a prod sono ancora nel controllo del codice sorgente e in uno script che può essere facilmente eseguito per riportare il database di sviluppo al suo stato modificato. Lo stesso con Qa che potrebbe essere in un insieme separato di modifiche.

    
risposta data 12.07.2011 - 19:21
fonte
-1

Dovresti far sì che il tuo vecchio sviluppatore commentasse il suo codice. Nessuna domanda qui non funzionerà. imho.

    
risposta data 12.07.2011 - 06:38
fonte

Leggi altre domande sui tag