
Ask HN: How do you start a project? - chrisshroba
When you have an idea for something and you decide to make it, how do you get started?  What tools do you use to plan it, how quickly do you jump into implementation, and what advice do you have for others in starting new medium-scale projects?
======
jononor
Ideas go to paper (most often), or Markdown in my random projects, way before
I decide to 'decide to make them'. Mostly so I don't have to keep things in my
head and worry about them. Then maybe I'll flesh it out, both big picture and
any details that come to mind immediately.

If I find it interesting enough, and I decide to do it, I focus my idea-
generation finding the minimum core of the idea, as a milestone with steps or
pieces required to get there. Basic rule is that it must take less than 1 day
to get there (or know that you can't get there). Then I code/fabricate it,
then iterate along same lines, each time allowing more time for next
milestone, until I'm done with it. The process explicitly focuses on keeping
problems small, so they are fun to execute - and not worrying about 'final'
outcomes.

------
jmnicolas
I use the Merise method :
[https://en.wikipedia.org/wiki/Merise](https://en.wikipedia.org/wiki/Merise)

I always start by drawing the "MCD" (I'd translate it as "conceptual data
model"). It looks like one of the UML diagram : there are entities and
relationships between these entities (zero to one, one to many etc). With this
model you can design your relational database schema with ease.

It's my experience that if your data model is right you're building on strong
foundations.

~~~
kapilkaisare
Interesting! Are there any online resources that describe the Merise method?

~~~
jmnicolas
Yes, but only in French I'm afraid.

I don't understand why it never took of (elsewhere than in France) for
relational data modeling. It's a really vast and complex method if you want to
apply everything, but most devs here use only the part that make database
modeling easy.

I should stress that it's purely for relational data, NoSQL didn't exist when
they invented Merise and it would have probably been frown upon ;-) So I guess
it's not really interesting in most startups environment were NoSQL seems the
norm.

------
rcavezza
Find 1 person you think has this problem who is not yourself.

Get this person to talk to you.

Have a conversation asking them about their daily life and their pain points.

See if the problem you are trying to solve comes up in conversation without
you bringing it up.

Take notes about their daily work and their problems.

Repeat this process with 10 other people.

Ask yourself if you want to solve this problem or if something else came up in
conversations that would be a better problem to solve.

------
jjoe
If it's a random idea, I let it simmer in my head for a few weeks. If the
enthusiasm fades I trust my gut and abandon it. Perhaps this explains why I've
never pursued random ideas that aren't related to the work I do day in day
out.

On the other hand, when I come up with an idea that's in my line of work, I'm
immediately convinced of its viability. I always start out with drawings
(tables, schematics, pro/con, etc). Then I move on to building the DB schema
but I don't get too deep in the normalization. Otherwise it gets too tangled
up. I then pick a framework and begin . As soon as I have a working proof of
concept (not prototype), I pick a good name and website. Then I work toward an
MVP.

Good luck!

------
tmaly
If it has a gui, I would draw it out on paper first. Next, I would make
wireframes or html mockups of each state. From there I would mockup a backend
to serve static test data and convert the gui to use the real data.

------
eecks
When I come up with a new idea, I write it down and jot down whatever is in my
mind about the idea. Nothing formal.

Then I spend a lot of time thinking about the idea. I think of it from it's
beginning to where it could grow. The different paths it might go down. I
think about how users will react to it and how it helps them. I think about
scaling it. I think about it technically. I think about how it makes money. I
think about writing a PR about the idea announcing it. I think of the
simpliest way to start the project (no feature creep) and then I try to start
from there.

------
falicon
Justin Jackson just released a book around this very topic "Marketing for
Developers" ->
[http://justinjackson.ca/marketingfordevelopers/](http://justinjackson.ca/marketingfordevelopers/)

It's full of great advice...but I think one of the key take aways is to "find
a market" before you really "have an idea"...and he walks you through some
really good ways to do that (using real world case studies of people that are
doing it)

------
husseiny
Really depends on what the project is. Assuming you are referring to an app or
website.

I always start with an Evernote page with my general thoughts, then grab a pen
and paper and start drawing what could be a barebones UIm then do more
research.

I go through the cycle again and again until I am ready to graduate to
Balsamiq for a clearer UI and have a clearer story to tell about the project.

I try to balance between doing and researching. I find that excessive research
in the beginning is just another form of procrastination of just starting.

------
barrystaes
This question is as vague as it gets, and so wil be the answers.

I say first decide is it an experiment, or for profit? Depending on that
you'll need different research methods, planning, and tools.

Especially if you envision some ultimate goals, quickly forget those and
formulate the first milestone reachable with minimal effort. At most a proof
of concept to take hurdles (function, technical, or other), not a prototype.

------
drakonka
I jot any notes I may have in a notebook that's always with me, then when I
have access to my laptop I just start prototyping.

------
amac
Ask people will they buy it. If they want it, you have something. From there,
it's fairly easy to setup a CMS or Ecommerce store - either hosted/self-hosted
- and you can get immediate feedback in the form of orders or messages of
interest.

------
LarryMade2
Planning? paper sketching screens listing fields, notes on features you want
etc.

Started... most of mine are data oriented so I usually start with entry
screens, maybe a little bit of creating some inital DB tables first.

------
ChristianPerera
If a GUI, for me the key aspect is drawing each state on paper first.. this is
key. Others have commented on the plethora of options vis-a-vis where to go
next..

------
ap46
Put it inside Colornote (within differnt catergorised notes like HW, SW,
WorkASAP etc... you get the drift)

