è giusto avere un tempo per la familiarizzazione della tecnologia e degli strumenti una volta che un progetto inizia

7

Sono stato in diversi progetti software ma non come leader. In tutti i progetti conoscevamo tutti gli strumenti e le lingue ecc. Prima dell'inizio del progetto.

Mi chiedo se sia ok o è una buona pratica avere un tempo per gli sviluppatori di familiarizzare con gli strumenti e le tecnologie dopo che il progetto prende il via (ad esempio dopo la specifica dei requisiti)?

    
posta serengeti12 03.04.2011 - 13:20
fonte

6 risposte

12

Se la familiarizzazione viene eseguita in modo completo e basato sui requisiti, va bene. Altrimenti è solo un'altra parola per rallentare, e faresti meglio a iniziare a programmare in una tecnologia sconosciuta subito e a fare il refactoring più tardi.

Un buon esempio di familiarizzazione è la creazione di un mockup del sistema che utilizza le stesse tecnologie chiave e distribuisce le stesse fondamenta del progetto di destinazione. Poiché steve314 aggiunge nel suo commento, farai tutti gli errori newbie che avresti fatto se avessi iniziato a scrivere il codice progetto a titolo definitivo, ma non dovrai buttare via un sacco di codice che ha richiesto tempo per essere scritto ma ti ha fatto imparare niente di utile.

    
risposta data 03.04.2011 - 13:38
fonte
7

Se hai deciso di utilizzare la tecnologia con cui i tuoi sviluppatori non sono familiari, è ok, buona pratica e inevitabile.

    
risposta data 03.04.2011 - 13:35
fonte
3

Pianificerei delle prestazioni più lente all'inizio del progetto. Potrebbe esserci anche un po 'di tempo per la configurazione. Cerca di ottenere il setup standardizzato.

Se hai bisogno di una familiarizzazione significativa, potresti aver bisogno di un po 'di tempo per la formazione. L'allenamento ben fatto dovrebbe essere più efficiente del semplice gioco con gli strumenti. L'allenamento a ritmo individuale va bene e può essere più efficiente. Ottieni alcuni cheat-sheet o sviluppa cheat-sheet specifici per il progetto.

EDIT: I fogli del progetto specifici per il cheet possono essere di tre varietà (o una combinazione di questi).

  • Cheat-sheets abbreviati per strumenti utilizzati dal progetto che omettono le funzionalità non utilizzate dal progetto.
  • Cheat-sheets per strumenti e librerie specifici del progetto. Fondamentalmente, qualsiasi progetto specifico che potrebbe essere su un cheat-sheet.
  • Fogli di stratificazione uniti per particolari flussi di lavoro che utilizzano più strumenti.

Automatizza i tuoi processi quando puoi. Il cheat-sheet dovrebbe quindi puntare al processo automatico appropriato.

Considera l'utilizzo di un Wiki per contenere i tuoi cheat-sheet. Questo è anche un buon posto per documentare il tuo processo. (Aiuta a documentare le alternative guardate e il motivo per cui è stato scelto quello scelto.)

    
risposta data 04.04.2011 - 15:03
fonte
2

Una cosa che consiglierei è di prendersi un po 'di tempo per avere una panoramica generale di ciò che è coperto nel framework e di cosa non lo è e anche leggere le best practice e le convenzioni comuni dei framework / strumenti.

Ho avviato alcuni progetti ad alta velocità dove non c'era tempo per imparare in generale sui framework e gli strumenti e abbiamo appena imparato. Ciò significa che spesso si imparano solo le parti del framework o le capacità degli strumenti con cui si lavora direttamente, il che può portare ai seguenti problemi:

1) reinventare qualcosa che il tuo framework / strumento fornisce già, perché non sapevi che fosse lì.

2) che non segue le convenzioni e le best practice corrette raccomandate per uno strumento, il che può portare a problemi di manutenibilità lungo la linea, problemi di aggiornamento ecc.

    
risposta data 04.04.2011 - 15:10
fonte
1

Nei miei progetti di solito abbiamo un pioniere quando utilizziamo nuovi strumenti / tecnologie / processi. Potrebbe essere la stessa persona o diversa per ogni attività, ma deve essere qualcuno che sa quando è stato in grado di raggiungere l'obiettivo finale quando arriva. Il pioniere deve fare tutti gli errori e sistemarsi sul modo in cui il progetto farà le cose. Eseguono quindi una sorta di presentazione / guida / modello / esempio che gli altri sviluppatori possono utilizzare e, si spera, impediscano a tutti gli altri sviluppatori di commettere gli stessi errori o altri errori.

Oltre a questo, non sono sicuro che mettere da parte il tempo per imparare gli strumenti sia una buona idea. Vorrei lasciarlo agli sviluppatori per determinare quando hanno bisogno del training Just-In-Time per prenderlo su di loro a quel punto. Se metti da parte il tempo e il particolare sviluppatore non è ancora pronto per usare lo strumento, allora le probabilità saranno che trasferiranno la loro attenzione altrove. Poi quando hanno bisogno dello strumento, è quando lo impareranno. In tal caso, penso che tu abbia perso tempo invece di guadagnare tempo.

    
risposta data 04.04.2011 - 21:54
fonte
0

Userò una fase di proof of concept nel progetto per familiarizzare con le nuove tecnologie e assicurare che saranno approriate per il lavoro

    
risposta data 04.04.2011 - 17:12
fonte

Leggi altre domande sui tag