Ciclo di sviluppo del software
Oltre alle fasi di programmazione esistono altre attività attinenti al ciclo di sviluppo del software.
Progettazione
Molti programmi presentano una complessità non banale, per cui risulta impossibile idearne la struttura e gli algoritmi contestualmente alla codifica. Questa fase deve essere preceduta da una fase di progettazione del codice da implementare, eventualmente con l’ausilio di strumenti grafici (come, per esempio, i DAB).
Testing
L’esecuzione senza malfunzionamenti evidenti non garantisce la correttezza di un programma. La validazione prevede la verifica metodica di tutte le condizioni operative mediante la variazione sistematica degli input e il controllo dei relativi output prodotti. Questa importante attività viene in genere condotta da personale distinto da quello che ha sviluppato il programma oggetto di test.
Documentazione
La documentazione di un programma prevede normalmente la redazione di due diverse tipologie di documenti: il manuale utente e il manuale tecnico. Il primo è destinato all’utente operatore del programma e ne descrive le funzionalità, mentre il secondo è destinato a un informatico e descrive la struttura del software realizzato.
Manutenzione
La manutenzione del software è continua: i programmi sono modificati per correggere gli errori riscontrati (manutenzione correttiva) e per integrare nuove funzionalità (manutenzione evolutiva).
Programmazione in pratica
Ai programmatori piace scherzare in merito ai vari aspetti della loro professione. Per esempio, il «principio delle 11 P» recita: «Prima Pensa Poi Programma Perché Programmi Poco Pensati Producono Pericolosi Pasticci». Il principio intende sottolineare il ruolo fondamentale del programmatore nella realizzazione di programmi per computer privi di malfunzionamenti. A questo proposito, la legge di Murphy applicata alla programmazione recita: «se un programma contiene un errore, esso prima o poi si manifesterà e lo farà nel momento in cui potrà causare il maggior danno possibile».