It’s everybody’s favourite part of managing a project: MANAGEMENT. (Admission: I actually love organizing things.) As soon as this project’s animating principles needed to live outside my brain, it required formalizing my thinking into bite-sized, actionable nuggets and recording them somewhere. Emails and a messy, sprawling Google doc are enough to communicate an overarching deliverable, but woefully inadequate as tool to support a structured process.
One of the decisions I had to make was how best to translate a very messy asynchronous multi-platform conversation with my developer counterpart (hi!) into something more concrete. You could theoretically manage a project entirely through email if you were willing to be very strict about subject lines, threading and body formatting, you could also pound in nails with a screwdriver if you were feeling spunky. Happily, we have a number of tools that are designed for exactly this kind of structured communication.
I’ll spoil the punchline: I ultimately settled on using Github issues. My problem with a lot of other tools (which are plenty capable in their own right) is that they’re at least one remove from the thing being created. Trello, for instance, performs exactly the same function as Github projects but doesn’t live where the output lives. I can’t speak for everybody, but that mental distance between the thing being managed and the management is often enough to torpedo my use of an app. I continue to use notes.app (to write these updates!) because it’s already on my laptop and starts in less than a second. Even small delays of thought-to-action – mental overhead, in other words – are factors in how long I’ll try to work within any system. Github has ‘proof’ of problem-solving built in.
I don’t want to suggest that Github issues are impeccable, merely that they benefit in an outsized way by encompassing the thing being managed. This feels like a competitive moat that Github could deepen considerably in the future. For instance: there’s automation built into the kanban-esque view that allows you to automatically move any card through the stacks, but based on limited parameters. I wouldn’t be surprised if these triggers were significantly expanded in the future. Automation around conditional rules is an easy way to boost system intelligence (and thus, usefulness) by piggybacking on human intelligence, no actual AI required.
Although I’ll be working in front-end code for the next portion of this project, this tool choice has made me think about tools purporting to serve the same function for designers. We’re still not at the level of tracking, management and diff-ability for UX, though many have tried (pour one out for Layervault). Current “experience version control” tool focus on mockups as the atomic unit of delivery. Perhaps future tools could focus on ‘issues’ in the same way Github does – not just capturing the thing being created, but the thinking that led to it.