At work we do 2 week sprints and have a checklist of things to achieve for each sprint. For side projects I like to be a little more explicit, but I guess that comes down to how I plan projects. I'll say I want to complete X controller or component rather than vague functionality.