A Lightweight Project Management Workflow

Every time I start working on a new project where the means of coordinating the software development work are not established yet, I propose a lightweight agile workflow distilled from my past experience on a wide variety of projects. This workflow described below is my personal preference and by no means perfect or the only feasible approach. Also nothing here was invented by me.

The workflow is best applied at small teams of 1-10 people working on a single software product. Ideally, the team is composed of one or more developers with roughly similar skillsets, optionally supported by one or more visual/UX designers.

It is also useful to have one person appointed for “running the show”, which means this person is responsible for making sure the agreed upon process is followed and adjustments are made whenever necessary. This role can be taken by the same person for indefinite time but can be periodically rotated as well since it does not require special skills other than knowing this workflow. (In more formal Scrum projects this role is called Scrum master).

The board

A simple agile board using macOS
Stickies

The center of this project management approach is the agile board with three swimlanes or columns: ToDo, Doing and Done representing the state of the stories contained within the lanes. The swimlanes contain stories represented by cards or sticky notes. Stories can represent development or design work, new features, improvements, bugs or maintenance tasks. This is also known as Kanban board.

There are no hard constraints on how a story should be phrased and what it should contain but there are a few practices I recommend:

The rules

This is the team’s daily workflow. Tweak according to your needs.

If the team does daily stand-ups to catch up, it is a great opportunity to ensure the agile board reflects reality. Even if stand-ups are not practiced (very small team or solo developer, cross-timezone collaboration) it is useful to (only) refer to stories that exist on the board when discussing progress.

Besides the daily routine, some teams work in sprints or iterations. In this lightweight workflow it is not necessary to stick to a rigid schedule, however I find reflecting to past progress and planning ahead every once in a while useful.

The tool

The agile board has to manifest itself in some physical or virtual form. Choose the simplest tool possible. If you are a small team all sitting in the same room use sticky notes on a reasonably sized wall surface. If a digital approach is preferred, go for a tool that has the smallest amount of features necessary. Bloated all-inclusive solutions like Jira only result in tears and fist-shaking. I recommend Trello, Pivotal Tracker or when using GitHub or GitLab for source code control they both both offer decent Kanban-like boards. See GitHub’s project management offering and the one of GitLab’s.

Conclusion

Every project needs some structure but keeping the process lightweight for small projects can reduce overhead and friction. If the team or the organizational complexity grows later, there is always to option to “upgrade” the workflow to something more sophisticated.

What is your favorite lean workflow? Can it go even more lightweight than described here? Should it? Let me know what you think!