Agile tools for the Samurai Coder
This post is not meant to help you understand agile methodologies. A simple Google search will be enough to reveal tons of posts presenting, explaining, analyzing and suggesting how to make agile methodologies work to your advantage. And we have to keep in mind that they all usually apply to teams of 3 or more people. This post is about the freelance developer who just needs a simple way to manage tasks and projects. I do not claim that I present the absolute and irrefutable Truth; every person has their own way of working. This post simply intents to be a starting point to another way of doing things.
Meet Sally. Sally is a developer, a Samurai Coder, a hero of the day and she absolutely loves writing code. She works as a freelancer and the other day she got a new project from a customer.
Before starting work, she picks up a piece of paper. She writes down the day’s tasks (to-do’s, appointments, ideas etc) and crosses off the completed ones. She repeats the same process every day. These sheets of paper pile up and follow her everywhere… until she finds Evernote. Evernote replaces the paper and uploads her notes to the cloud, but still…. The notes multiply just as much and just as quickly as the papers do. They only stop creating piles on her desk.
Sally is desperately in need of solution – a way to capture and track her customer’s numerous requests as well as the 100+ things she has to do. What about a bit of agility and organization? How about combining simple methods and tools to get things done? Sally gave it a thought and found out the 5 most important things to her:
- Ability to separate projects and tasks.
- Clean visual overview, i.e. understand what needs to be done, watch the progress or the big picture, and prioritize accordingly.
- Sharing and Collaboration features.
- Accessibility, i.e. ability to retreat her work through any device in real time.
- Speed, i.e. Sally’s work is programming, not using tools. Tools should work for her, helping her save time, and not the other way around.
The simple process
- Here’s a really simple and basic five step-process that Sally could follow. This kind of flow is Kanban-like (but I will talk more about Kanban on another post).
- Create a repository for every project.
- Separate it virtually in 3 areas: to “To Do”, “Doing” and “Done”.
- Add new tasks, requests or bugs in the “To Do” area.
- While working on a task, move it from “To Do” to “Doing”.
- Move the task to “Done” when completed.
There is a great variety of software tools in the web; tools for small teams, big teams, distributed teams… But how about one single person? We will see how Sally can follow this process with the use of 3 simple tools: a) Trello, b) Asana and c) Wunderlist
Trello’s visual layout is very intuitive. Imagine a dynamic whiteboard with columns (lists) and cards (like advanced sticky notes).
How to use it:
- Create Project with the use of Trello Boards: Each Trello board represents a project. Add lists (columns) to simulate progress. Add cards as tasks. And that’s all…
- Managing Tasks: A new Board has by default three basic columns: “To Do”, “Doing” and “Done”. You can drag a card over these columns anyway you like and you can always visually track both the card and its status.
- Handling of requests or bugs: Trello has a color mapping that you can apply on the cards (e.g. red color for bugs). You may add lists, comments and much more.
Asana is an advanced task list oriented application with an equally intuitive visual layout to Trello. It is fast, easy to use and quite popular.
How to use it:
- Create Project with the use of Asana Projects: Start a new project and add tasks in the center column.
- Managing Tasks: Tasks added in the center column get a level of hierarchy and may be stacked. You can start by creating the three high level tasks “To Do”, “Doing” and “Done” and then fill them with specific tasks accordingly. You can easily create a task, drag it to move and edit its details on your right hand side (add sub lists, comments and more). There is a checkbox in front of every task and may be checked if the task is completed. By doing so the task is removed from sight but if you prefer you can manually drag it bellow “Done”.
Wunderlist is a pure task list oriented application, though their newest update has many improvements including Collaboration and Public Lists. It has a clean UI and is much simpler than Asana, quite fast and user friendly.
How to use it:
- Create Project with the use of Lists. Add a new list and add tasks in the main column. Just like a true boss…
- Managing Tasks: Add tasks in one column. In order to create some kind of flow for your tasks, create more lists (see the example in the pic below). Wunderlist is quite easy to use, but not as advanced as other tools, i.e. missing collaboration features, ability to assign subtasks, etc.
All of the above tools are equally fast, have the ability to collaborate (add more people to your list/project) and can sync to other available devices.
+ Nice visual and collaboration.
– No task sub lists (there is a great checklist feature, but there is a minor problem: you cannot assign tasks to these lists. As a result you need to create separate cards).
– The visual style with the cards may overcrowd the board making it look messy.
+ Nice interface, quick.
– Not a nice “big picture” or “flow” visibility
+ Nice simplistic UI, powerful task list.
– Missing advanced features the other tools offer.
+ Their recent update added collaboration features.
Sally in our story has therefore many great tools in her disposal. All she has to do is put her pen and paper aside and work easier and faster. And you can all join her!