- Tasks -- responsibilities and main tasks. Can they decide what they work on, what goals they want to set, what their priorities are?
- Time -- work schedule. Who decides when the "work day" starts and ends? If there's rotational coverage of some kind, who determined what rotation was required and how was the coverage assigned? Do you require people to spend time commuting?
- Team -- who they partner and interact with. Do they get to pick their project team members or are people assigned? Can they decide to divide the work up with others any way they choose? How much freedom do they have to interact with customers or business partners, or senior managers for that matter?
- Tools -- how they're supposed to do it. Tasks are what they're supposed to do; tools are the method. For programmers, it could include architectures, IDEs, even languages: who chooses? Are there a lot strict processes in place -- check in these things, fill out this form, then get sign-offs from these people, then schedule your release only on Fridays -- or is it totally free?
Compile the ratings given by everyone on your team or department or whatever level you desire.
Being completely autonomous in every aspect of the job might be undesirable. For example, jobs that require customer interaction have to consider the customers' hours and locations. You'll have to get creative to find ways to bring more autonomy to that area of the.
Also, average scores might be fine, but a low score in one area might indicate an place to focus.