Skip to content

tddfellow/learning-hour-developer-productivity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Learning Hour: Developer Productivity

In this learning hour, we'll learn different techniques that you can adopt to improve your personal and team's productivity.

Two modes of focus

There are two modes of focus:

  • Individual focus - when you work alone, and you get into flow. This is where you can produce your best work. Individual focus flow is easy to disrupt (e.g., a random meeting or distraction completely destroys it).
  • Co-creation focus - when you work with someone else on the same problem. This could be a pairing or ensemble session. It takes a bit more time to get into the co-creation flow (where the group can produce its best work). However, the co-creation focus flow is much harder to break. If one person has to leave for a meeting, and if there are still one or more people who keep working on the problem, the flow isn't interrupted. When the person returns, they can re-join the focus flow very quickly.

Blocking focus time in the calendar

You can (and sometimes should) block focus time in your calendar. If you ever find yourself in a situation where you have too many meetings at random times, that fracture your day and don't allow you to have a long enough focus session (so you can forget about the focus flow), then this is what you should do. Decide on when you should have large enough focus blocks and block them out in your calendar, so that nobody can schedule a meeting at these times.

Meetings are important about deciding what to do, when and how, however, once current decisions have been made, it doesn't make sense to do more meetings - it's time to execute. As an individual contributor, when you have a backlog of made decisions, it's much more valuable to finish work that these decisions require, before you make more decisions as a team.

Focus trigger

Develop a specific set of triggers that your brain will associate in the future with the beginning of the focus flow. For example, you can use the same specific music playlist that you listen to only during the focus sessions. If you do this long enough, the brain will associate this to the flow state, and you'll begin entering this state much quicker when you start listening to it.

Other methods that can be used:

  • brainwave entrainment,
  • Pomodoro Technique,
  • being at a specific place where you only do focus work (no meetings or other activities),
  • physical actions like snap of the fingers, or certain phrase that you tell yourself.

Eliminate distractions

Since the focus state can be interrupted so easily, it's important to proactively put up defenses against these types of interruptions:

  • Put any device that can send you a notification on the non-disturb mode and out of sight (e.g., smartphone, smartwatch, etc.).
  • On your computer, close all applications that can send you a notification, or get you distracted. Examples: email, calendar, chat software, social media, news, etc.
  • Close any applications or browser tabs that aren't related to the task at hand.

Also, agree with your colleagues on how you will signal to them that you're in an uninterruptible mode. This could be something visual, or if you work remotely, it could be particular status. Also, you can always close yourself in a meeting room.

Maintain task list for work-in progress

When you begin the work item, you identify and note down the sub-tasks that need to be complete to finish this item. You note this down in the task list. One such task should be pretty granular and doable in 15-50 minutes (depending on the length of your focus sessions).

As you work through the problem, you're likely to discover other things that need to be done, or other problems that has to be solved. Usually, when you discover them, you'll have an urge to solve them or make decisions about these right at that moment. This is actually not very efficient, because you're interrupting your work on your current task item.

Instead, you should simply add these at the bottom of your task list, and forget about them until you reach these.

As you keep working through the list, you have to keep it up-to-date: every time you complete a task, you mark it as done (feels good to do that), and then you quickly review if there is anything outdated or missing on your list. Update it accordingly, and then get started on the next task in the list.

This practice improves the efficiency of your focus sessions because it makes you more resistant to context switching. Additionally, when unavoidable interruption indeed happens, it's much easier to get back into what you were working on, and continue from there, thus allowing you to have overall longer focus flow state time per day.

When you're co-creating, it's also very important to maintain such a task list together. When one of the persons has to leave the session, the group can freely continue without them.

You don't always need such a task list, because the work item may be so small, that it will be one task on the list already - then you don't use it.

Pomodoro Technique

Split your focus work into focus sessions of specific length, with short breaks between the sessions. Here are possible configurations that I've seen out there:

  • 25/5:4x/15 - classic Pomodoro Technique: 25-minute focus sessions, between each the break is 5 minutes, after every 4th session, there is a longer break of 15 minutes.
  • 15/3:6x/10 - much shorter focus sessions (usually used for exactly one item on the task list) of 15 minutes each, between each the break is 3 minutes, after every 6th session, there is a longer break of 10 minutes.
  • 50/10:3x/15 - much longer focus sessions (can get many things done in one sitting) of 50 minutes each, between each the break is 10 minutes, after every 3rd session, there is a longer break of 15 minutes.

You can also play around with this time configuration to find what works best for you.

The value of applying this raw simple version of Pomodoro Technique is that you get sufficient amount of breaks and allows you to briefly clear your mind before going into full-in focus mode to solve the next item on your list. Also, as you allow your mind to be cleared, you may get inspired and solve the problem that you were fighting with during the break time.

However, the Pomodoro Technique on the scale of how you utilize the many sessions is more interesting. This is the advanced Pomodoro Technique that can be used for short-term planning and effective execution of work:

  1. First session is spent planning what you'll do in the next sessions (e.g., plan the next 6 or 8 sessions). This is where you create your task list for the work ahead of you, and you also distribute these tasks along the focus sessions. I personally like to have 3-4 tasks in each focus session. But sometimes the tasks are bigger, and you'll have only one per session.
  2. Execute the plan in the further sessions.
  3. Once the plan is achieved, go back to step 1.

This deepens your focus much further, because you're setting short-term goals and targets, and you'll be very motivated to hit them. Since the pressure is self-inflicted, it won't create as much stress, as for example, an external one.

As you start doing this, you'll find out that you're underestimating or overestimating how long these tasks will take. This is okay - as you practice this, you'll get better over time!

Discussion

  1. What other productivity techniques did you use before?
  2. Have you tried any of the above, what were your learnings?
  3. What would you try to apply going forward?

About

Learning hour about developer productivity techniques

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published