Un processo di sviluppo software (SDP) è semplicemente il modo in cui il tuo team crea software. Un buon processo ti consentirà di ripetere il progetto dei risultati dopo il progetto. NOTA: questo non dice nulla sulla qualità, solo che puoi ripetere ciò che hai fatto l'ultima volta. Si tratta del lavoro quotidiano di scrivere software e assicurarsi che tutto ciò che deve essere fatto sia fatto.
Process Improvement è qualcosa che dovrebbe far parte dell'SDP di tutti. In sostanza dovresti tenere d'occhio le inefficienze / i punti di strozzatura e i luoghi in cui il tuo processo sta funzionando contro qualità. Vuoi cambiare il tuo processo nel momento in cui identifica il problema in modo da poterlo risolvere. Un cambiamento alla volta, fino a quando non stai solo ripetendo i risultati, ma ripetendo i risultati di qualità in modo efficiente.
Riguardo al tuo esempio
Una squadra che usa il codice "forza bruta" o "copia-incolla" ha un SDP. Non è elegante, ma esiste. È il modo in cui si stanno avvicinando al problema. Tuttavia, non è un processo sostenibile . Può funzionare solo per le applicazioni banali e non importanti . Queste app esistono (come l'app per iPod "E 'leggero fuori?"), Ma sono molto piccole (per esempio banali) e molto veloci (cioè meno di un mese per la compilazione).
Ogni volta che hai un'app considerevole, o l'applicazione è importante per un'azienda, non puoi lesinare sulla qualità. I guadagni a breve termine che avevi all'inizio saranno rapidamente persi mentre la squadra trascorre tutte le loro ore di veglia in un debugger. O forse tracciando per trovare il bug relativo al codice copia-incolla che è stato modificato in una posizione ma non in un'altra.
Sapendo che il team che usa la forza bruta ha un SDP, può iniziare a cambiare il proprio processo per costringerli a migliorare la propria qualità nel tempo. La chiave è quella di correggere una parte del processo alla volta fino a quando il processo è abbastanza efficiente.
Per quanto riguarda il miglioramento del processo
Ogni volta che ho il compito di migliorare i processi, sto esaminando un paio di cose:
- Cosa stiamo facendo che non aggiunge valore? Queste cose devono essere ritagliate o modificate in modo che aggiungano valore.
- Cosa facciamo noi non che può aggiungere valore? I problemi / problemi stanno cadendo attraverso le fessure? Continuiamo a vedere lo stesso tipo di problema?
Troverai un paio di cose quando adotterai la filosofia del miglioramento continuo dei processi. In primo luogo, potrebbe essere necessario introdurre alcuni processi (come una revisione tra pari) per risolvere un problema di qualità. In secondo luogo, il processo che hai introdotto (come una peer review) potrebbe non più aggiungere valore una volta che il team non sta più riproducendo tali errori. Oppure potresti riuscire a cogliere quegli errori in altri modi (come programmi di analisi statica, test di unità, ecc.). Basta non chiuderti in un "Processo" (nota la P maiuscola) e adorarlo. Piccole correzioni nel tempo sempre producono risultati migliori rispetto al cambio all'ingrosso.
Puoi solo sapere se il miglioramento ha effettivamente migliorato il processo quando osservi i suoi affetti isolatamente. Quando cambi tutto, non hai imparato nessuna lezione e sei destinato a imparare nuove dolorose lezioni che non hai visto prima.