I've been using Scrum for ages on my own projects, which are usually part-time (couple of hours per week -- maybe up to 10 hours a week) and usually solo (although occasionally include teams of up to 3-4 people).
I like certain benefits which I get from using Scrum:
- Centralized backlog of work (previous, current, and future)
- Breaking down work into small, user-facing packages (stories)
- Quick/cheap estimating of stories
Some issues that I struggle with:
- Estimating stories seems like a waste, especially if I'm the only developer, there's no concept of a release/goal/deadline.
- Sprint velocity swings drastically. For example, if I get sick, it drops to near zero; if other commitments back off, it can double.
- I end up changing story velocities often to try to reflect "real" effort (not estimated effort), especially if they were off by more than one Fibonacci number (eg. 3 => 13)
Trying to use velocity for capacity planning ("how long will it take for ...") is almost impossible. In fact, other than breaking work into smaller pieces, it's mostly overhead.
Is there a tweak or better way to get meaningful velocity under this kind of situation? Longer sprints may work (average out better, eg. one month), but I'm still not sure that my velocity is actually meaningful.