You could start from the frontend. This way you arecloser to how the product should look and feel, but this might force you to spend too much time on ui details. Also this means that things you might have supposed coming from the backend are not there.
Starting from the backend and the data model might mean that you build something that wont be needed in the frontend.
How do you handle this?
In other words there should probably be a number of shards tackled at once to help ensure that you haven't omitted something critical from the design.