Was curious to hear about other peoples experiences regarding getting software to a point where its ready for a paying customer. My personal experience regardless of the venture or technology stack, seems to always endup around a year.
Its usually 3 months to get a functioning prototype that everyone thinks is a completed project, then another 3 months to get it close but then realize all the stuff you didnt think of, then 3 to 6 more months to work through everything you couldn't know about until interacting with the product.
I am always meeting .NET and Ruby developers saying how they can do things in a couple days, but they never seem to complete things in a much quicker time frame.
Harry Lin (of evite) on a Mixergy.com interview talked about how fast Ruby development is but still expected a rewrite to take a full year. I have a friend that started a company (called vanno.com) using Ruby and it took them a year before going live (and seems like a basic site).
Interested in hearing other peoples experiences. Thanks!
It depends on how agile the client is. I have a project I am transitioning off of, but after 2 mths it was ready for internal testing, then 2 mth later it was ready for beta testing, and now is ready for paying customers, but it isn't complete yet. Unfortunately the client wanted it to be closer to perfect before anyone tests it, so it hasn't even had any input from a customer, but from an employee that tests the application a couple of times a week, even though there are changes almost daily.
So, it can go faster, if everyone is on-board, so it may be 2-3 mths before internal testing is ready, then a couple of more months before some beta testing, then, depending on feedback from testers it may be a couple more months to clean it up, but, it may be a while before it is feature-complete, as the testers may have some nice-to have features, but those can be in updates that take place every couple of months for a while.
This has little or nothing to do with process and technologies and everything to do with well-defined requirements, the team, and the scope and complexity of the software.