Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am working on a webapp project using flask framework and sqlalchemy orm in python. Its the first time I am working on a project like this and I am having trouble in how to divide work properly among my teammates. We are 5 guys, one is handling designing, two front end and 2 on backend. I am on the backend. Flask follows MVC type pattern. How does teams divide work in MVC pattern? Moreover I am more confused in dividing work with my team mate in backend. Should one handle all the database queries and let the other one handle processing on those returned results? Need some advise on work division in web projects.

share|improve this question
    
What did you decide in the end (for dividing the work)? By the way, I am surprised by the lack of answers; I think it is an interesting discussion. –  Guven Oct 26 '11 at 2:43
    
We have still not decided anything concrete but trying to divide work such that no team member is dependent on another to complete his work. I will tell you after I have something concrete to say :) –  codecool Oct 31 '11 at 9:07

1 Answer 1

up vote 3 down vote accepted

We had a similar situation in our team; the technology was different but the concept is universal.

I think the first thing you can do as a team is to agree upon a domain model. This will be skeleton of your implementation. Each team member needs to understand (and actively contribute if possible) to the creation of this model. The model contains the entities (they are not database tables or classes or views) of your project.

When the model is ready, each layer can start working independently (front-end and backend). Everyone has a clear idea of the domain; and a model that they can use to communicate. This creates nice and clear interfaces between the teams.

Regarding the separation within the teams (backend), one option would be to do pair-programming (since there are only 2 members). The other option would be to break the model into two parts and each person gets to work on their part.

Again, the key is to have clear interfaces between the teams. That would let the teams work in isolation.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.