We have well-set workflows managed in Youtrack, with a set of statuses and clearly defined areas of responsibility. Our PMs send customer tasks to developers who estimate and send them back for review. When the estimation is approved, the developer starts working on the task. When it's done, the work is taken over by other teammates (code review, front-end, QA, etc.). If the task passes the review stage, the "Released" status is set.