Do it by story. But by far the best way is have 2 developers work on the same story. Working together across the whole architecture. They can share the tasks as they are needed, creating the view or the model or the stored procs, and tables etc. There will be some stepping on toes but at those times they can pair program.
Try to think of the 'team' doing a story. Rather than a single developer, and if they all work on the same story at the same time, the development should flow at a cracking pace.
As Kieron says, you need a ten minute design meeting with the whole team, to decide how its going to hang together.