My father-in-law and I had a discussion about this in relation to my company, which charges different rates for a few different roles on our projects. We've had trouble with this as people shift from project to project or work is shifted from one role to another (eg: junior to senior developer) which changes the amount of time available for the fixed budget we had planned. I was interested in his input since he has a lot of experience running large Enterprise departments.
He told me that he had tried different approaches over the years, and the best approach was to charge the maximum rate for all roles on the project. The working assumption is that senior workers will tend to do the work faster and on their own, but junior developers will require oversight from senior developers. That justifies the higher rate for juniors; it offsets the time that seniors have to spend mentoring them, which also ensures that the same quality of work is produced whether it's done by a senior or junior.
Charging the same rate for everyone greatly simplifies budgeting, especially if some parts of the project turn out to be over-estimated while others were under-estimated when the initial budget is put together. If all hours are the same price, you can shift them freely where they're needed as reality starts to beat up your plan. When hours have different prices, it's a lot more complicated to do that.
He told me that he had tried different approaches over the years, and the best approach was to charge the maximum rate for all roles on the project. The working assumption is that senior workers will tend to do the work faster and on their own, but junior developers will require oversight from senior developers. That justifies the higher rate for juniors; it offsets the time that seniors have to spend mentoring them, which also ensures that the same quality of work is produced whether it's done by a senior or junior.
Charging the same rate for everyone greatly simplifies budgeting, especially if some parts of the project turn out to be over-estimated while others were under-estimated when the initial budget is put together. If all hours are the same price, you can shift them freely where they're needed as reality starts to beat up your plan. When hours have different prices, it's a lot more complicated to do that.