

Ask HN: How to do Project Management for personal projects? - hhimanshu

I want to work on an idea and want to build an web application on the same idea<p>All I am bad at is breaking down the tasks into iterations and tasks and track them down with progress.<p>I have always seem people on HN doing awesome personal projects with their jobs.<p>I would like to know how do you divide the tasks, turn them into iterations and if at all you use any project management tools to track them<p>Please pour in your ideas and educate me<p>Thank you all in advance
======
0x5a177
I keep 2 plain text files:

1\. backlog.txt - a list of all potential ideas and tasks

2\. changelog.txt - a list of iterations/versions/milestones

Whenever I have an idea or bug, I add it as a line in backlog.txt When I want
to actually work on code, I pick 3-4 tasks that I want to complete and move
them to changelog.txt. The number of tasks depends on how much I can do in one
or two sittings.

backlog.txt is in a format like this:

* Fix IE9 compatibility

* Refactor CSS

* ... etc

changelog.txt looks like this:

1.1.0 - next release

\--------------------

* Fixed IE8 thingy

* SSL encryption enabled

1.0.9 - March 10, 2012

\--------------------

* Fixed null-pointer crash

* Catch exception in sendmail.java

* Enabled websockets transport

Keeping everything in plain text helps me from fiddling around too much with
the tool, which I am very prone to do. (Meta-bonus, my product is a text
editor so I can organize my product with itself.)

~~~
fourmii
Thanks for this. What a simple concept! I have so many docs trying to manage
myself that they have become almost unmanageable. I've been using Google docs,
Evernote and Trello. I recently took to using Trello as an electronic diary.
Not to mention, I still scribble in an actual notebook!

------
debacle
I've used Trello, the pomodoro technique, and self-sprints to a great degree.

I think Trello and the pomodoro technique can be used almost universally, but
the self-sprints are something I tailored to myself - I realized that I work
best in short, intense bursts and not long, predefined durations. Sometimes
I'm more productive in a single hour from 6:30am to 7:30am than I was for the
three days before.

Get yourself Flowkeeper (a good pomodoro tool), a Trello account (or another
piece of work queue management software), and start keeping a journal of your
productivity - try and figure out when you're most and least productive, and
work around that schedule.

Edit: Also, as a single person you'll never be able to be doing more things
than can fit on a single whiteboard. A whiteboard is probably the single best
investment that I've ever made for productivity.

------
corford
Trello, source code control, fogbugz and lots of notepaper. Basically, treat
and run your personal projects as if they were professional ones and you can't
go too wrong (also makes it easier and quicker to get extra pairs of hands
involved if the side project takes off and becomes a major project).

Task wise, I start with brainstorming, then ui/program flow mockups (usually
in balsamiq), then systems arch/planning (i.e. what server roles, how many and
what sort of network layout) then I finally get coding. Coding tasks
themselves are broken down in to semi logical chunks e.g. backend api,
frontend (html/css), glue layer (stuff like form validation and handing off to
backend api), auth layer etc.

~~~
ulisesrmzroche
Treating your projects like you would a professional one is "the secret", I
think you really nailed it. Everything else is just meta. And I do love me
some meta.

I use milestones, and I give myself a small award if I win, (I'm terrible, I
energy-drink). Small awards help make a habit out of reaching your milestones,
and you know, nothing more consistent than habit.

Hemingway's trick applies to TDD, of course:
[http://www.secondactive.com/2009/08/boost-your-
productivity-...](http://www.secondactive.com/2009/08/boost-your-productivity-
with-hemingways.html). I like to leave broken tests before I go to sleep, and
fix them in the morning.

I don't really use anything more than git, though, and personal notes, if it's
a personal project. Everything else just kinda gets in the way.

------
tablet
In general you don't HAVE TO break your work to tasks and track them. Many
people can hold the whole project in the head and that is completely viable
strategy. However, small tasks give you a sense of progress. You experience a
good sensation when you mark task as Done.

Most likely you don't need iterations. Just a list of tasks sorted by
importance is OK. As mentioned, Trello is a very good choice. It is free and
visualizes progress. Physical and simple Kanban Board will server as well.

------
dhaivatpandya
A piece of a paper and a Staedtler pencil.

------
cmaxwell
Probably overkill but I created an MS Project mpp and broke functionality into
"Releases". Each release has a bunch of functionality and for each
function/page I have an activity of scaffold -> finish dev/tests -> apply
design.

I estimate each function/page for each activity (scaffold, finish dev, apply
design) and I set an assumption in Project that my work day is 2 hours (how
much I try to dedicate each day).

Project tells me based on my estimates what day I should have a particular
task done and I try to finish it by said date. Every day the last thing I do
is set my actual work for each task so that I know how I am progressing and
whether I am ahead or behind schedule.

Might be overkill but I like seeing a % complete (rolled up to and knowing
whether I am ahead or behind by x hours).

Currently on my 352 hour release I am 56% complete (155 hours) and I am aprox.
6 hours ahead of schedule... :-)

