An experiment: how different Titanium developers estimate the same project
I’m currently working in a project with a mate. He made the time estimation for it but, due to he is still newbie with Titanium the estimation was a little bit high (in my opinion).
We had an interactive demo in where you can see the flow, the behaviour and the screens. The API REST are developed and the graphic assets too, so we “only” need to develop the app.
I’m in the slack group of Titanium devs and I though: we are a lot there, would be my time estimations similar to the others? The unique way to know it is… asking. So I asked it to all and 13 of them accepted.
Because the online demo is not permanent, I will describe a little the project, but we all saw the same demo so we all had the same info:
- iOS and Android app needed
- Native components and UI as much as possible
- API REST done
- Graphic assets done
The app is a classic login form (login with Facebook or own login), with password reminder and autologin.
After it, you go to a standard Tab with 5 tabs:
- Search tools: listview with 4 type of contents. On every one you have an article you can share (Fb, Twitter, G+ always when sharing) and comment.
- Share photo: you can take a pic or get it from gallery, then share it.
- Profile: the most complex screen. Some views with a lot of data but the special item is an activity wall with data from other users (like a Fb wall). You can like, comment and share. Also search for friends, see current friends, see travels you have done, see your comments history, see pics uploaded and change your profile.
- Tips: a listview with articles you can share and comment. You can filter it with a slide menu to choose the type.
- Messaging: a section to chat with your friends.
Ok, it’s better to see it than be explained in a few words, but you can make an idea about the app.
The results
After some minutes of a quick evaluation (I think we all estimated the whole app in 30–60 mins approx.), this are the results obtained (sorry this is an image, but seems that medium doesn’t support tables).
We have the total experience as a developer, no matters in what field (it’s good to know the background of the developer, it’s no the same a 1 year in Titanium with 2 years of experience in general, that with 8 years) and the total experience in Titanium, so the data becomes more interesting.
The average is 245 hours, 30 days, about 6 weeks, but the interesting thing is that the experience doesn’t seems to be dramatically significant to estimate more or less time. All of us have a great general background (9 years in average) and a decent experience in Titanium, but numbers are really mixed.
We go from 140 to 360 estimated hours, that is 57% and 147% the average.
Obviously, with only an interactive demo it’s hard to be accurate. Probably those not experienced devs with lowest estimations will fail and those with highest estimations will “loose the contract” (in case of high rates) or have time to test the app strongly (happy customer with an excellent tested app).
Finally, I forgot to ask about another relevant factor I thought after asking: the number of apps developed with Titanium. It’s not the same to work in 2 complex apps in 1 year working with Titanium that build 5 simple apps with little complexity. But I can still update my table guys, if you want we can add that info, just write me in Slack.
Get you own conclusions and share it with us in the comments.
UPDATE: here are the conclusions once the project was finished