Hello Dev-GAF, I know this is kind of an annoying question but I'd like to hear your estimates.
Say someone wants to create a social network with a nice looking mobile client. Something like Twitter or Snapchat, only obviously on a much smaller scale at first. For that you need to develop:
- The backend (server, database, data manipulation)
- iOS client
- Android client
Can you give me a ballpark figure of how long it will take? Can it be done by a single person (I assume not)? If no, how many people would you need as a minimum?
Anything can be done by a single person, given the talent and time.
...which leads to the inherent problem of estimating. I wouldn't say impossible, because IMO madness lies down that road (being 80% sure of where you're going is better than 0% sure. 80% accuracy on your estimates, as a team, is eventually achievable). But very difficult, especially when your dev team isn't set in stone, or just new (people haven't found their niche yet, etc).
So... for an established team of rock-star developers? I'd guess about 4 people (2 for backend, one for ios, one for android) working together would have a pretty mediocre social network going in about 3 months. So, we'll say 12 man-months, given perfect expertise in all subject matters from all developers...
...for a prototype. Start multiplying that estimate by scary scaling factors if
(1) you don't have super experienced developers. This is going to blow your estimate up. It will also hurt your ability to re-estimate in the middle of the project, which is even more important.
(2) the team doesn't already exist.
(3) you need it to be "production ready". That said, basically all startups cheat and launch as soon as code compiles (this is an exaggeration, but you know what I mean)
(4) how programmer of me to forget: documentation!
FWIW, this is coming from an agile/scrum background. YMMV with other methodologies. Waterfall will probably get your social network going in about 10 years.
e: and I should clarify that you cannot discard the scaling factors. You estimate what the best case would be, hope your estimate is remotely on the money, and then try to control for all the stuff you can't control (team makeup, inherited code, whatever it is). Or in another words, even if I estimate 12 man months as the best case, 12 man months is never, ever, ever going to happen. Maybe 36 at best. Or 60. Or 90.