How to delegate defects to developers by tester in ALM tool?
Testers should never delegate or assign defects to developers. The tester have a signaling function, you signal that something is out of order. Now someone else should decide what to-do with this signal, for example the owner of the product could prioritize based on risks and feature importance.
Testers in a dev-team: When testers are working in a team then I would expect the tester to just communicate that he/she found defects. Only place them in a ALM tool if you are going to postpone the defect fixing. I suggest a zero defect policy for teams and pick up found issues as soon as possible.
Testers outside a dev-team: Testers record defects in a ALM tool, with step-by-step reproduction path. Then project owners/managers should monitor incoming defects and prioritize them accordingly. Then assign them to a team (or to a individual developer, but developers should always work in teams if you ask me). The team should schedule fixing the defect depending on the priority. Again I suggest to use a zero defect policy.