in

Ask HN: Solo devs, how do you plan your development ?, Hacker News


Ask HN: Solo devs, how do you plan your development?

        ************************************************************************************************************************************************************************************************************************************** (pointsby

2 hours ago********hide|past|web|favorite| comments

**************************          

      

*********************************

                  

I use Trello, then it gets messy, switch to Keep to start over, that gets confusing or messy, I have a txt file with my todos, that gets messy, I try a project management tool like Basecamp, doesn’t do the trick, start over fresh on Trello, that gets messy …. I think you see where I’m going with this.

********

**************

*****************************************************

****************************

(going_to _) **************************************************************************************************************************************************************************************************************************************************
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)?

             ******************
                          ******************
            

******************

            
            

*********************************

********

(*******************************
             (*******************************
********************************

                  

I’m old school, so I just constantly email myself replies to my past. email with a reply to a past email with a past email with a todo list that I freshly created after finally crossing off the old ones.

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 did not 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.

******************************

             (*******************************
***

            **************************

            

()                   

Literally exactly what I do. I also wake up at 3 am with an idea and put it as a reminder on my calendar.

****************************

(*******************************
********
            

****************************

                  

Same here, though I handle the ordering loosely. Basically bubble sorting the list frequently based largely on a combination of impact and what I feel like doing at the moment.

******************************

(*******************************
            ********************************

            

(*******************************
                  

Mine is called SCRATCHPAD.md. : D

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.

            

**********************************

(*******************************
                  

Similar to that, but I try to group the tasks into upcoming releases. It’s quite an effective way of forcing myself to do the unglamorous fixes along with the whizzbang new features.

            ************************************

            

****************************************************************

****************************************

            
            

*************************************************************************

****************************

                  

I use github projects with a Research / Maybe, Todo, In Progress, Testing , and Done columns. Each item has a checklist of steps needed to complete the item. For example, I might have an item that is “Workers have an inventory” and a bunch of steps to do that “Add an inventory component, add a take item event, etc.” that are markdown checkboxes.

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 agree, for my open source it’s based on what I need and I throw code in and out quite fast. I have a mental “list” of things that bother me so I try to do these when I have a moment. If I forget something in the list, it was never important by definition.

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 two paper notebooks per project: one for planning / architecture / schematics which It is used for more long form writing.Second notebook is for todo items (like add name validation for model Item). When I finish something I cross it out. I usually scan past two or three pages, so many things are left in void. Thats actually a good thing, if something is important I just write it again on fresh page I sometimes go through wider history to check if something important was not left behind.

I keep Notes app open all the times with note per project. Here I keep list similar to the Todo notebook but it contains things that have to be done. Once I am done with task I delete the line.

Basically paper notebooks are for development of fresh features and Notes is for bugs and fixes of production code. ********************************************************

******************************************

******************
                  

Most tools have a lot of overhead. As a solo dev, your advantage is speed, but a little friction and grist is needed sometimes.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 (% -) % 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)

             (*******************************
             ******************
            

***************************************************************************

********

******************
                  

As many other have suggested, I found ClubHouse [1] to be the best balance for solo dev.

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 ~ years of software development and project management (am a Product Owner in a software company). (Wonderful what will be the next one) I’ll use after Clubhouse .. time will tell!

(() see https : //app.clubhouse.iofor more

******************************

             ******************

*******************************************************************************

                  

It depends on the situation but like some of the commenters here, I use two. whiteboards for rapidly putting things together. I have a larger one for drawing out the architecture — relationships, expected behaviors, purpose statements, that sort of thing.Then, I’ve got a smaller one that lets me design a rough skeleton for UI (when applicable). If I can wrap my head around how I can expect a user to touch various parts of the project, I can better plan for what data requirements I anticipate needing.

But when it comes down to development, it generally boils down to avid use of GitHub. I have an unhealthy obsession with checkboxes on GitHub issues and pull requests. I used to compile todo.txt files like others, but found that they fell out of date or that I never had any reliable means of tracking what I had previously worked on. If you delete the bullet points, it’s hard to find when or why.

So I split features into PRs. One, two, or three thousand lines of changes on average for a small feature here or there. When I need to clean up bugs, I’ve gotten a bit lazy and will just sneak them into commits on master. Squash and merge lets me point back to the PR that I created and I’ll throw a description of all my work into the body of the PR.GitHub issues lets you know what work needs to be done and when the PR is filed, the issue gets closed (ie you put a small “This closes #N” in the body and when the PR is merged, GH takes care of the rest). It might not be an efficient system but I’ve Tried things like Trello or project boards in the past and I couldn’t bring myself to shuffling a deck of a hundred cards every time I touched one small thing. As soon as you increase the distance between your code and your project board, it feels like going through that many more steps just to update everything. It works for some but everyone is different.

************************

            

*********************************************************************************

                  

I use the concept of demo days – where I demo something to myself. Some people would think of it as a sprint, but a demo enforces that it is something I can actually show. Like “I can launch the program and have it say print ‘hello’. In my experience this works much better than stages or percentages. Lots of things just fall out. A demo that has bugs is not a demo for example.I use a stack of demos, each as a 3×5 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.
********

***********************************************************************************

***********************************************************************************************************                  

Emacs Org Mode is nice for note taking planning and todos, the calendar timestamping features is nice to recognize time spent in various tasks and keep accountable

***************

***************************************************************************************************************************

*****************************************************************************************************************

*******************************

                  

Same for me. I feel like all these tools just get in your way and you end up spending more time writing cards and todo items than actually crossing them off the list.

****************
************************************************************************************************************

******************              ******************              ******************
            
******************              ******************              (*******************************
            

***************************************************************************************************************

                  

I’m insane, so I just create a parent task in taskwarrior: ” build real estate app for client x “

then anything that falls directly under that is a blocking task:

******************************** ()             

*************************************************************************************************************************

**************************************************************************

****************** – “build backend to serve api” – “build frontend” (this might be blocked by the one above, or not, depending on what it really does)  – repeat ad naueseum until those big tasks are broken down enough for me to visualizeUsing a project might be nice to get a progress bar, but sometimes something I need to do doesn’t fall exactly under this project, or might affect existing projects:– increase block storage for shared server

So I just use a single, parent task, and have child tasks that block it. That way I always know what to do next, and I keep going until it’s all done.******************

******************             
            

*********************************************************************************************************************************************

**************************************

**********************************************************************************************************************************

*********************************

                  

I use todoist, with projects per major component to keep things organized, to capture ideas for feature development. Todoist supports group collaboration and has commenting per item.

I use GitHub / Gitlab’s issue tracking for bugs. It’s nice to have a stable URL to reference in code to help prevent the same bug from recurring.

I keep a Google doc as a diary with daily entries to track what I got done each day, and what I want to get done tomorrow.

****************************************************************************************************************

****************** ****************              ******************              ******************
            

*******************************************

                  

Instead of Trello you can use Github’s Projects. It has kanban boards like Trello and it can create progress bars based off of each of your tasks. They also support various automation features based off actions with your branches to move cards around.

**********************************************************************************************

******************
            

******************************************

****************************************************************************************

******************              ******************             
            

*******************************************************************************************************************

********************************************************************************************

******************             
            

*********************************************************************************************************************

(******************************************************************************************************

******************
                  

Whiteboard – For me, tangible writing helps with creativity and thought processing and a whiteboard saves on paper if it’s not going to be a permanent thing (and even if it is, a simple photo of the board for retention).Google Keep for quick notes on the go with a permanent pinned tabbed in my browser for quick access

Trello for day to day development management but not as detailed as I would in my work, simply as I don ‘ t need it to be. Speed ​​is an advantage for solo projects and small teams so adding unneccessary processes reduces that advantage IME.Specialized comments within Visual Studio to allow me to write comments and easily find them again without disrupting my flow (I believe IntelliJ and other IDE’s may have analogous features) https://keyboardp.com/post/ 38927815 / using-task-list-token …

************************************

            ************************************************************************************************

***********************************************************************************************************************

*************************************************************************************************************************

**************************************

             ******************
                  

With KeyDB I keep my todo list in my head. Once in a while I’ll go scour github issues or feature requests. So far no other tools have been necessary.I think when things are small adding too much tooling or process is counterproductive.

**********************

             ******************              (*******************************
****************
            

*****************************************************************************************************************************

*********************************************************************************************************************************

******************
                  

Perhaps I’m too old school, but pen and paper works best for me at least for short term planning, for more general / longer term roadmap GitHub project boards do the job.

             ******************
                  

I’ve used PivotalTracker in the past, but it’s basically what you do with Trello. IMO, if you need to track progress%, your tasks aren’t broken down enough.My process looks like this :

* Ideation Box – informal idea descriptionIcebox – Long term value, that a may or may never get to* Backlog – Short to mid term items that I want to build (Needs. Design – when I’ve commit to do something, but it needs a mockup

* Ready for Development

* In Progress* Done* Staging******************** ProductionDepending on the project and my whims when I start , I might keep that all in one board or split it into two section (just after backlog).******************************

            

***********************************************************************************************************************************

                  

Personally I use the Notes app available on the MacOS / iOS platforms. I organize it with a folder per project. I love it because it is simple, supports checkboxes, formatting, freeform drawings via iPad Pencil, syncs across all my devices, allows password locking certain notes (though I don’t really use this – I use 1Password to hold sensitive info via its Secure Notes feature) and is even available via the iCloud website if needed.Within that folder I keep one note that acts as the ToDo list / Work Log that contains all the work items plus dates of completion. The rest of the notes are ad hoc and usually contain stuff like “Meeting notes –

, “Follow ups”, “Questions / Clarifications for later” “, and so on.
********************

******************
            

***************************************************************************************************************************************

                  

As a solo game dev, I’ve tried a number of various project management tools that I use in my DevOps day job … from Trello to Planner to Jira to Azure DevOps. I like Azure DevOps work items the best, but the reality is that for a solo developer, I’ve found all of these tools create far too much overhead (so that I spend more time managing the project rather than making actual progress on it) .

So for practical use … I tend to write my ToDo list on a whiteboard near my workstation.(When I complete items from the whiteboard, I move them into an Excel spreadsheet where I can add greater detail about the resolution / solution.

When I’m ready to release a version update, I take the notes scribbled into that Excel sheet and turn them into properly formatted update notes.

*******************************************************************************************************************************************************************************************

***************************************************************************************************************************************

*******************************************************************************************************************************************

***********************************************************************************************************************************************************

*********************************************************************************************************************************************

https://www.clubhouse.io I like Jira at work if its self hosted, but on demand its that damn slow, its more or less unusable (every page load 10 – sec. etc.).

**********************************************************************************************************************************************************************************

******************              ******************              ******************              ******************              ******************
Clubhouse is especially good since its free for very small teams while not limiting the number of projects / workspaces. And its mainly an SPA, so it feels really quick & responsive.

******************************

            

***************************************************************************************************************************************************************************

****************************************************************************************************************************

******************
            
            

***********************************************************************************************************************************************************************************************

******************
            

()                   

I’ve been using Clubhouse for a new solo project as well. I love it. It’s so much faster than Jira. It’s refreshing using something that loads so fast and has a UI that is nice to look at.

(************************, ****************************************************************************************************************************************

(*******************************
********
            

*******************************

                  

For 1 person, you can keep most of it in very short form. Currently I use github projects for a prioritized list of items to do, a new board per release and an ongoing Evernote file for notes & ideas.****************************************************************************************************************************************************************

******************
            ************************************************************************************************************************************

            ************************************************************************************************************************************

            

********************************************************************************************************************************************

(*******************************
                  

What’s the secret to get past the Typeform and actually try this? Or should I seek out an invite link from a peer

            **************************************************************************************************************************************

            ****************************************************************************************************************************************

            

                  

Google docs outline; a glorified design doc and todo list.Project management isn’t project execution. It’s ok to focus on doing the thing and not your notes to self about doing the thing.**************************************************

*************************************************************************************************************************************************************************** ()                   

There are two levels of organization. Time level (which projects when, meetings, sprints, time allocation) and project level (user stories).for the time level stuff, I use Google Calendar. This allows me to plan development work for the various projects around any meetings that end up on my calendar.(For the project level stuff, I use JIRA in kanban format with Blocked, Backlog, In Progress, For Review, Done.) ************************I’ve been doing it this way for more than a decade …

>Works ok but I feel I can do better, like adding a progress% or something to get a better overview of my tasks.) JIRA will give you a burn-down chart automatically, but honestly, that stuff is worthless.One piece of advice. Do not kick back user stories unless there was a defect in the work. If you want to add something or do something differently, make a new story and mark that one as done. It kills morale to see the same stuff over and over again, makes it look like you’re not making progress.

**********************************

(******************************************************************************************************************************************************************** (*************************************************************************************************************************************************************************************************************************************************************************************************************************** (Read More) ********************************************************************************************************************************************************** (**********************************************************************************************************************************************************

******************              ******************