So I thought about collecting all the feedbacks here in this post to better explain my position on the topic.
There are some contexts were that “methodology” I did explain, let’s call it process 0.01%, won’t clearly work.
Now, I still don’t fully understand why, but it’s a fact. (many times is caused by politics and fear in dysfunctional organizations)
There are enterprise contexts where there’s need of tools to keep the project on track from a quality and delivery perspective. It’s still questionable that the tool will fix the problem.
I think that spending a month training/staffing the team most of the times will pay back more than installing (buying) CI server, tracking tool, estimating, planning, etc.
A common mistake in those enterprise contexts is that the enterprise manager will always ask for perfection. I sow so many good websites done by startups with little bugs still providing an excellent service.
Foursquare went down, people are still using it.
Facebook has many bugs but it’s a success story.
My understanding is that it’s more important to go live with an enough good system most of the times rather than having a perfect system frozen on your source code repository.
If I would have to work for a Nuclear Power Station control system or if I would have to write the software to control a surgery robot I would probably write lots and lots of tests or I will maybe, use a language that supports formal methods.
In the hippie funky world of the web small mistakes are allowed, building software for space rockets would be fun as well I guess, but that’s another context.
The sad thing is that lots and lost of former startups with the help of shit consultancy companies such as IBM, Capgemini, Accenture; to mention few, became enterprise-like.
So my message is, think as a startup as much as you can, always, it’s more fun for your employees and you will be faster to market.