direi che si può imparare.
Penso che una laure in ingegneria informatica o del software risolva il problema, ma non sia indispensabile.
Per fare un progetto ci sono vari processi di sviluppo: a cascata, iterativo, a pianificazione perdittiva e adattiva, vari processi detti "agili" come la XP(eXtream Programming) la FDD(Feature Driven Development e DSDM(Dynamic System Development Method) ecc...
Infine c'è il RUP(Rational Unfied Process) che è un'infrastuttura per la definizione di processi.
Questo RUP ha vari stadi da percorrere:

1. Fase di avviamento, in pratica: "Mettiamo i soldi per questo progetto?"
2. Fase di elaborazione, iterativamente si fa una versione del progetto sempre più raffinata
3 Fase di costruzione, implementazione del software
4. Fase di transizione, attività che non si possono fare iterativamente: distribuire il sistema, formazione utenti ecc...

Uno strumento per modellare sistemi è UML. Ti consiglio "UML Distilled" 3a edizione guida rapida al linguaggio di modellaione standar, di Flower.
Sono 150 pagine, ma ti fanno un ampia introduzione da diversi punti di vista dato che ci sono più opinioni su come usare uml:chi dice di fare abbozzi, il progetto intero, altri che è una perdita di tempo e di usarlo il meno possibile.