Common day-to-day tasks like managing workflows and todo lists don't fit perfectly inside the domain of the normal development suites from Microsoft, Atlassian, etc., or even Project Management tools like Asana.
You can make those tools work for you, but they will never be as quick and easy to use as lightweight, focused tools that were built to do that one thing.
Todo lists
To start with a simple example, let's look at todo lists. My tool of choice is workflowy.
Here's an example screenshot:
It's a wonderful, clean, simple tool. At its heart it helps you quickly create hierarchical todo lists, expand/collapse them, move them around and mark them complete.
You can access your todos from any browser or wonderful mobile apps for a pure cloud experience.
You can share bullets and sub-bullets with others, which I often use to share data with co-workers. Or the wife:
You can also #tag your todos for quick filtering and color coding, and automatically backup your todos to a folder in your dropbox account.
Some example uses:
- Topics to discuss in your weekly email update to the team
- Topics to bring up in next one-on-one with your boss
- Tasks brought up in your teams one-on-ones with you
- High-level department initiatives and ideas to brainstorm
- A list of your team members and hierarchy
Workflows
KISSFLOW is my choice for Workflow Management - again, it's very simple and does one thing very well.
You may not use pure workflows yet, instead relying on apps like Trello or Asana to simulate workflow. Those tools have quite a different focus however - tracking and moving often unique project-specific tasks through your SDLC.
Workflows are repeatable generic tasks such as "onboard a new team member" or "start a new project" that you need to run again and again. Take a look at What is BPM (Business Process Management)?
You could use a todo list or kanban for these - many do - but then it becomes harder to track where you are in any instance of that process.
Onboard three people at once and you have to start printing out your todo list and checking them off with a pencil.
Using a workflow engine like KISSFLOW allows you to define forms, actions, approvals, decision paths and loops once - and then run a new instance of them whenever needed.
You can route parts of the workflow to your colleagues for input or approval, then automatically take new actions depending on their actions.
Most importantly, you can quickly track the status of every instance of the workflow that is running:
Some example uses:
- Onboarding. I have a loooooong list of tasks for every new team member, even outside the HR/IT tasks that those departments track themselves. This will have to be the subject of a future post, but includes tasks such as:
- take them to lunch on first day
- introduce them to the team (via email and in person)
- brainstorm and organize their initial training or tasks
- setup one-on-one
- setup 90 day review
- Initiate a new project. At an early phase of your SDLC you may need to manage all kinds of generic tasks such as creating a timesheet billing code, documentation for finance department, arranging brainstorming, kickoffs, estimation, etc.
- Release a completed project. After a project is out of QA and "releasable", what happens then? Often the defined SDLC doesn't extend through the release stages. Who updates the readme or website, prepares PR and marketing, updates licensing modules or gets hotfixes into support customers hands?
Some of these tasks aren't strictly Engineering, but you can use these tools to improve workflows across departments.
Having well-defined workflows - and updating them regularly as you see what could be improved - will help you track these miscellaneous tasks and catch those dropped balls more often.