4 Things I Learned About Productivity

- 2017.6.26 4:00pmPresenting at the San Francisco Unity Users Group

I just spent three weeks preparing for the Playdeck Project! Part of the time I was wrapping up loose ends, and part of it I was building tools for use during the project. It's been a relaxing and enjoyable few weeks, but it was also full to the brim with some pretty cool accomplishments!

I've streamlined my workdays a lot already, so I decided to share some strategies I used to make myself more effective! I won't say I'm 100% productive yet, but I've seen a pretty drastic improvement since my first week.

Here's what I actually did manage to accomplish over the last three weeks, in case you're interested :) And I have some numbers and data related to these at the end of the post too!

  • Published the Playdeck Website.
  • Launched Ferr2D Terrain v1.11.
  • Gave a presentation at the San Francisco Unity User Group.
  • Wrote 5 blog posts.
  • Finished three tools for personal use: Ferr StateWeb, Ferr UnlockTree, and Ferr Spawn. (These were all hovering around 90% complete before.)

Thing I learned #1: Plan for the day

Good enough. All paper near me is in general danger of math.

There were a few days where I drifted around quite a bit, uncertain what to work on. I decided this was just a lack of planning, and fixed it by creating a todo list on a stickynote first thing every morning. It doesn't matter if I don't finish everything on the list, it's just important that I have a visible or mental reminder of what tasks need to be done when I start losing focus.

Thing I learned #2: MVP

I won't have a lot of time on this project, so every hour is super valuable. I noticed very quickly that it's extremely easy to slip into tasks that don't fit into the Minimum Viable Product! It's great to work on polish, but the MVP is critical to get done first and foremost, and polish items often have a very low return on investment.

I came up with two different techniques that helped me prioritize my tasks correctly, and refocus me when I got too deep on the wrong tasks.

First, I made a specific definition of what the MVP for that project was. This is pretty intuitive, but if you define your MVP, then you know exactly what needs to be done first. Anything that isn't part of your MVP definition can be put off until later! I do this when I first break a project down into tasks.

Second, I took occasional breaks, allowing me to think about my tasks at a higher level. When you're working on your project, you're solving problems, overcoming challenges, and getting things done. But you aren't thinking about the bigger picture! The big picture isn't in the details, and spending some time walking around or working out allows you to bring your head above water and evaluate if what you're working on is time efficient and important to your MVP.

Thing I learned #3: Problem topics

For me, it's very difficult to write quickly, and it's very difficult for me to estimate how long writing will take. For you, this may be an entirely different category of work, but writing is my current snag. I'm really hoping it will get better over time as I write more. But in the meantime, I'm allocating more time for when I write, and I'm planning around it being a bottleneck.

I also decided that polished Unity editor UI takes a significant amount of time. It's wonderful to have a polished editor UI, and it's crucial for a finished asset store tool, but during game development weeks, I'm going to defer this type of work until my free weeks.

Thing I learned #4: Distractions

When I'm making things, I generally don't have a problem with focus. I hit flow state pretty quickly, and I stay there. But the biggest improvement I had to productivity was when I uninstalled Fallout Shelter from my phone! It's a fun game, and I've learned a lot while studying it, but it gradually consumed more of my attention over time. I knew it would distract me, but I had underestimated just how much it was impacting my focus. The constant interruption of mobile game mechanics was absolutely brutal to flow state work.

Quite fun, I totally recommend it! ...but just for a little bit.

Right now I'm playing Rise of the Tomb Raider instead! It's fun, and it doesn't consume my attention when I'm not playing it. I play it in large chunks in my free time, rather than in small chunks scattered throughout the day. Much better.

Data

One of the things I wanted to do was keep a work log, something that would let me paint a more detailed picture of what I've done. Reflection is a key component of this project, and since I have a terrible memory, keeping a work log is pretty essential! I don't track a lot, or care about 100% accuracy, but I spend about 5-10 minutes every evening filling one out. I also track it as JSON, so I can pretty easily run code on it. And since I have 3 weeks of data already, here's some interesting numbers!

I worked 110 hours of work over 15 days, 7.33 hours per day.
72 hours were spent programming, and 20 hours were spent writing.

    Hours by project
  • Playdeck Website - 39 hours
  • Ferr2D v1.11 Update - 24 hours
  • Unity presentation - 16 hours
  • Ferr StateWeb Tool - 10.5 hours
  • Ferr Spawn Tool - 10 hours
  • Ferr UnlockTree Tool - 7 hours

If you have any strategies you use or enjoy for being more productive, or working with your problem topics, I'd love to hear about it! I'm definitely looking for anything that'll help me be more efficient :)