News for hackers. Stuff that matters.
Re:Get Rich Slow by Alex3917 on Friday April 10, 2009 @02:29PM (#556532)
"If only it were that simple."

If you are able to spec out how every single screen and interaction works before outsourcing your site then it is that simple. The reason most sites cost hundreds of thousands of dollars and take a year to design is that entrepreneurs don't force themselves to thrash up front.

I would posit that for the vast majority of non-technical would be web entrepreneurs, the one thing that is keeping them from being successful is that they don't do 100% of the design upfront. If you can actually write a completely unambiguous spec and then have the discipline to not change it at all until after the site launches, no magic is required.

Re:Get Rich Slow by rjurney on Friday April 10, 2009 @02:55PM (#556578)
You can only write an exhaustive spec if you know what you want - and no startup, and most software projects in general - have no freakin idea what they want 'up front.'

Thats why BDUF failed and hardly anyone uses it anymore. You have to use a prototype to know what you really want and even the prototype changes as you build it. Its an iterative process, and one that requires an intuitive developer as well as customer contact.

And you can't get that using elance. Building good products requires technical intuition that you can't rent.

Re:Get Rich Slow by pg on Friday April 10, 2009 @04:49PM (#556778)
the one thing that is keeping them from being successful is that they don't do 100% of the design upfront.

No one can, technical or nontechnical. Spec-and-implement doesn't work.

Re:Get Rich Slow by bcl on Friday April 10, 2009 @05:38PM (#556847)
Exactly. That's why Open Source (Release Early, Release Often) and Agile (iterative) development works so much better. Get the users using the system/site/whatever and build on their feedback.
Re:Get Rich Slow by Alex3917 on Friday April 10, 2009 @06:56PM (#556938)
"Spec-and-implement doesn't work."

Spec-and-implement only has two parts, creating a spec and getting the spec implemented. Which part doesn't work?

I'd readily admit that it's not possible to create a web startup based on a single iteration, but I think it can be one box on a much larger PERT chart.

Re:Get Rich Slow by nostrademons on Friday April 10, 2009 @08:10PM (#557004)
Creating the spec.

All specs are buggy - they don't spec something out fully, or they spec it and it's wrong when you put it in front of users, or they specify two features that when you try to combine them really don't work well. You can only discover these problems by trying them, because there're basically infinite ways to fail. If you rack your brains trying to think of everything that could possibly go wrong with your spec, you'll inevitably get bitten by something you didn't think of.

Re:Get Rich Slow by Alex3917 on Friday April 10, 2009 @09:10PM (#557058)
"All specs are buggy"

So then you start out with a buggy implementation. This could either create vastly more work in the long run, or it could be a huge head start. It all depends on your product, the resources you have available, your sticking points, etc. But there are too many successful examples, like Digg and Squidoo, to completely write off the model entirely.

Re:Get Rich Slow by ryanwaggoner on Friday April 10, 2009 @02:45PM (#556560)
This is highly dependent on what kind of startup you're doing, as many of the complexities in building a web app are behind the scenes, and therefore can't be captured solely through a requirements spec and perfect mockups of everything.
Re:Get Rich Slow by mattmaroon on Friday April 10, 2009 @04:02PM (#556703)
That's for the people you pay to figure out.
Re:Get Rich Slow by ryanwaggoner on Friday April 10, 2009 @04:37PM (#556752)
Agree, but if you're non-technical and you write up a complete spec and have mockups and head to elance, you're likely to be disappointed in the technical execution you end up with.
Re:Get Rich Slow by Alex3917 on Friday April 10, 2009 @04:49PM (#556776)
But if you have a complete spec, then you can take it to a really reputable firm. The way the top web design firms make their money is by charging a relatively low upfront fee (~30k) for a website, but by charging you again every time you change the spec. The reason the firms make money is because 99% of people end up changing the spec, so clients end up spending 150k or so. As long as you never change the spec then you can afford to take it to one of the best design firms in the world, as opposed to hiring some guy off elance.

It takes discipline and a willingness to sit down and have all your fights upfront, but it is possible, and the results make the process well worth it.

Re:Get Rich Slow by mattmaroon on Friday April 10, 2009 @04:56PM (#556790)
The better contractors on elance will guarantee you an hourly rate for changes too. In my limited experience, they seem pretty reasonable about it. It's of course impossible to say whether they're over-billing, but it sure never felt like they were, and the rating system gives them a vested interesting in ensuring that.
Re:Get Rich Slow by mattmaroon on Friday April 10, 2009 @04:51PM (#556782)
That wasn't my experience. Pretty much they'll deliver it, you'll test it to make sure it performs appropriately. There will be some cases where it won't, and they'll fix it.

The only time you'll care about the code quality is when you scale, and if you have that problem you can afford to hire in house.

Re:Get Rich Slow by rjurney on Friday April 10, 2009 @04:10PM (#556716)
And for you to suffer the consequences when they deliver you something exactly fitting your functional requirements - in COBOL.
Re:Get Rich Slow by edw519 on Friday April 10, 2009 @02:45PM (#556556)
Right. A thorough functional spec would eliminate the "magic" problem and introduce another concern: management. Having the perfect spec and the right talent guarantees nothing. You must still manage every single step of the dev process. Needless to say, this is non-trivial. OP glossed over this part.

I would go even a step further. I think the "management of talent" concern is so non-trivial that, in many cases, it simply doesn't work. The world has plenty of people with the scars to prove this.

For a tech start-up, I'd put a team of quality hackers on the most critical path. Something the rest of the world conveniently seems to forget.

Re:Get Rich Slow by Alex3917 on Friday April 10, 2009 @02:53PM (#556569)
"Having the perfect spec and the right talent guarantees nothing. You must still manage every single step of the dev process."

You shouldn't have to. Squidoo was completely outsourced. The deal with them was once they handed over the spec the company wasn't allowed to challenge anything. If they had a question about what something meant they were allowed to ask, but that was it. Other than that any communication was forbidden. Because of this the project was done early and under budget. And it seems to have worked; Squidoo is one of the top 300 sites with 91% growth last year.

Re:Get Rich Slow by edw519 on Friday April 10, 2009 @03:04PM (#556595)
"You shouldn't have to."

Perfect corporate tombstone material.

You're right. You shouldn't have to. But you do. Squidoo is the rare exception. For every Squidoo, there are hundreds of companies whose projects failed miserably because someone dropped the ball somewhere.

The programming is often the easiest part of a big dev effort. People often overlook the specification, design, project management, testing, scaling, security, etc., etc., etc. In the theoretical world (and mainstream media), these things somehow take care of themselves. In the real world, we know better.