Setup | Shells | Git | Markdown and IDEs | Virtual Environments | Task Management

Task Management

In software engineering work there is often many intangible sets of things todo that have to be captured, assigned, prioritized, and tracked. Stickies are not going to cut it!

Github Issues

Issue trackers, such as Bugzilla, originated as a bug reporting tools. A project hosted on github comes with an issue tracker too. Any one can report an issue, add labels, and assign any team member(s) can be assigned to an issue.

image

Nowadays, developers also use issues as a lightweight task management tool. For this usecase, it best works for smaller projects.

See open issues: https://github.com/alt-code/AutoSpark/issues
See closed issues: https://github.com/alt-code/AutoSpark/issues?q=is%3Aissue+is%3Aclosed

Features:

Trello

Trello is a planning tool that is inspired from kanban and agile methods.

In kanban, you have a “visual” pipeline for transitioning ideas into a delivered product. In trello, you can move a card (often representing a task) between lists.

Boards, Lists, Cards

image

Trello allows you to create boards. On those boards, you can create lists. Lists can be used to hold cards.

Recommended Pipeline:

  • High-level goals: What do you want to accomplish?
  • This Week: What actions can you do to accomplish those goals.
  • Doing: What are you doing today
  • Waiting: What is blocked.
  • Done: What have you completed.

image

It is recommended that you break tasks down into 2–4 hour chunks.

Signs of a bad Trello board

  • Empty
  • Only high-level goals
  • Too many things
  • Items sticking around not making progress.

Instead of saying “Do analysis” => “Find R package for doing peak detection”. This is more concrete and actionable.

Scrum

Scrum is a process for managing tasks. The most popular aspect people use is the daily stand-up meeting. In a daily standup, people report the progress and status of the tasks. The idea is by standing up, you won’t try taking too long to talk.

The main things covered in a scrum:

  • What I did.
  • What I need to do next.
  • What is blocking me.

Practice: Set up a Task List and Trello Board

In your Project0 repo.

  1. Create a new issue related to your progress on this workshop. To create the issue, you can borrow the checklist from the README.md and modify it to work for you. If you’ve checked off everything, then you should have mastered a great set of foundational skills preparing your for real software engineering work!

  2. Create a personal Trello board for this semester. What tasks should you be working on? Alternatively, you can play with a similiar tool: GitHub project boards.