As an agency programmer, I'll say this: if you're a startup, don't hire an agency unless your website is simply a marketing vehicle for your (non-web-based) product. An agency can give you top-notch graphic design, etc, but are much too slow to service a public-facing web startup. This is due to the project management process, and the fact that agencies have 30 other clients besides you. The article is largely right-on.
I think the whole "hiring an agency is bad" is overblown. Sure for a hacker its probably a waste of money, but for normal people? They really don't have any other choice. Its not like a businessman in his 50s with a startup idea, will want to spend thousands of hours learning to code his project. And for what? To have a crappy little site because you don't know half the tricks, and don't know where to go to find help.
Also the whole "you must have quick changes to succeed" is overblown. Sure a hacker will probably be able to roll out a new change a week earlier, but how much can you really gain during that 1 week?
And in the long run the businessman will win, because while you are busy spending your whole day coding that one extra feature, the business guy can focus on running his business, while his agency works on the feature requests based on his requirement document and mock ups.
Also the whole "you must have quick changes to succeed" is overblown. Sure a hacker will probably be able to roll out a new change a week earlier, but how much can you really gain during that 1 week?
In many cases, a hacker will be able to roll out a change three months earlier. Sometimes I turn around a change for a client in as little as an hour, but a big change? Those rarely happen within a timeframe that most entrepreneurs would find acceptable. Especially if you don't have an agency-of-record relationship - those always take priority.
I really don't think there is that one feature that will kill a product, if its not rolled out immediately. + I don't think there has ever been a startup that didn't have it's users clamoring because they have to wait for some new feature to get coded. And usually its something very simple too.
And once again you approach this as a hacker. Put yourself in the shoes of a complete noob. Lets say 2 years later he was able to copy paste together some working code to get his basic idea working(it has to be basic, because the person doesn't have the skills/resources to do anything groundbreaking). Then its time to add a new feature. Once again he needs to dive into the code, and it'll take him a lot longer to finish, compared to even a contracted agency that can just jump into the source safe and copy paste the specific code for that specific function.
If you are a hacker, doing it yourself is definitely advisable. But for your average Joe Blow who has no clue how to code something as basic as a hello world app, I'd think its much more advisable to have someone else do it, instead of wasting time putting together crappy code, they can be up and running with a decent quality website much faster. And then while the new changes get coded they can continue working on marketing their site. You can have the best site on the net, but w/o users its worthless.
I've been saying it all along. Outsourcing your product development is a deadly mistake. Maybe once in a while it might work - but that's really a rare event.
Seems silly to say this as a blanket statement, given that it's provably worked before. It's probably suboptimal in most cases, but sometimes a startup can pump out an initial product quickly and cheaply that way.
Outsourced their prototype to India on angel and debt, used the prototype as a proof of concept to get their Series A, then put together an in-house team to do it the right way (Struts/Hibernation/LDAP/etc).
Even hired a contractor (this guy) to do some high-gear grinding on the kludged UI just in time for their first beta shipments.
Even though the initial product was mostly trashed, it got their business from concept to sales. Quick.
If your startup is based around a single application, then you could work with a great agency. Your application could be knocked out and then your time would be mostly focused on building the community around the application and making notes about what things to add, update & improve in your application update releases.
My main caution about agencies, was to the entrepreneurs who think they don’t have to know anything about the tech because they can hire an agency to build them a complete site… most good startups are never complete.
I actually replied over there (with a couple of my co-workers). I think that the post is exaggerated; agencies can be the wrong way to go, but if the founders are non-technical I think it's probably safer to at least start with outside help. VCs should know which companies are best able to help a fledgling company get going, and there's an increasing tendency for companies like ours (Viget Labs) to build in a transition period to an internal team once they're hired. Heck, we even help vet and train the internal team candidates at times, as it's in our best interests to make sure that competent people take over the applications that we built.