Managing competing projects.

It's never a problem at work because there is a whole structure in place that provides tasks and assigns priorities

I think this is the key. As a solo developer you need to be able to wear many different hats. You need to be a director/manager who's in charge of deciding which project(s) to put your man hours towards, you need to be a product manager in charge of grooming the backlog & planning sprints, and you need to be a programmer who actually implements the things.

The problem is, if you keep your "programming hat" on 24/7 then you'll constantly be doing the stuff that interests you the most rather than the stuff that's most useful to delivering a finished product. (I'm guilty of this, all the time)

You need to pick a single project to focus on. Put your director/manager hat on and pick a project that:

  1. You're confident that you can deliver
  2. You would enjoy working on for a long time
  3. Is likely to sell well enough to be worthwhile

If you can't decide, then do more market research until you can.

Once you've picked a single project, you're committed to it. If you want to work on something else, you must first make a business case for it. Why is the new idea worth the cost of abandoning the old one?

Now, every 1-2 weeks you need to put your product manager hat on and plan out a sprint. Make sure each task is detailed enough that any programmer would be able to do it, not just you. Write acceptance criteria for when the task should be considered "done".

That's the difficult part done. Now you can just put your programmer hat back on and do what you'd normally do at work - take task from backlog, do task, repeat. While you're in "programming mode" you're not allowed to switch to a different project, reorder the backlog, or do anything that's not on the backlog. That's above your pay grade.

This approach seems to be working for me at the moment, at least. When I'm in "programming mode" with no structure I made terrible business decisions and waste a ton of time doing stuff that doesn't matter.

/r/gamedev Thread