Conclusions on my experiment of developer estimations
Do you remember mi last article about how different Titanium developers estimate the same project? Well, I have the final results of the project we estimated.
In a few words: my personal estimation, based on a PDF + an interactive demo (done with Invisionapp, a tool for designers) was 320 hours (8 weeks) and the final time was 400 hours (10 weeks).
Why this difference? A lot of little details added some hours that, finally became a lot of hours.
Why?
The most important of all: we had no specification sheets, only the “design” docs and a cursory explanation about what the app will do “in general”.
Second problem: no user story sheet, so the client was adding “functions and behaviors” not shown on the design docs freely (although we put a limit at the end).
Third problem: we saw an iOS design that seems as standard components, but the designer later told us that design must be “exactly like docs”, which includes same fonts, custom buttons, etc. To developer’s eyes, we see normal fonts and buttons, but they weren’t…
Fourth and most important problem: the API. All seemed fine and great with the API: well documented and a lot of functions available. But… we found a lot of problems with it. Some functions didn’t work as expected, others did wrong things… In fact, I’m still thinking that we were the beta testers of that API. We lost a lot of time trying and retrying things.
So what we assumed would be fast and easy, was a little bit complicated and not so fast (well… “as always”).
And, added to this, a bad design in the main and complex screen (the Facebook wall style) forced us to manually develop it, preventing us to use existing and fast components. That caused a lot of hours development: from 16 hours to 40 hours deviation.
Conclusions
After analyzing all the work, these are my percentages about the total deviation (80 hours — 2 weeks in total):
- Main complex screen: 30% (24h)
- Design issues: 15% (12h)
- Not expected functionalities: 15% (12h)
- API problems: 40% (32h)
None of the extra hours increased the original budget because the price was established before the begin, so we assumed it. Without all this problems, I think we could have finished it in 7 weeks, in fact, so the impact of all this is even bigger.
You can get some important tips from this experience.
- Never get a project without a specification sheet and, if possible, a user story sheet.
- Talk directly with the designer to feel the importance of the proposed design in the final product. Maybe there are things that can be changed, maybe not.
Personally, I never managed this project but I got it to help my mate with his first “complex” project with Titanium. He learned a lot and now he is ready to fight with better knowledge.