This is year 3 and product is selling good enough. Now we need to
enforce good software development practices.
Non sei sicuro della qualità dei processi e del prodotto e continua a vendere? Fortunato! No. Non volevo davvero criticarti, ma il mio punto è che, il fatto che il tuo prodotto stia andando bene sul mercato, è un segnale positivo. Non buttare via ancora le cose!
Ciò di cui tu, in realtà, devi veramente fare le cose lentamente. A mio parere, non è importante fare il miglior adattamento rispetto ad alcuni processi standard; piuttosto devi usare quello che fa al caso tuo.
Io non sono molto consapevole di quanto la maturità avete in alcune di queste, ma lo rendono veramente lavorare per la squadra. Prima di tutto, devi assicurare 4 cose essenziali: a. Controllo della versione, b. Bug tracking e c. gestione efficace del rilascio. d. Costruisci il seme dei test di regressione.
Nel risposta qui - ho enumerato alcune pratiche buone e semplici, se seguita costruisce buon ritmo nelle persone e aiuta a portare il codice affidabile come il fuoco chiave.
Gli stessi piccoli criteri di miglioramento passo-passo si applica se si vuole automatizzare il processo di test e procedere verso l'integrazione continua - iniziare con quello che la maggior parte delle persone concordano sul fatto che può essere banalmente e affidabile automatizzati (dopo un po 'la gente comincerà a pensare , perché lo abbiamo mai fatto manualmente).
Infine, sulla documentazione e sul processo di revisione del codice. Immagino che la maggior parte dei programmatori voglia fare un buon lavoro in questo; Il problema è che non c'è consenso, la cosa migliore è cercare di portare un approccio peer-driven a una domanda più ampia: che cosa tutti noi pensiamo sia un buon codice e documentazione! (read questo ) Mentre ti evolvi, di nuovo le persone si trasformeranno lentamente in una responsabilità personale più che politica che schiva l'attività.
Questa verità è, non ci sono grandi alternative al modo "small-step-by-step" di evoluzione codice. Chiamalo TDD, agile, iterativo o altro; questi passaggi sono ciò che rende possibile che la squadra possa capire l'evoluzione del codice e, con ogni probabilità, cercare di accelerare alla loro velocità massima.
Una volta, le persone vedono il successo in questi piccoli passi e trovano la proprietà, il loro più grande impegno per apprendere le migliori pratiche e migliorare ancora di più rapidamente, lasciandoli con questa proprietà e vedrai meraviglie!