I'm wondering what framework do you use to plan your product development.
Right now I'm using just Trello with a 4 lists, Planned, In-progress, Staging and Production. Works ok but I feel I can do better, like adding a progress % or something to get a better overview of my tasks.
Are you using any agile framework that's simple and good enough for a solo dev (and maybe to support a team of max 3 more devs in the near future)?
* Who will I show X feature to?
* When will I show it to them?
* Can I show them a draft?
To me, the biggest risk of solo development is not how I manage a todo list, but that I'll build the wrong thing, because I waited to get feedback.
Some things that have helped me a lot...
* set up a time to show someone your progress on feature X before you feel totally ready to.
* ask someone to try and pick up and tweak some layer of your code (or pair with them)
* if you are developing a library--record hour long screencasts where you use it in a realistic way. Prioritize issues where you say, "oh, I should fix that...". Repeat but with another person driving.
I use github projects and a calendar (the calendar appointments feel more important!)
Even when things really are that clear cut, junior developers still often need a lot of feedback that they are on the right track. Part of maturing out of that initial stage comes from when you can autonomously take a well defined task, break it down into steps, and execute it.
Maturing to the next stage requires that you be comfortable working in situations where the requirements are not clear or set in stone. At that point, your objective is not merely compliance with the spec (if there even is one) but that the code solves the problem as intended. Since developers are rarely in a situation to determine that for themselves, you have to become comfortable again with asking for feedback.
> Part of maturing out of that initial stage comes from when you can autonomously take a well defined task, break it down into steps, and execute it.
It seems like this is the scariest part--since often whether a task is well defined feels more like an assumption. In a lot of ways, I think this is the value of social approaches--you have to answer, "how could I convince so-and-so that this is well defined?"
People generally appreciate being kept in the loop, and that they can review on their own time. It also helps me to drive towards a level of completeness that I can show something in a 1-2 min video.
As I finish stuff, I delete it out of the file.
I add new stuff towards the top if I want to do it soon, towards the bottom if I want to save it for later.
For things which are just ideas, I have a second file called brainstorm.txt.
I'm actually pretty certain this approach, with the TODO file in VC, would work fine at least up until 4-6 developers, as long as everyone hits a basic level of competence -- but in practice, someone always suggests a more structured tool well before that point.
It helps me sleep to add stuff to my todo list so I can offload anxiety about remembering said thing. It's great, I stole it a bit from a Buddhist meditation practice, but found I didn't trust promises I made to myself that if something is important I'll remember it later. Too much important stuff is planning and I don't like needing to burden others with reminding me to do things.
Luckily, over time todos tend to become todon'ts, so losing track of the old ones isn't generally a problem.
Writing down the brainstorm stuff is important to me because if I don't write it down, I am tempted to drop what I'm doing and work on my ideas or else lose them. If I went and implemented every random idea that popped into my head, I'd never get anything done as was the case for me in the past. I write these huge long essays to get my ideas and frame of mind fully described and that usually satisfies me to where I don't have to drop everything and implement the idea right there.
Deleted Comment
Basically bubble sorting the list frequently based largely on a combination of impact and what I feel like doing at the moment.
Deleted Comment
Dead Comment
It gets messy, but it's flexible, and when I run it through a markdown formatter it looks fairly nice.
I sometimes try to plan things on a bigger piece of paper or on my computer in txt file but it always gets super messy. I usually prefer to use a post-it note anyway, so I never really thought it about it.
Trello: boards get stale
Txt file todos: more todos are added each day, none get removed because of new ones added!
Basecamp: same issue as Trello.
In this second half of my career I've dealt mostly in startup development. MVPs just pivot too much. It's a ride.
It takes only an hour or so to restructure it for more than one person, so cross the bridge when you get there.
For to do lists I use Sublime+PlainTasks plugin. It's fast, sticks in your head. If you want something cloud, Workflowy might be good too.
Without a product manager or scrum master it's also easy to get into tunnel vision and stray. I sometimes enjoy having an extra person to bounce ideas off and tell me to keep on track. If it's a startup, get a co-founder, give them 10%-50% just to tell you listen to you. It seems a little unfair, but it's worked for me.
Another trick would be a design doc to remind you of design decisions. I'm happiest with this format: https://random-character-generator.com/whatisthis
This is mostly for projects made for fun though, I would not recommend this for a startup-like solo dev.
Edit: I also do an overview from time to time of the projects as a whole and decide if a larger feature is important.
I use a stack of demos, each as a 3x5 card. Low overhead, easy and quick to modify, etc.
As a solo dev it is was too easy to get lost in the process and tools, but this works well for me.
I have tested and worked with many. Asana, JIRA, Trello were all tested alone and with small or medium sized teams. None were as simple to use and clean as clubhouse.
It was always hard to keep the big picture while going into details with theses software. But with Clubhouse am using Iteration to define the big picture and the planning of the upcoming weeks and it just works great.
Their support team is on Slack and reactive to feedback. The software seems really progressing well and the UX is polished and well thought. They really are building a cool product.
Note that I have no affiliation of any kind with any of theses software. It's just my personal taste and experience of the last ~ 10 years of software development and project management (am a Product Owner in a software company).
Wondering what will be the next one I'll use after Clubhouse.. time will tell!
[1] see https://app.clubhouse.io for more
This lets me do some 'design' via listing out all the classes/touchpoints, while still giving me the flexibility to tear stuff up, shuffle it around, and not lose state.
I'll also often keep one text file with very tactical todos, stuff I was in the middle of typing out when interrupted, so I can quickly get back into flow state.
I took this from uncle Bob, you just give things a rating (unitless). "Oh, that's a 6, no less!", "oh that's a 2 at most". It's enough for development (I find it's only management that wants more 'reporting' and 'estimates', being solo I do that in medias res, i.e. on the spot).
However you got me curious with github projects. It seems it would integrate better for programming / design. I definitely have to experiment! Any tips to boot?
Add new feature or ideas to the end of the todo list. Add related todo's under a feature line. Add bugs as they are found. The order of the todo items is the priority. Move them around as needed. When canceling a todo, record the reason, so in case if it comes up again, you have a record of decision. That's it. It's pretty simple.
Below is a sample from one of my side projects (solo dev).