
Ask HN: How do I plan a programming project? - Tackop
Any recommended resources on how to plan a programming project? I know how to write code, but I want to know how to plan a project instead of winging it.
======
tmaly
There are many different ways you could approach this.

I think talking to people first and getting a sense of what their problems are
and doing this enough time to identify the common issues is a good first step.

You could use something from the Running Lean book or the Will It Fly Book to
layout your idea.

Once you know what problems to potentially solve, figure out what is the
smallest thing you can do to test it. Maybe its something manual like how the
founder of Zappos just start buying shows by hand and shipping them to people
if they bought them on the site.

If the data from your test shows promise, then work out a MVP and break it up
into small chunks you can work against.

------
meesterdude
what worked for me when building
[http://willyoudidyou.com](http://willyoudidyou.com) (accountabilabuddies for
hire) is the following:

1\. Capture everything that needs to get done in a text document or directly
in a project management tool like github issues. Capture any and all ideas you
have related.

2\. Regularly review and prioritize that list, and adjust it as you go.
Prioritize based on your interests and overall priorities. For some people
thats market validation - for others, its to have something that works.

3\. Iterations. Lots and lots of iterations.

4\. Don't get distracted by other projects, no matter how cool, or quick they
might seem. Pick it & stick to it.

------
tjalfi
You could try Joel Spolsky's Painless Functional Specifications series.

The first article is [https://www.joelonsoftware.com/2000/10/02/painless-
functiona...](https://www.joelonsoftware.com/2000/10/02/painless-functional-
specifications-part-1-why-bother/).

Edited for formatting.

------
rafark
Don't write a single bit until you fully understand the system you'll build. I
usually draw diagrams and or other procedures in plain paper sheets.

------
UK-AL
Lots of ways.

You can look into agile and xp methods like user stories, story points,
backlogs, user story mapping.

