Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

We have very recently started a new project (MVC 3.0) and some of our early disc

ID: 651446 • Letter: W

Question

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.

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**)
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?

Explanation / Answer

Option 2 seems much better for agile development. I really cannot see how option 1 can work with agile. So if you are favoring option 1, then I would have to ask if you are really doing agile.

The cons you mention are not really problems and if you think they are problems, then you should be fixing something else than "overlap" of developer work.

Actually, you could combine both options in some way. Take pair programming, give pair a feature to implement and then each person can work on different "layers". Of course this is not real pair programming. But you still get advantages of shared knowledge of said feature, better coverage of "what if", the pair can help each other and people can still somehow specialize.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote