We have very recently started a new project (MVC 3.0) and some of our early discussion has been around how the work and development will be split amongst the team members to ensure we get the least amount of overlap of work and so help make it a bit easier for each developer to get on and do their work. The project is expected to take about 6 months - 1 year (although not all developers are likely to be on and might filter off towards the end),
Our team is going to be small so this will help out a bit I believe. The team will essentially consist of:
- 3 x developers (All different levels i.e. more senior, intermediate and junior)
- 1 x project manager / product owner / tester
- An external company responsbile for doing our design work
General project/development decisions so far have included:
- Develop in an Agile way using SCRUM techniques (We are still very much learning this approach as a company)
- Use MVVM archectecture
- Use Ninject and DI where possible
- Attempt to use as TDD as much as possible to drive development.
- Keep our controllers as skinny as possible
- Keep our views as simple as possible
During our discussions two approaches have been broached as too how to seperate the workload given our objectives outlined above.
OPTION 1: A framework seperation where each person is responsible for conceptual areas with overlap and discussion primarily in the integration areas. The integration areas would the responsibily of both developers as required.
OPTION 2: A more task orientated approach where each person is responsible for the completion of the entire task (story) from view -> controller -> model.
QUESTION: For those who have worked in small teams developing MVC projects how have you managed the workload distribution in this situation. I can't imagine the junior would be responsible for building parts of the underlying architecture so would given them responsibility for the view make sense considering we are trying to keep it simple?