Fran Tufro

Agile Learning

ūüóď 2015-01-28 ‚Ź≥ 21m.

I've been struggling with studying my whole life. I've never been able to sit down and do all that is needed for a test, or even when programming for myself. Now, after years and years of learning bits from here and there I feel like I have some solid ground on several topics, but I always felt that my self-taught ways left me with knowledge that is incomplete. This feeling is what drove me to the desire to re-take my studies in computer science a while ago. The main issue is that I always fall into the same patterns, I start, procrastinate, and quit.

A new year started and the desire to start studying again popped up as is usual in me. This time although, something was different. I stumbled upon Learning How to Learn: Powerful mental tools to help you master tough subjects, a course about studying techniques that debunked myths using neuroscience.

I started the course and it has blown my mind away. I suggest every single person to take the course and/or read Barbara Oakley's book A Mind for Numbers.

By the end of every week's videos I would get so excited that I'll jump and tell my girlfriend all I just saw, call my mother, tell the guys at Nastycloud and just everyone.

I feel this is too valuable to miss and I wanted to put it in use right away. This is why this time was different.

The course's last assignment is to create something to teach other people about the techniques you learn during it. I thought I could go a little further than that and use my experience in Agile Methodologies to create a structured way to go through the process of learning, very much in the way I go through software development. I hope you find some interesting ideas to try out on your next learning journey.

I plan to put all these ideas in practice this year while resuming my studies on computer science.

One important note is that, as you'll soon see why, no solid knowledge will be stored in your long term memory by studying one day before the exam. This methodology helps you with organizing your material over time, so that your learning experience is maximized and you create solid long-term memories that can last more than 6 hours after the exam.

Agile Methodologies

For those of you that don't know what Agile Methodologies are about, I suggest you take a look at its Wikipedia page.

I'm going to use a mixture of Scrum and Kanban boards, two of the most important Agile Methodologies around.

Scrum provides a framework for organizing large and complex projects and split them into bits that are tackled iteratively and incrementally.

Kanban uses a set of boards that implement a process' workflow in form of columns. The key ideas here is to reduce the amount of stuff what you're working on concurrently and visualize progress.

There's also the Pomodoro Technique. Even if it's not considered among agile methodologies, I think there's a lot of agile into it, so I listed it here. The most important fact about it is that it allows you to fight procrastination focusing on process and avoid burnout.

I'm going to use different tools from these methodologies to create a new methodology that may be useful while learning.

Learning how to learn

The goal for this process is to glue some important aspects of learning together:

  1. Fight procrastination
  2. Strengthen learning using neuroscience backed tools
  3. Stay healthy and avoid burnout.


