Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What is the first thing you do before starting a new project?
41 points by smashing_mag on July 9, 2011 | hide | past | favorite | 45 comments
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?



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.


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


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.


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-


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.


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.


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.


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


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.


As a side note, 1,2 and 4 are the sort of thnig I believe Steve Blank is taking about when he says "There is no truth inside the office".


    mkdir new_project && cd new_project
    git init .


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


Without need for the configs:

  git push -u origin master


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.


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!


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.


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.


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.


knowem.com is pretty great too.


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.


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.)


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?"


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.


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.


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! :-)


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


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


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


Usually buy a new Moleskine or Muji notebook.


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.


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.


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.


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.


Finish your current project.


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


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!


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


Pen on clean whiteboard.


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


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


I take a hot bubble bath


Creating a folder :D


Take the deposit.


express <appname>


File>New>New Project




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: