I like keeping project tasks really, really short. A week-long task is sometimes too long, but obviously satisfying when finished. I also like keeping product releases very short. A release might have only a few of these short tasks. That ensures that the product is always within a few days of release. Project scheduling is simpler when tasks are short.