Too Early? Too Often?

jesse on 2005-11-22T05:51:27

So. We have this new application. It's not done yet. It's agressively not done yet.

That's not to say we don't have users. We do. And they're giving us good feedback. There's lots we want to do with this application. It has a bright future. It may or may not displace Google as the epiecenter of the internet. (Ok. we know it won't displace Google. That's not even something we're trying to do.)

But there are other things in the same space as our application. Some of them are better (for now). Most of them are abysmally bad.

What we have isn't polished. There are still rough edges here and there. And it's far from feature complete. But it is useful. (Either that or it's so bad that our users take pity on us and lie about it being useful. )

This thing we're doing is hosted, so it's not a problem to grow it day by day and feature by feature. We've got a nice comprehensive test suite. We aren't afraid to roll new releases every day until it's right.

So. do we throw open the doors, invite the world in to see what we've got, possibly laugh at us and walk away before we're ready with something we think is great?

Or do we wait and let the space get even yet more crowded while we hide in our bat-cave with our not-quite-there-but-still-neat application?


Ever-Less Beta Tests?

chromatic on 2005-11-22T07:35:46

Recruit as many more users as you trust and can handle and either polish the rough edges they find (as they haven't yet acclimated to its way of doing things and can offer the inexperienced perspective) or let them at the code... at least, if you're going to open up at least part of the code.

When do I release? (business version)

Alias on 2005-11-22T09:04:53

I seem to recall reading a book that said something like the following.

"Sales will think you are ready as soon as they have a paying client, and any answer from you weaker than 'That idea is impossible'.

Marketing will think you are ready after the Go To Market meeting, regardless of the state of the product.

Engineering will never think they are ready, or at best once they think everything is implemented perfectly (and probably wrong).

A Businessman knows that you are ready when the minimum implementation of the key feature of the product works, doesn't break, and provides enough benefit to the customer that they won't feel ripped off when you charge them. Because if they think the key feature is worth it, they won't know and won't care about the other features till you finish them."

polish what you have?

TeeJay on 2005-11-22T09:34:26

It would make some sense to polish what you have, if users aren't demanding new features.

People will choose polished and good looking over working, useful, powerful or good value any day.

examples

Qiang on 2005-11-22T16:13:18

i am sure there are many examples.. what did flickr do? what did *** do? worth looking into it.

some dinosaurs survived

mr_bean on 2005-11-23T00:40:31

This is an interesting controversy that can be
argued both ways. I know Jesse questions the
orthodox view on this, which judging by the
response of Alias, seems to be the consequences
of a business model.

One argument against release early, release often
could be lock-in works both ways. While it is OK
for the producer if the consumer is the one who
is locked in, it less OK if it locks them in too.

If it is the aim to survive, anything which hurts
adaptability is a bad thing. Big is not
necessarily better. The dinosaurs which
survived were the small ones. They are now
known as lizards (and snakes.)

How does the niche argument fit in here? I guess
you have to be able to predict how a niche, which
the program already appears to have, is going to
change. Or to be able to hop from niche to niche.

Incidentally, how do these considerations relate
to the time it is taking perl6 to hit the
streets? I don't see any great language change on
the horizon that it has to preempt to avoid being
destroyed by. What are its competitors? Are
python and ruby planning any radically new
versions?

Fisher's fundamental theorem

mr_bean on 2005-12-18T00:07:06

According to Weinberg's Psychology of Computer Programming (paraphrased), Fisher's fundament law says the better adapted you are to the present environment, the less able you are to adapt to changes in the environment.

Wikipedia has this quote about the theorem:

"The rate of increase in the mean fitness of any organism at any time ascribable to natural selection acting through changes in gene frequencies is exactly equal to its genic variance in fitness at that time". ([12]A.W.F. Edwards [13]1994)

Release now. :-)

throwaway on 2005-11-23T05:29:56

You should release it now, because we're dying to know what it is.

What Paul Graham thinks

mr_bean on 2005-12-23T02:27:11

At
http://www.paulgraham.com/popular.html,
there are some quotable quotes implying
release early, release often may not be
best:

      Nothing could be better, for a new
      techology, than a few years of being
      used only by a small number of early
      adopters. Early adopters are
      sophisticated and demanding, and
      quickly flush out whatever flaws
      remain in your technology. When you
      only have a few users you can be in
      close contact with all of them. And
      early adopters are forgiving when you
      improve your system, even if this
      causes some breakage.

      Users are a double-edged sword. They
      can help you improve your language,
      but they can also deter you from
      improving it. So choose your users
      carefully, and be slow to grow their
      number. Having users is like
      optimization: the wise course is to
      delay it. Also, as a general rule,
      you can at any given time get away
      with changing more than you think.
      Introducing change is like pulling
      off a bandage: the pain is a memory
      almost as soon as you feel it.