Before we sat around screens we sat around campfires telling stories. We’re hardwired to be storytellers, and that’s how we fundamentally connect with other people and understand the world.
I’ve been thinking about how KISS a small team could go and still stay productive and aligned. This is my take:
1) The story unfolds. Repeating meetings where team hash out the next steps to be done before the next meeting
2) The plot. A plain text document in the repo showing what has been done, what needs doing, and any related notes or comments
Here is an example of the plain text story/narrative of the project:
```
# Project: Cloud Cost Dashboard
Enable easy access to cloud cost data for the team.
## Integration
DONE Cloud cost API integrated with billing system @bob
## Dash board
Dashboard must pull data from AWS, Azure, and GCP for comparison.
TODO Set up a cloud cost reporting dashboard @alice
TODO Train team on how to use the dashboard @alice
```
The following rules apply:
- A task is either in status TODO or DONE and it fits exactly on one line
- Add @name to assign tasks
- New TODOs are added at the bottom (so look there for tasks to pick)
- Feel free to add any free text/notes etc to the file to provide context and insight
As the project progresses the story unfolds and self documents.
BONUS: Use the task line for the commit message
Some questions:
- Does this approach seem like enough to keep a small team productive and focused?
- What essentials are missing (given a small team context)?
Would love to hear your thoughts!
The main thing missing from this, though the hierarchical structure somewhat helps, is with dependencies. org-mode can enforce linearity, that is that tasks 1 through 3 above are done in that specific order. It can also ensure that a parent task isn't marked done until all its children are done. But tasks across dependencies or more complex dependencies are not baked-in. [0] is something I've found, but not used, that would address this.
org-mode also has the agenda, so if you add dates (like deadlines or scheduled starts) it can help you keep specific activities on track. Say you need that Azure support finished by a particular date, you can add that information to this document. The deadline will appear in the agenda and help people prioritize the work.
And it has some pretty rich filtering available so you can see only what you care about at the moment, and of course it's plain text so grep works along with the regular search features in emacs.
[0] https://orgmode.org/worg/org-contrib/org-depend.html
reply