
Ask HN: What is the first thing you do before starting a new project? - smashing_mag
Starting from a blank sheet of paper is difficult. We all have our habits and we all have our small rituals before we start working on a new project. What is it for you? Is it turning on the music? Sharpening a pencil? Cleaning the desk?
======
spiralganglion
I talk. I talk to everyone I know. I ask very non-technical people how they'd
approach the technical challenges (if this project has a technical aspect). I
ask very technical people how they'd approach the creative/artistic challenges
(same comment). I buy a sketchbook and fill it with doodles and diagrams and
notes and random, scatterbrained ideas. And I never look at it again. I'll
read up on material related to the subject. I'll read up on material unrelated
to the subject, and figure out how it could apply (the works of Joyce are
great for this). I'll meditate (with or without _aids_ ). Sometimes — and I'm
not joking about this — I'll pick some completely arbitrary activity and
assign it ritualistic significance, with pertinence to the project I'm about
to begin. (Once, prior to recording a song, I showered myself with a carton of
orange juice while hopping to and fro on alternating legs, ululating wildly —
it was significant, _by assignment_.)

Why all the _nonsense_? In some sense, it helps clear my mind of other
projects. It helps me build up energy and excitement in anticipation of this
new project.

It reminds me that I'm still alive, and that there are many things I could be
doing in my life. While I may be a conduit or wellspring from which projects
spring forth, there's no reason I have to be, except for the amount of _love_
I feel for the work that I do.

~~~
hnhg
I assume from the downvoting that this isn't a very popular approach.

~~~
spiralganglion
I am under the impression that the purpose of voting is to reward interesting
contributions to the discussion, whether or not you agree with what has been
stated.

EDIT: To respond to the issue of the arguable merits of my post — I made my
post because the majority of comments here are describing preparatory
activities performed on one's computer. I wanted to give some of my non-
computer related _warmups_ , since they can also apply to projects that aren't
necessarily software-oriented.

~~~
phyllotaxis
Whatever others may say, I like you. I actually do as you do, regarding the
notebooks. I have a dozen moleskines of all kinds, and my select fleet of
"Idea Pens and Pencils" specific to the task. I rarely ever read what I write-
the act of putting it safely in its place cement the threads together into an
increasingly intricate web of the whole. While your OJ story is out there, I'd
happily work with someone like you. Cheers-

~~~
spiralganglion
They say that you're an expert in something when you can clearly explain it to
others. The "throwaway notebook" strategy is, in my opinion, a great way to
quickly and safely test (and refine) how much of an expert you are about the
idea for your new project, at any level of granularity you care to attack it.

~~~
hga
All very true (although I have a "scary" memory from my paternal grandmother
that lets me remember just about anything I can slot into a
framework/taxonomy/whatever).

But I always find myself going back tot he notebooks once or twice to refresh
myself on one detail, look up a particular incantation, whatever. It's nice to
have them in reserve for that.

------
AlexBlom
Speaking as somebody who generally plays a lead BD role vs. programming (but
I'm assuming this question is a level higher than programming, with project
being a startup).

1) Ask why people would use it (problem)

2) Figure out who would buy it (exact names, contacts)

3) Rough Wireframes, 5 slide pitch deck

4) That's all I need to meet with customers and get orders. I won't move
forward until orders are secured and signed.

~~~
vishaldpatel
Are you saying that you won't move forward with any development - not even a
prototype - until you have paying customers? And what does it mean to have a
"secured and signed" order? Does it mean that they're about to cut you a first
check as an advance on purchasing / subscribing to the product?

Have you always practiced this, or did it take some realization?

Thanks, \- V

~~~
AlexBlom
The furthest I will generally go is black and white mockups in Balsamiq. If
the backend is a little more complex, we may begin planning schemas and
algorithms, but rarely much further than this.

By secured and signed, I do mean a signed order for a license, to be delivered
at a future date, generally with a discount or longer term to compensate for
my clients risk. The delivery date, scope, seats, license term and cheque
cutting dates are always pre-defined. Quite often, I'll extend a discount for
a downpayment so that the company has some instant cashflow.

I didn't practice this in my first startup, but have since. It's not easy, but
always worthwhile in the end, and helps accelerate through that awkward early
growth stage, and means while development is going on, I can pitch us with a
legitimate client backing.

To clarify: I am almost exclusively in B2B software.

------
yuvadam

        mkdir new_project && cd new_project
        git init .

~~~
auxbuss
Add the project to gitolite.conf

    
    
      git remote add origin git@FQDN.com:new_project.git
      git push origin master
      git config branch.master.remote origin
      git config branch.master.merge refs/heads/master

~~~
jmah
Without need for the configs:

    
    
      git push -u origin master

------
ecaron
Find if it is already been done. If you find it - contact the developer and
figure out how you can help. If you don't find it, keep looking and start
asking if other people have heard of it. If you still don't find it, take a
couple days off and then start looking again.

Only after you've searched 3 times and couldn't find it - start your new
project.

The internet would be a better place if people were 50% as excited to
contribute to an existing project as they are starting a new one.

~~~
winsbe01
I do this too, although I've never reached out to the developer to help
because it usually is already a company. But it's a good idea, I will reach
out in the future. Thanks!

------
TikiTDO
I figure out what exactly I am doing, and more importantly why exactly I am
doing it. It's easy to sit down and thing "I want to change the world, I want
to beat Facebook of Google at their game, I want to develop an awesome game or
a tool that everyone needs." Ideas are a dime a dozen. It's the hows and whys
of an idea that really define the scope, complexity, and execution of your
project.

