Sono in un nuovo lavoro in cui il progetto deve soddisfare rigorosi standard di qualità, essere pesantemente documentato, gestito in modo molto dettagliato, diagrammi UML e tutte quelle cose che sono opposte alla "codifica dei cowboy" in cui la maggior parte del mio lavoro passato l'esperienza è stata. Pensa al modo in cui viene sviluppato il software aerospaziale o medico su larga scala.
Sono felice di lasciare il caos della codifica dei cowboy e sono curioso di vedere come vanno bene i metodi di ingegneria pesante. Ma come si può acquisire rapidamente esperienza con i metodi pesanti?
Oltre a essere semplicemente nel lavoro per un certo numero di mesi / anni, cioè.
Con un semplice linguaggio, o una nuova API, si può hackerare un programma di test sui giocattoli, leggere, commettere deliberatamente errori per vedere cosa succede, ecc. Come praticare la bicicletta o suonare uno strumento musicale, la pratica è essenziale. È facile prendere un flauto e passare mezz'ora ogni giorno; non è necessario unirsi a un'orchestra o essere un consulente di flauto a tempo pieno. Ma come praticare le attività di ingegneria del software che sono grandi, complesse, coinvolgono i team e molte delle quali riguardano la comunicazione e la pianificazione, evitando errori di comunicazione e superando i limiti di pianificazione e budget?
Questo non sembra possibile da solo. C'è un modo in cui un piccolo numero di persone potrebbe simulare un intero progetto su piccola scala in breve tempo (un giorno)?