In primo luogo, sono curioso del motivo per cui ti stai licenziando con symfony2 / doctrine2 - è dovuto ai sistemi legacy? Altrimenti, ti suggerirei di farti vendere dai tuoi potenziali sviluppatori su stack tecnologici, non viceversa.
Se fossi entrato in un incontro in cui era già stato preparato il seguente, avrei lasciato quella stanza con un grande sorriso:
- Un sommario esecutivo. Dovrebbe esserci una dichiarazione di missione da qualche parte qui dentro. Una singola frase che definisce l'obiettivo del progetto. Ciò non solo aiuterà i tuoi sviluppatori a tenere a mente l'obiettivo finale, ma aiuterà anche il team di progettazione nello sviluppo delle funzionalità ( dovrebbe
x
effettivamente essere una funzionalità del sistema?)
- Progettazione del sottosistema (alto livello). La tua applicazione contiene sistemi logicamente modulari? Se è così, suddividilo (questi potrebbero essere visti come deliverable milestone).
- Prototipi. Utilizza programmi come Matita (gratuito) o Balsamiq (commerciale) per mettere a punto ciò che desideri nella tua applicazione.
Certo, le cose cambieranno sempre, quindi mentre ci dovrebbe essere sicuramente molto anche se messo in ciascuno di questi punti, non dovresti assolutamente venire a pensare che il design è scolpito nella pietra e non cambierà.