For a project of any significant size, you simply don't have time to do project management. So don't try. Examples of duties you don't have time for include: managing the client relationship, managing the contract, change orders, proposal writing, costing, HR management, time tracking, billing, etc..
These days, I team-up with proven PM's who've taken multiple projects the distance successfully. I sit next to them and do everything in my power to assist so that they can help us get to the finish line. It's a team thing, a close partnership, a great one-two punch. If it's tech, you got it; if it's management, your PM's got it.
More, I structure the work in such a manner, that the PM has great understanding and visibility - beyond the project plan's task list. I think of it as providing management with a great project dashboard (gauges and controls). With this management can leverage their skills to help us tackle the project and drive it to a successful finish. Some dashboard examples:
- Use case list with statuses (what's being delivered)
- Test case list with status by release (how ready is it)
- Issue list with statuses (what's standing in the way)
- Technical decisions with statuses (what decisions were / need to be made)