One of those things is Things. It’s my task manager/project manager/todo manager of choice for my development projects, and I recently setup a new structure to make the process a little easier.
Things has two main grouping concepts, areas and projects. An area can contain one or more projects, while projects contain the tasks that you need to work on. They are the building blocks of how I organise my workflow in Things. I create one area for each app I work on, with multiple projects within each area.
As an example, take the app I am currently working on, QuizFolks. In Things, I have a QuizFolks area which contains two visible projects at any time. There is the Roadmap project, which is always visible, and the Release YYYY.X project, e.g Release 2024.1.
Roadmap contains all the items that I am considering working on. If I decide to reject an idea on the Roadmap, I tag it as Rejected and complete the task in Things, but I do not delete it. You never know when a bad idea might become a good one! If I know which release I want an item to appear in, then I tag it with that release. This lets me have the Roadmap as both a scratchpad of ideas, and also ideas that I have decided to definitely add to the app.
The Release project contains items from the Roadmap that have been tagged with the release that I am currently working on. Once a Release is finished, the project is archived, and I create a new Release project with the new release number.
This is working well for me so far. It helps me focus on what I have to achieve, and it also keeps me excited for development when I check out the Roadmap to see what I’ll be working on in upcoming releases.
As my app is so new I haven’t incorporated bug fixes or feature requests yet. I think I’ll add feature requests to the Roadmap and tag them as such, then they can become part of the normal flow. Bug fixes are a little different, as I may need to fix things before the next main release. It feels like I need to figure out my Git/Xcode Cloud workflow for bug fix releases first, and then I can incorporate that into my Things workflow.
How do you handle things?