Disclaimer: Permission settings newbie here.
In my org, there are 3 departments. I've set up a role hierarchy with three branches where each head of department (HOD) is at the top. Underneath is another role to hold the subordinate users for each department.
Requirement 1: All users are allowed to view lead records from the other departments, but can edit/delete their own records only.
Requirement 2: The HOD is allowed to edit/delete all leads under their respective departments only.
Should I set the OWD for Lead to public read-only, and then create a read/write sharing rule for each department? How do I allow the HOD to delete all records under his/her respective department only, or will this be taken care of already by both the role hierarchy and read/write sharing rule? Anything that I'm missing here?