Di recente abbiamo avviato un nuovo progetto (MVC 3.0) e alcune delle nostre discussioni iniziali riguardavano il modo in cui il lavoro e lo sviluppo saranno suddivisi tra i membri del team per garantire che ci sia la minima quantità di sovrapposizione di lavoro e quindi di aiuto renderlo un po 'più facile per ogni sviluppatore andare avanti e fare il loro lavoro. Il progetto dovrebbe durare circa 6 mesi - 1 anno (anche se non tutti gli sviluppatori potrebbero essere attivi e potrebbero filtrare verso la fine),
Il nostro team sarà piccolo, quindi questo mi aiuterà un po 'a credere. Il team sarà essenzialmente composto da:
- 3 x sviluppatori (tutti i diversi livelli, ovvero più senior, intermedio e junior)
- 1 x project manager / product owner / tester
- Una società esterna responsabile per il nostro lavoro di progettazione
Le decisioni generali di progetto / sviluppo finora hanno incluso:
- Sviluppa in modo agile utilizzando le tecniche SCRUM (stiamo ancora imparando molto questo approccio come azienda)
- Utilizza l'architettura MVVM
- Utilizza Ninject e DI se possibile
- Tenta di utilizzare il TDD il più possibile per guidare lo sviluppo.
- Mantieni i nostri controllori più magri possibile
- Mantieni le nostre opinioni il più semplici possibile
Durante le nostre discussioni sono stati affrontati due approcci, oltre a come separare il carico di lavoro in relazione ai nostri obiettivi descritti sopra.
OPZIONE 1 : Una separazione quadro in cui ogni persona è responsabile delle aree concettuali con sovrapposizione e discussione principalmente nelle aree di integrazione. Le aree di integrazione sarebbero responsabili di entrambi gli sviluppatori, come richiesto.
View prototypes (**Graphic designer**)
|
- Mockups
|
Views (Razor and view helpers etc) & Javascript (**Developer 1**)
|
- View models (Integration point)
|
Controllers and Application logic (**Developer 2**)
|
- Models (Integration point)
|
Domain model and persistence (**Developer 3**)
OPZIONE 2: Un approccio più orientato ai compiti in cui ogni persona è responsabile del completamento dell'intera attività (storia) da vista - > controller - > modello .
DOMANDA: Per coloro che hanno lavorato in piccoli team nello sviluppo di progetti MVC, come hai gestito la distribuzione del carico di lavoro in questa situazione. Non riesco a immaginare che il giovane sarebbe responsabile della costruzione di parti dell'architettura sottostante, quindi darebbe loro la responsabilità della vista, considerando che stiamo cercando di mantenerlo semplice?