In una delle aziende in cui ho lavorato, abbiamo avuto questo approccio orientato al processo completo con molti documenti (la maggior parte dei quali è stata richiesta per essere compilata dal Project Manager). Tuttavia, nonostante la lunghezza e le spiegazioni, mi sono reso conto che difficilmente veniva usato per aiutare le persone, i veri sviluppatori.
Così ho deciso di riprendermi con un obiettivo specifico di "aiutare gli sviluppatori". La cosa più importante che ho iniziato è raccogliere la maggior parte delle domande di base: le domande frequenti real .
Quello che ho imparato è che seguire le questioni per la maggior parte delle persone quando vogliono adottare determinati processi e molte cose che potrebbero non avere una precedente idea ma che apprezzerebbero immediatamente se comprendessero la logica.
Ecco gli argomenti chiave che una tale documentazione dovrebbe aiutare:
-
Il processo di sviluppo per la distribuzione -
In che modo il codice deve essere organizzato, compilato, pubblicato (sotto forma di DLL, librerie, eseguibili, programmi di installazione, pagine Web e in che modo verranno distribuiti e testati)?
-
Come dovremmo fare il controllo della versione? (e perché se ci sono principianti).
Comprendere come la struttura del repository, il codice di condotta - quando un check-in è accettabile e quando no, quando viene annunciata una versione / tag, in che modo verrà applicata la patch, le unioni e quali sono le aspettative di pulizia quando una patch o il rilascio è dichiarato fatto
-
Esecuzione della metodologia -
siamo agili, facciamo progettazione in anticipo, quale metodologia utilizziamo? Ora dato questo, potrebbe essere un fisso per una determinata azienda. Ora, per la maggior parte delle persone, vogliono sapere come lo implementeremo per il progetto dato. Questo è molto specifico sul progetto che permetterà alle persone di visualizzare diverse pietre miliari e ciò che è potenzialmente importante. In un progetto orientato alla ricerca - vorremmo indicare "convalidare sempre gli algoritmi critici prima di crearne uno sopra" in un involucro ristretto mi concentrerei sulla correttezza e l'importanza delle caratteristiche.
-
Responsabilità di comunicazione -
Definire come si fa la comunicazione formale - non si fa in modo che determinate persone possano parlarsi - ma le persone devono avere un'idea di ciò che è abbastanza importante (problemi, decisioni di progettazione, blocco delle funzionalità) essere annunciati o addirittura discussi prima di procedere all'attuazione.
-
Infine, dobbiamo tutti avere una comprensione comune della qualità del codice, dello standard di codifica e in generale di ciò che pensiamo sia ok o al di sotto del livello di igiene.
Vorrei iniziare ogni progetto con questi documenti, tuttavia non è abbastanza facile. Ma la cosa importante è affrontare tutti i problemi relativi al comportamento quotidiano e alle scelte degli sviluppatori. Questo è molto lungo quando devono essere consegnate più versioni sul mercato.
Infine, vorrei anche suggerire di cercare di essere il più informale possibile. Di solito, i ragazzi orientati al processo non amano i documenti informali che possono potenzialmente essere fraintesi al di fuori del contesto. Tuttavia, dovrebbe essere fatto in modo tale da connettere gli sviluppatori.