------
ca136
I usually forget it for a few days. I have a lot of ideas that seem really
great when I first think of them, but after a few days thinking about
something else I realize that the original idea was stupid and think of
something else! If I have an idea that still seems worthwhile after a week,
then I know I might be on to something.

------
barmstrong
BustAName.com

Not that this is really the most important, it just helps me wrap my head
around it if I can start calling it something.

~~~
chetan51
knowem.com is pretty great too.

------
huhtenberg
Don't know about others, but I don't generally have a specific moment that
marks the start of a new project.

Projects typically grow from an idea that forms over time. It starts with
spotting a need or an annoyance, then thinking if _a_ product could solve it,
then looking at competition, then considering how to position and market it,
then how to make money of it, and lastly - a crucial moment - if it is worth
an effort.

You know how they say that "ideas are dime a dozen"? I find that it is simply
not true. Ideas that is well thought through are rare and they are worth a
lot.

\--

tl;dr - the first thing is to develop and validate the idea.

------
hga
Hmmm, no, I go right to the "blank sheet of paper" (at least in my mind's eye,
but very soon an edit buffer).

I write a 1-2 page requirements document (and closer to 1, _never_ more than
2). It tends to have two major parts: broad descriptions of what the system
will do and very specific "must have" goals (e.g. transactions/second, max
users, as well as functional ones; whatever makes sense).

Enough to keep in your mind for the rest of the project. It's a great
organizer (I suppose the first is sort of a mission statement without the
buzzword bingo), but again, for it to work it _must_ be very short.

As far as ritual (and it helps that I'm starting a new project _right now_ ),
I do play a certain type of ... determined music when starting. Archetypal for
me is soundtracks of anime combat series e.g. Gundam UC (Zeta, CCA, F91
(Victory tends to be a little too depressing) and lately SEED. There are other
titles (oh, the New World Symphony as used by Boring Germans in Space (LOGH)
for the "empire strikes back" bit), but what they have in common is that my
mind associates them with certain types of action. Certain ballet music works
well too (my sister danced so I got into that genre well before college).

(Note, though, that I've been big on soundtrack music since a teenager, a bit
before I was doing this sort of thing _just_ after exiting my teens.)

------
rokhayakebe
I answer the question "Am I passionate enough about this to put at least 3
months in it knowing that it is more likely to fail than succeed?"

------
nerdburn
Before I hit the paper I brainstorm with someone who might use the project.

Then I spend some time sketching out the main user "actions" on paper, do a
quick database table layout on paper (connecting pieces of information), then
I sketch UI concepts in my notebook.

Of course, as a designer at heart, I open photoshop and blast as soon as I
have some pen/paper wireframes ready.

------
broot
I turn on my Boards of Canada Pandora station and do a bunch of research. Jot
some ideas down. Think about who would use it.

------
mindcrime
Depends on what kind of project it is, what state of mind I'm in, etc. But
basically I just sit down at the computer, and start. If I'm writing java, I
fire up Eclipse, and write a main method, that just does

    
    
      System.out.println("done");
    

run that, and then start adding stuff. If it's a web project, and I'm using
Grails, I do something like:

    
    
      [prhodes@voyager]$ grails create-app foobar
    

then fire up Eclipse, import the project and go from there.

 _Sometimes_ I'll break out a sketch pad, a box of colored pencils, and do
some doodling / designing / brainstorming, but it just depends on what it is.

After all that, I fire up XMMS, and get some tunes going... Motley Crue,
Queensryche, Metallica, Megadeth, Testament, Slayer, Danzig, whatever... just
some good coding music.

Edit: Oh, wait, forgot a step... maybe the most important step. Putting on a
pot of coffee to brew! :-)

------
Palomides
Try to figure out if it already exists or if there are open source softwares I
can use to get there faster.

------
ulisesroche
I follow the standard "git init ." route, except I follow it with a very long
and delicious nap.

------
awallgraphix
I create the project in my head then transfer it to the computer....its
weird...but true

------
iSimone
Usually buy a new Moleskine or Muji notebook.

~~~
albahk
I have one Muji notebook per project. Everything for that project goes in it.
It is a great relief to get all ideas and concepts out of my mind and into the
book.

------
sahillavingia
I sit down at my computer (and start). Seriously, anything more and you'll
start making excuses, look for competitors, or figure out some way to justify
not doing it.

Just start.

------
ScottBurson
An old friend of mine always says that before starting a new project, he has
to get really bored. That is, he has to make sure he spends a period of time
doing nothing interesting. That way, when he starts the project he has nothing
else on his mind distracting him.

I can't say I've ever done this myself, but actually, now that I think about
it, maybe I should. I tend to keep too many balls in the air to focus well on
one thing.

------
danest
I think about what I am going to make, then if one week later that idea or
project came to mind again. I start sketching a basic implementation of it.

------
mnemonicsloth
Finish your current project.

~~~
lenary
nope, i don't do that... maybe i will someday

------
anelia
This is a tough one... I take a blank template that I have already prepared
and make the project, filling it with the most incredible designs I have ever
done. In a couple of days I look at it again and I usually change it
completely... so the second version is actually the first one I show to
anybody. And then it just happens!

------
Mikewithamac
Surf the Internet, in search of related content. I find the need to become a
temporary expert on the subject.

------
MochaMocha
Pen on clean whiteboard.

------
tttimi
Panic, that I can't do it. Then I do it.

------
siloraptor
I think of a code name to refer to it :)

------
elliedoom
I take a hot bubble bath

------
Shvelo
Creating a folder :D

------
jamesjj
Take the deposit.

------
dbanx
express <appname>

------
Midnight71
File>New>New Project

