La mia domanda riguarda l'impostazione di un processo di sviluppo software. Se sei entrato in un progetto esistente che non aveva una metodologia formale o un processo di configurazione, e poi ti è stato chiesto di crearne uno tu stesso, come lo gestiresti? Ho esaminato varie metodologie come Agile, o sottoinsiemi come XP, ma queste sono principalmente finalizzate a come impostare nuovi progetti. Sono piuttosto insicuro su come implementarli in un progetto esistente.
Inoltre, molti di questi sono destinati alle applicazioni web o desktop. Il mio progetto software è un sistema embedded, quindi mentre molti aspetti di essi sono applicabili, è un po 'travolgente cercare di capire quale utilizzare e come convertirlo per l'uso in un sistema embedded. I test unitari su hardware embedded (specialmente con un Single Board Computer per il quale non esiste alcun simulatore) sono incredibilmente difficili, in particolare se il software è molto lungo e aggiungere un livello di astrazione hardware per aiutare il testing delle unità coinvolgere in modo drammatico il codice.
Quali suggerimenti avresti per impostare un processo di sviluppo software per un progetto esistente, per un programmatore che sa come programmare, ma è nuovo per la gestione dei processi di sviluppo del software?