If users are allowed to create their own "Other Work," then you will likely end up with inability to report on it - think of "Holiday" spelled at least two dozen different ways - e.g. Vacation, Vac, Hol., Day Off, Days Off, Days Away...and I've not even started into different languages!).
So, teach them to add a charge code to their Other Work - meaning regardless of spelling, everyone choose "Holiday" for charge code from dropdown list. Possible - will be like herding cats, though - I would not want this job.
Also, consider the legal rules surrounding absenteeism - what can you ask your people to answer? In some countries, the answer is "Nothing." For example, in Germany, we can only ask if person is absent and # of hours absent. We cannot ask if it was vacation, holiday, sickness, jury duty - nothing.
We even have variation between groups in US - some want to know all the details (Jury duty, military duty, sickness, etc.) - others don't ask because this is an HR question and our system is not used by HR. - if HR doesn't use our system, why should we ask our people detailed questions about their absence? Their answers don't affect our management of projects or resources on those projects.
So, lots of variables...even in one company.
We created Other Work instances for each group that had their rules defined - e.g. Group1-Absence, Group2-Absence, Group3-Absence... Each group is responsible for defining the rules on how to use and who should have access to them - no one gets to see everything.
Since 'self allocation' is not really feasible with available rights, we setup an "Allocation Group OBS" where we assign resources to each branch depending on group, region, employee type - the factors that determine what each resource should see. We then use the "Add/Update by OBS" for initial population of each other work instance, and refreshing periodically. We also set their allocation to 0% when doing this.
It's not perfect, but the admins are happy because now users can't book to wrong/illegal things and no longer chase resources to make corrections to such errors.
Oh, and we wrote our own Jaspersoft report that queries the transactional database so that we can report on both Indirect and Other Work, going far as update Indirect labels based on Group reporting. This does two things:
- For this year, we have data in both the old and new ways of booking - this allows reporting on both (will become irrelevant in future)
- Makes reporting easier to comprehend, form pivot tables on exports to Excel (e.g. If Other Work is "Group1-Absent" then we take Indirect "Absent" booked by Group1 resources and rename it to "Group1-Absent" - therefore, in report, all absent data, whether from old or new methods, it is called the same thing.)
Running now, for 3 months - all is quiet. I've made some calls, to make sure silence was a good thing - so far, all good.
Dale