I can speak about my experience working in an enterprise environment where my team works on projects for various business units, each having wildly different expectation about our engagement. Aside from the scope of the project, our estimates can differ depending on:
- At what stage of the project you're brought in
- What deliverables you're expected to produce
- How much you will be involved during iterative development process
- Number of obligatory meetings you're expected to attend
Looking at 100+ different sized projects we've worked on over the years, we've learned that amount of time spent on UX tracked nicely in proportion to development hours (excluding time spent by analysts, project management, and other overhead), and that ratio has been 1:10.
For example, if an IT project is budgeted for $3 million and $2 million of that is for development hours, $200,000 is roughly how much we end up charging back based on our retroactive analysis.
However, this isn't how we actually estimate level of effort, because saying "10% of development hours" isn't going to fly with most PMs and project sponsors. So we usually use combination of sizing techniques.
In all projects, there is a lot of pre-work and meetings. So we estimate how many hours per week we expect to spend attending meetings and doing analysis based on their project schedule. If it will take 2 people on my team 50% of their time for next 3 weeks, then it will be 2x40x0.5x3 = 120 hours.
As we progress into the project and requirement becomes more baked, we are able to factor in things like unique screen counts, flows, fidelity of prototypes, complexity of interactions and information, latest stakeholder expectations, and etc. to arrive at more accurate level of effort.
It's best to not reveal the detailed breakdown of you arrived at the numbers. Chances are, if you've been doing this for awhile, the 'overall' number will average out to be accurate, but the breakdowns may not be, and some may question them.