My friend and I decided to create a large programming project together. Before that, I have never worked in a pair (I had quite many projects on my own and at work the boss defined the task for me). But now we have an idea of what kind of app we are going to do, how to plan it...but how can we divide the responsibility for the code in the project so that we don't do each other's work and it is not so closely related that we have to overlap each other's code?
How would you divide the tasks, what is the original way to do that? How would you divide the tasks in modules if they represent one application and are very closely related?