markdown guide
 

I cheat. If the project is not trivial, I like to start by spending some time planning. It doesn't take a lot of time, I need at most one or two hours to have some initial plan, and then it's a matter of being mindful and keeping track of the progress and changes to the plan.

I usually start doing some story mapping, I write all the possible features I could include in the project. Then I select the features that I absolutely need to have a proof of concept that I can run or deploy (and call that group alpha), the features that I would need to add to have a minimum usable version that other people can try out (and I call that group beta), and I forget about the rest of features for a while. To keep track of everything, I put all the features I've written down in a trello board.

If I complete all the features in alpha and beta, I split the remaining features (and all the improvements I thought of meanwhile) into smallish groups of features that improve one area of the project.

The trick is that even if I abandon the project after finishing all features in alpha, I have some sense of accomplishment and the project is in a somewhat done state (even if it's only the proof of concept that is done). I'm usually happy if I reach the beta stage because even if it's not very polished yet, it's usable and it accomplishes the main goal. And after that, any set of features I add is adding value to the project but it's not really needed to have a finished product, so I see it as a bonus.

As somebody said,

Software is never finished, only abandoned.

So I try to reach a state where if I abandoned the project it could still be considered finished somehow as soon as possible.

 

How is planning cheating? I feel like that should be the first step to every project!

 

Because I don't really need to complete projects to make it look so! But I agree, planning should be the first step, even for side projects, if you want to get anywhere.

 

Thanks a lot. I will look into story mapping.

 

The feeling that I'm not a man of my word might be enough to prove the opposite to myself before trying to prove it for others ;)

Stop procrastinating and start acting for the next 10 years of your life!

Techy advice: use ZenHub to check your progress daily, we use it in our academy system and it's great.

zen

 
 

Usually by means of people nagging me about deadlines and what not ... XD

 
Classic DEV Post from Oct 19 '18

Have you used the new "suggested changes" in GitHub pull requests?

These are pretty cool! "Suggested Changes" are in public beta and allow you to ...

Adeel Hussain profile image
Interested in C/C++. Kernel Work. And also fascinated by machine learning. So many things to learn so little time.