When the task is created, it is automatically assigned to the person responsible for checking tasks before approving for development.
Marking it as Unassigned means it is approved for development and it shows up in the sprint backlog.
When a task is picked up from the sprint backlog, it is assigned to the current user and its status changes to development (in progress).
When the task is moved to "ready for testing", it is auto-assigned to the tester or the testing team lead.
Marking it as "testing passed" assigns it to the person responsible for the deploy.