Progetto congelato: cosa devo lasciare alle persone dopo di me?


14

Quindi il progetto a cui sto lavorando ora verrà congelato indefinitamente. È possibile che se e quando il progetto si svolgerà nuovamente, non verrà assegnato a me o a nessuno del team attuale. In realtà, abbiamo ereditato il progetto dopo che era stato congelato in precedenza, ma il team precedente non aveva lasciato nulla per aiutarci a capire anche le esigenze di base del progetto, quindi abbiamo perso molto tempo a conoscerlo bene. La mia domanda è: cosa pensi che dovremmo fare per aiutare le persone dopo di noi a comprendere meglio le esigenze del progetto, cosa abbiamo fatto, perché l'abbiamo fatto, ecc. Sono aperto ad altre idee sul perché dovremmo partire alcune tracce per gli altri che lavoreranno anche su questo progetto.

Alcuni passi che abbiamo già preso:

  • documentazione tecnica (non completa ma almeno ce n'è una);
  • cronologia del sistema di controllo del codice sorgente;
  • stime su quali parti del progetto debbano essere migliorate e perché lo pensiamo;
  • gruppo di test unitari.
  • tracker dei problemi con tutti i biglietti che abbiamo fatto ( EDIT )

Cosa ne pensi di ciò che abbiamo già preparato e cos'altro possiamo fare?


2
prendi in considerazione un elenco di biglietti facilmente reperibile nel tracker dei problemi relativi al progetto
moscerino

1
Il maggior numero di "Why?" Ha risposto in README.TXT con le fonti del progetto possibile.

@gnat grazie per l'idea. Mi ha ricordato che ho dimenticato di menzionarlo. Usiamo il tracker dei problemi con tutti i biglietti. Lo aggiungerò alla lista.
nyxz,

1
Sto versando una sola lacrima di solidarietà per la tua base di codice abbandonata. zdnet.com/blog/projectfailures/…
Ben DeMott,

Risposte:


9

Alcune altre cose da considerare

  • La struttura delle directory del progetto è sana? Hai rivisto i commenti sul codice? Il registro di commit è in qualche modo presentabile?
  • Panoramica sullo scopo di Gerneral (al contrario di quella tecnica, che è stata avviata), Lettura consigliata sul progetto, cronologia del progetto (il suo ciclo di sviluppo, precedenti gestori di progetto, elenco del personale, requisiti / specifiche delle caratteristiche)
  • Diagrammi UML, diagrammi di classe, diagrammi di flusso di lavoro!
  • I motivi per cui il progetto è stato congelato è sempre bello.
  • Ambiente di sviluppo, IDE che sono stati utilizzati, strumenti di costruzione, questi sono trattati nei documenti tecnici giusto?

Ho appena pensato ad alcune delle cose che mi sarebbe piaciuto vedere in un progetto che ho ereditato di recente. Ciò che hai già fornito è molto più di quello che ho ottenuto. Riceverai importanti punti karma per aiutare la prossima squadra :)


8

Le cose che vorrei avere al momento di raccogliere un progetto che qualcun altro ha messo giù sono:

Crea istruzioni, incluse le ultime versioni funzionanti conosciute di tutti gli strumenti nella toolchain. Compilatori, IDE, ecc. Cambiano nel tempo ed è molto più semplice lavorare con gli sviluppatori precedenti che mi lasciano istruzioni su come iniziare.

Esegui le istruzioni sull'ambiente: cosa deve essere in atto per eseguire questa operazione? Una menzione di quali versioni sono di nuovo utili. Recentemente ho raccolto qualcosa che richiedeva che un certo set di file si trovasse in un determinato posto, e ho dovuto fare delle domande agli altri sviluppatori per capirlo. Non è stato un grosso problema poiché l'altro sviluppatore era disponibile, ma se non lo fosse stato, sarebbe stato problematico.

Qualche certezza che il codice impegnato nel repository esegua effettivamente il checkout e la compilazione. Una volta ho raccolto un progetto in cui i precedenti sviluppatori (fortunatamente ancora in giro) avevano fatto cose davvero strane con i Makefile in modo che non potessi costruire il progetto da un checkout pulito. Inutile dire che per prima cosa ho dovuto rettificare CHE prima di poter effettivamente fare qualsiasi lavoro. Se i precedenti sviluppatori non fossero stati disponibili, ci sarebbe voluto molto più tempo per superare quell'ostacolo.

Una dichiarazione generale dell'intento del progetto. A cosa serve questo software? Breve quanto ragionevole, ma una sorta di panoramica può essere davvero utile.


+1 per la toolchain completa. Tutta la documentazione al mondo non sarà di aiuto se non è possibile creare e testare il software. Quando possibile, mi piace includere le immagini di installazione per tutti gli strumenti (anche se al giorno d'oggi probabilmente sceglierei un'immagine di VM di qualche tipo). Niente di peggio che scoprire il processo di compilazione dipende da un plug-in di terze parti di un'azienda che non esiste più!
TMN,

@TMN - ed è per questo che tendo a evitare cose come plugin IDE commerciali e così via. Non mi fido di poter riprodurre il mio ambiente in seguito. E avendo lavorato su software di oltre 20 anni, non presumo MAI che nulla vada mai via.
Michael Kohne,

4

Uno ScreenCast

Quando ho lasciato il mio ultimo lavoro, in realtà ho fatto screencast inediti che, da quello che ho sentito, sono stati molto utili nell'inserimento di nuove persone. Ho portato il mio team in una stanza, ho installato un microfono a condensatore e spiegato loro tutto ciò che sapevo sul progetto durante la registrazione di audio e schermo. Quindi, ho lasciato che mi facessero domande al riguardo. Siamo riusciti a ottenere molte più informazioni di quante potessimo se mi sedessi e provassi a digitare il più velocemente possibile tutto il giorno.


+1 Questo è così semplice, ma ha così tanto senso.
lm

2

Se sei al corrente delle informazioni, aggiungi Requisiti aziendali.

  1. Cosa voleva il cliente?
  2. In che modo i cambiamenti hanno facilitato ciò?
  3. Quali sono state o sono alcune delle sfide nel soddisfare le esigenze dei clienti?
  4. Quali esigenze non sono state soddisfatte e perché?

1

Un'immagine di macchina virtuale (ad esempio vm-ware) di un sistema di sviluppo autonomo in esecuzione potrebbe essere piuttosto preziosa.

L'anno scorso mi è stato chiesto di correggere un po 'di codice vb3. È stato abbastanza difficile ricreare un sistema in esecuzione con vb3, windows95 e molti ole-controller installati. Dopo una settimana ho rinunciato :-(

[Aggiornamento] Qualcuno ha provato a convertire vecchie immagini di macchine virtuali in modo che possano essere riprodotte in un nuovo lettore di macchine virtuali?

Devi anche considerare che potrebbe non essere più possibile eseguire un'immagine molto vecchia su un moderno sistema operativo / guest.


Prendi in considerazione l'apertura di una nuova domanda sull'aggiornamento delle macchine virtuali.

@ Thorbjørn Ravn Andersen. Hai ragione. Ho riformulato l'ultima parte della mia risposta.
k3b,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.