Here are some definitions that will be mentioned during the article. You can read them now, or look for them in context. I'll put these words in bold when they appear.

  • Learning Material is whatever you're trying to learn from. It could be a course, a book, a MOOC, or all of them.
  • Sprints are fixed units of time that we'll use to split the amount of work over time in manageable bits. This could be as long or short as you want, in software development it's a¬†tendency¬†to use bi-weekly sprints, for this experiment I'll adhere to this, since it makes sense to organize Spaced¬†Repetitions over time.
  • Learning Backlog is a list of Learning Stories that is sorted by priority. Priority when learning may be a little tricky, my first take on this is that things that are weakly known take more priority. Do you have any suggestions?
  • Sprint Backlog is the subset of the **Learning Backlog **that is allocated to the running Sprint.
  • Learning Stories are the analogy to Users Stories in Scrum. They're the basic units of learning that are valuable to you. For example, if you're reading a book about Linear Algebra, the first chapter about Vectors could be a Learning Story. If you're attending a course, each item on the syllabus could be a potential Learning Story.
  • Chunks or chunking is the process of grouping ideas in memory so that are easily accessible. There is a lot of information about Chunking on Barbara Oakley's book.(
  • Focused Mode is one of the two modes the brain uses to learn. This is the mode you use when paying close attention to something, when trying to follow closely what a book or a lesson is about. This mode uses what's called "Working Memory" (computer fellows can think of it as RAM), a memory that is relatively small and used to store the bits of information needed and generated by your conscious thinking. Researchers do not agree about how many things we can keep in this memory, but in the course there is a consensus about being only four. The reason why you can't focus when you're on a noisy room, with a television, or other distractions is because those distractions are using those memory slots, and you may need more than one of them to actually focus correctly. One problem why we can't build solid long-term memory from this mode is that the patterns created by it fade quickly, since it's related with the now, those patterns are quickly removed if we don't do anything to move them to long-term memory.
  • Diffuse Mode is another brain mode that fires when you're not actively paying attention to something. This could be when you're taking a shower, running, sleeping or when doing other automatic tasks. This mode is where all the magic happens. The diffuse mode is the responsible of saving what's called the "Long-Term Memory" (again for computer fellows, this would be your hard drive). The long term memory, is where we want to store what we learn, in order to be able to use all that information in the future without having to re-study everything. It turns out that when we sleep, run, walk, or take a bath, the diffuse mode saves some patterns and remove some others. The patterns that we formed by studying go through a fixation process that allows them to be stored in a solid way, but for this to happen we need to force the diffuse mode to¬†recognize¬†that patterns as needed so they do not get erased. We can achieve this by repeating the actions we want to learn,¬†be it reading the material, doing exercises, playing guitar or whatever you want to learn, even motor skills, not only intellectual.
  • Flash-cards are a tool to help you study and memorize concepts. You'll use one face of the card to write a question, a drawing, or whatever that you want to learn about and in the backside you'll write the answer. When testing yourself with flash-cards you'll see the question and try to answer it. There are some useful mobile/computer apps for this just search for flash cards app on Google.
  • Spaced Repetitions is a useful tool that allows you to make most of the way Focused and Diffuse modes
    • Process Overview

      The process works by going through a set of phases that will help you organize your Learning Material and study it in a way that is efficient for creating solid knowledge. The base principle is building incremental Chunks iteratively.

      We'll go through an initial Project Planning, which will create the base Learning Backlog, then we'll iterate through several Sprints.

      Each Sprint will be divided as well into Sprint Planning, Daily Retrospectives, Kanban iterations, Sprint Demo and Sprint Retrospective. All of these phases will be discussed below.

      We'll also pay attention to avoid procrastination and burnout using small iterations each day.

      One more thing, this process can be done solo or with a study group, I encourage you to try it out with yours and see how it goes. Agile Methodologies are all about team bonding and performance enhancement, so I'd love to hear your experiences using this with a study group.

      Project Planning

      The first phase is one-time only. We'll define the initial Learning Backlog. For this we'll take a quick look at the Learning Material. If it's a book, we can create one Learning Story per chapter, and later split those Learning Stories into smaller ones. Syllabus or course outlines are useful if you're attending a course to identify these first big Learning Stories.

      The Learning Backlog should be always sorted by priority, which is difficult to decide at this stage. We can for now assume that the material is sorted already in a way that favors tackling it in order, so the default order may be ok.

      This Learning Backlog is going to be the device that will answer the question "What comes next?", we need to review it periodically so that it reflects the actual state of priorities and it can (and it should) change many times during our journey, specially to allow stuff that we don't fully get to come into play later.

      Sprint Planning

      The goal for the Sprint Planning is to come up with a set of Learning Stories that we'll tackle during this Sprint. The expected outcome is a Sprint Backlog, that will basically be a slice of the Learning Backlog.

      Selecting what we'll focus on during this Sprint will allow us avoid the feeling that there is too much to tackle and procrastinating because of that.

      The first step is to take a look at the first Learning Story on the Learning Backlog. If it seems big enough so that it can't be read or seen in less than one day (if it's a class will actually finish in less that one day) we'll need to split it in several Learning Stories. For example if there is a really big chapter on Vector algebra, we may split it in scalar multiplication, vector addition, dot product, cross product, etc. A math demonstration, a specific learning technique, whatever that is small enough to read about it and maybe do some exercises on it is small enough to stop splitting.

      In this way we'll iteratively split huge topics into more manageable bits of information that can be tackled one after the other.

      Once we've split our first story, we repeat the process with several more stories.

      We should stop when we feel that we have enough Learning Stories to fill our plate for the next Sprint (two weeks).

      Those Learning Stories that we think we can fit in one Sprint are called Sprint Backlog, and those are the stories we'll tackle during our Kanban iterations.

      Once we have our Sprint Backlog, we start our daily iteration, composed of Daily Retrospectives and Kanban iterations.

      Daily Retrospectives

      Our daily retrospectives are used to think about what we did the previous day and what we'll do today. In Scrum is common to call this Daily Stand-ups and them to be held during the morning, before starting to work. For our process instead, I'll make use of a suggestion made on the Learning how to Learn course: Write your daily goals at the end of the day. It seems that deciding what you need to do the day before allows you to tackle the tasks with a fresher perspective and avoid using important mental space when focusing on the tasks themselves. Also going to bed knowing what's ahead of you helps keeping your enthusiasm, since you feel that awesome progress is waiting there for you.

      Another goal for this Daily Retrospectives is to identify if there is something blocking you from achieving tomorrow's plan. If there is something blocking you, you need to unblock it before doing anything else, if you don't forgot your study material, or whatever that may be a problem arises, you need to prioritize fixing it, so that you can continue progressing on your learning.

      Now that you have your daily todo plan for tomorrow, have a good sleep. It will clean your brain from toxins that prevent you from creating solid Chunks of memory.

      Kanban iterations

      This is the most experimental part of the process and one that I may change once I actually start using the process. Kanban boards are great to visualize progress and to elegantly organize workflows where tasks go through several states. We're going to use kanban columns to represent spaced repetitions of the Learning Stories that we've defined. These columns are: First Material reading, Exercises, Repetition 1, Flash-card creation, Repetition 2, Test with flash cards 1, Repetition 3, Repetition 4, Test with flash cards 2, Repetition 5, Repetition 6, Test with flash cards 3, Repetition 7.

      In kanban you set a limit of concurrent tasks that can be done in the same time, for this we define a number of possible "Slots" per column. For example, we'd want to allow only one slot on First Material reading. In this way, we're forced to finish reading the material before starting something new. This will allow us to focus and avoid being overwhelmed by all the information that we have.

      Since I haven't done a full iteration on this yet, I'm not sure about how many slots I'll use on each column, for now I guess everything will have one slot except for the flash card tests columns that I may put 3 or 4 topics at the same time. Maybe a good approach could be increasing the slots as the repetitions increase, giving for example 3 slots to repetition 4, and 6 slots to repetition 7, guessing that spaced repetitions take less time and don't have to be that blocking when you already did a few of them. If you are planning on using this process I'd love to hear your experiments on this.

      The way you should approach the iterations on this Kanban board is related to what the course calls "Spaced Repetitions". It turns out that the best thing you can do in order to allow your brain to save the patterns you learn in a more solid way is to periodically revisit what you study, first with high frequency and slowly reducing it. For example if you are studying vector algebra, instead of reading the whole thing five times one day, you read it once and stop. You grab the book the next day and read it again, wait a day, and do it again, now wait two days and do it again. In that way you help your brain store the information you're studying in your long-time memory more efficiently. This is the main reason why a lot of people that study for the exam the day before usually forgets about everything the day after, or even hours after it.

      The Kanban Board's workflow requires you to start on First Material Reading and go all the way up to Repetition 7, but not all in the same day, and not sequentially. When you finish a Learning Story in a given column, you can move it to the right, so it goes to the next state, but only if there are free slots. If there aren't free slots, you'll have to finish pending stories on that column before.

      If more than one option is available to work on, you can choose whatever you want. For example if you have an open slot on First Reading Material, and one task sitting in Flash-card creation, you can both create the flash cards or do a first reading on the next Learning Story. How you organize is up to you, but keep in mind the available slots, if you finish the first reading of something, but there are no open slots on Exercises, you'll have to do the exercises of the previous Learning Story in order to continue. The same goes for the following columns.

      Once you start a Learning Story in one column, you won't switch until it's finished in that column. For example if the Learning Story is reading about Dot Product, you won't start doing exercises about Scalar Product until you finish reading about Dot Product. This is why it's important to keep the Learning Stories small, so that you can manage to do progress on many of them in one sitting.

      The only thing that I'd advise is not to do repetitions in the same day. If you feel that slots are limiting you because of this, experiment about the right number of slots for you, don't do more than one repetition each day. But be aware that you always want to minimize the slots while not creating bottlenecks because of repetitions.

      The idea is that on your daily study sessions you start working on your Learning Stories in order, and while you move them through the different columns, you'll see your learning progressing.

      Remember to finish your day with your Daily Retrospectives!

      Pomodoro Technique

      In order to keep your learning solid, you'll want to consciously allow your brain to alternate between the Focused and Diffused modes. For this (and to fight procrastination as well) we're going to make use of a technique called Pomodoro. You can find plenty of information about it on the web but I'm going to do a quick overview of the things I find useful for our process in this section.

      The Pomodoro Technique uses small iterations where you highly concentrate and rest for a few minutes. You will want to avoid distractions during these iterations, so you will turn every little electronic beep off, being the cellphone, computer, pager (do those still exist?) or Tamagotchis. You will also put a do not disturb sign on the door, and ask everyone not to bother you for the next 25 minutes. Yes, 25 minutes, who can't focus for that time? Even I do it, so you have to be able to as well.

      During these 25 minutes you will forget about the rest of the world and just focus on what you're doing. Nothing and nobody should bother you during this time. You have to consciously postpone anything that pops up that you need to do. If someone calls, tell them to wait 25 minutes, if you remember that you need to pay the rent, write that down and you'll take care of that later, if the house is burning wai... no, that's ok, you can break the pomodoro in that case.

      You'll need a timer for this, I suggest you buy a cheap kitchen timer if you don't have one, so you can turn your cellphone or computer off during Pomodoros.

      After those 25 minutes, you'll take a 5 minute break. Stretch your legs, prepare some green tea (not coffee!), do some pushups, take a shower, whatever you can do in 5 minutes, is great, just stop actively thinking about what you were doing. This will allow your mind to rest and avoid burn out. You can also use this time to take care of something that came up and you wrote down during the previous Pomodoro.

      After the 5 minutes break, start a new 25-minute Pomodoro.

      There is one thing I'd add to this process. After 4-8 Pomodoros (2/4 hours), you can take a longer break. 30/60 minutes would do it. The idea behind this longer breaks besides avoiding burn out is to allow to fire your Diffuse Mode. During all those Pomodoros you'll have been using your Focused Mode, and as we know, that's only useful to start creating the patterns that will end up going to our long term memory. Now it's time to allow our brain to save all that information, so, do something during these 30/60 minutes that will switch to Diffuse Mode. Ideas are washing dishes, go out for a walk, or run. Doing exercise is a great option here since it will also help creating some of those brain cells that you'll need to keep all that information you're trying to learn about. A nap could work as well (I'm wondering if Polyphasic Sleep would make the perfect couple for this method).

      Sprint Demo

      After the two-week Sprint, we'll do a Demo Test. The idea is that you test yourself through all the material that you studied during the past Sprint. The goal for this is to sincere yourself and see if you actually learned the material. For those Learning Stories that seem weak, you can put them again on the Learning Backlog, with the priority you want. You can go through all the flashcards you wrote, you can do sample tests, try to do all the demonstrations without looking at the textbook, etc. It's really important that you assess yourself thoroughly during the Sprint Demo, since this will be the main measure of your learning progress.


      Sprint Retrospectives are used to analyze what went well, what went wrong and what needs to be changed. For example, if you see that the previous Sprint got some bottlenecks on the Exercise column, this is the moment to decide to try add one slot during the next Sprint. I discourage you to make changes to the process during Sprints, wait for the next one if you can. If you're using this method with a study group, this is an excellent time to talk about problems that may have happened, like some member being late all the time, or the chosen study place being too loud. Remember you have the Daily Retrospectives too, but those should last 5 minutes, this Sprint Retrospective should last 30-60 minutes and the idea is that you think deeply about your attitude, your results, and how to perform better. If you think you're doing excellent, think a little bit more, there are always areas to improve and experiment. Change the process, see if there is something awesome that you're missing because you're not thinking creatively about your learning. Some questions that may help you on a retrospective are:

      • Did you accomplish what you expected? No? Why?
      • Were the chosen Learning Stories enough? Too Much? Can you do more?
      • Did you manage to understand all the material? Do you need to talk to someone to clarify?

      Interesting tips

      Now that we went through all the process I wanted to leave some interesting tips that I grabbed from the course and that you should keep in mind while studying, even if you apply this process or not:

      1. Strengthen your knowledge by alternating between Focused and Diffuse Mode.
      2. Test yourself constantly. This helps bringing stuff to working memory which indeed helps building more solid long-term memories.
      3. Writing your own flash cards allows you to write down what you learned. It seems that the fact of writing it with your own words and using your memory strengthens your patterns.
      4. Research has shown that while exercising you create new brain cells. Now we don't have an excuse mates, we need to exercise.
      5. When you feel you're procrastinating because of the amount of material or the hardness of it, focus on the process, 25 minutes of study can't be that bad, and you'll already be making progress.


      I hope you enjoyed my take on Agile Learning, I believe that mixing high performance techniques used for software development with all the neuroscience backed learning tools I learned from the course was a good idea. Even if it's a long process that may take some time to get used to, it will maximize your learning and help your learn better and spend less time procrastinating and being worried about the dimensions of what you need to do.

      I'd love to hear your experiences using this method, I'll try to document mine as soon as I go back to college.

      Thanks for reading!