Organizing a Class with Agile Methods
I was introduced to agile software development methods while in industry. I really became a fan of agile methods, though, when I found that applying agile methods to my own projects (e.g., research papers, teaching a class) improved my productivity.
General Workflow
I follow a few general guidelines:
- Organize the work as a set of tasks
- Tasks should be discrete, well-defined, and only take a couple hours or less to accomplish
- Organize the tasks into sprints that are usually one to two weeks long
- Track tasks using a Kanban board
I keep a separate Kanban board for each project or class. I use Trello extensively to implement and track my Kanban boards.
Adapting the Kanban Board for Teaching Classes
I found that the usual approach of a single sprint length made it difficult to organize tasks around the due dates for classes, though. Every week, I have several lectures and a lab that require preparation. I need to make sure that I prepare things in the right order to be able to hit all of the deadlines.
I found a solution by adapting the concept of a Kanban board. Instead of the usual “Backlog”, “To Do”, “Selected”, “Blocked” and “Done” columns, my columns are based on timescales. I have three fixed columns (“Due This Month”, “Due This Week”, and “Due Before Next Class”). Every week, I create a new “Done” column.
Maintenance
To keep the Kanban boards up to date, they need quarterly, weekly, and daily maintenance. At the start of the semester or quarter, I add tasks for large course deadlines like exams to the “Due This Month” column.
Every week, I re-populate the Kanboard with tasks for that week and add them to the “Due This Week” column. Most of these tasks are re-occurring such as “create weekly entry in learning management system”, “create homework assignment”, or “prepare lecture for Tuesday.”
Every morning, I review the tasks in each board. I move tasks that are due for the next class session to the “Due Before Next Class” column. I then make a to do list for the day from the tasks in the “Due Before Next Class” column. My to do list is usually written down in a notebook. (I don’t manage it digitally.)
The to do list contains 3-5 big tasks from across all of my projects. The 3-5 range is on purpose – I find that I can usually only accomplish 3-5 big tasks on a productive day. If I overload the to do list, then I lose focus and am less productive.
Work Periods
When I have a block of time to work, I review my to do list. I pick tasks that I can reasonably accomplish in the time available to me and my energy level and focus on those. This approach helps me use my blocks of time efficiently because I don’t spend time wondering what I should be working on and start each work session with a clear idea of what needs to be accomplished.
Conclusion
I adapted the common Kanban board to work with organizing the reoccurring deadlines associated with teaching a class. The downside of this approach is that it involves heady-handed manual maintenance. If you don’t develop the habits of checking the boards daily, then the approach will be fruitless.
It may be possible to automate the process more. If I can find a way to assign deadlines to tasks based on their column and generate a “smart column” of all items due across all projects, I could auto-generate my daily to do list. There does seem to be value in reviewing the boards on a daily basis, however. Automating away the maintainence may limit the effectiveness of this organization method.