This is excellent advice, so often you see great capable people buckling from stress and worse because they don't know how to delegate.
The way I prefer to do it is to give everyone a piece of the project that they own. I don't want to know how or when they do their part, I just want to know that it gets done, works and that it plays well with what other people on the project are doing.
Recently I was in charge of a live webcast from a rocket launch in the middle of the Baltic Sea. A hard problem for several reasons. It involved high-speed Wi-fi over a 40 kilometer distance by having a parabolic antenna on land that tracks its counterpart at sea; using software written in C to control a videomixer in the middle of the ocean from the Internet, getting the right camera angles, mounting cameras, etc.; setting up a live studio on land where technicians could control videofeeds and move the cameras at sea, webcasting to thousands of users, making sure there was a competent speaker, creating filler videos, getting the logistics about everything right and much more. Also, since this is an opensource project there was no money, and I had to find the crew myself.
It isn't really that hard, if only you accept a few things.
1) You're not the smartest guy. There's someone smarter than you that can do whatever part of the project you have trouble with.
2) Let people take ownership of a part of their project and don't tell them what to do. Tell them what the goal is and let them do it however they want.
2) When they do awesome stuff make sure you tell them. People are capable of much more than they think it only they're motivated to so so.
3) Make sure it's fun.
4) Your job as a project manager is to make sure that the awesome stuff people do plays well with the awesome stuff other people do. You're in charge of the interfaces between people.
5) Your job as a project manager is to make sure people can do their job well. That means moving obstacles in the form of meetings, budgets, politics, etc.
Fantastic list. The only thing I'd add to this is: rehearse, rehearse, rehearse.
I've worked on a couple of projects that had all of that, but didn't come together at the end. People did what they thought was right, but until we tried putting it all together we didn't see the gaps. And then we had no time to recover.
Without rehearsals (or alpha pushes or dry runs or whatever else forces iteration) it's the job of the guy on top to figure out everything that might go wrong and then bug people about it. But if you try it all together and something doesn't work, everybody sees the problem and jumps on fixing it.
I learned this from watching a theater director friend put together a play. Day 1, she got everybody on stage, had them open their scripts to the first page, and they started reading it through. When they got to the end, they went to the beginning and started over. They gradually added motion and props and inflections and pauses and scenery and music, tweaking and tweaking. Opening night was just version 71, and it got rave reviews.
The way I prefer to do it is to give everyone a piece of the project that they own. I don't want to know how or when they do their part, I just want to know that it gets done, works and that it plays well with what other people on the project are doing.
Recently I was in charge of a live webcast from a rocket launch in the middle of the Baltic Sea. A hard problem for several reasons. It involved high-speed Wi-fi over a 40 kilometer distance by having a parabolic antenna on land that tracks its counterpart at sea; using software written in C to control a videomixer in the middle of the ocean from the Internet, getting the right camera angles, mounting cameras, etc.; setting up a live studio on land where technicians could control videofeeds and move the cameras at sea, webcasting to thousands of users, making sure there was a competent speaker, creating filler videos, getting the logistics about everything right and much more. Also, since this is an opensource project there was no money, and I had to find the crew myself.
It isn't really that hard, if only you accept a few things.
1) You're not the smartest guy. There's someone smarter than you that can do whatever part of the project you have trouble with.
2) Let people take ownership of a part of their project and don't tell them what to do. Tell them what the goal is and let them do it however they want.
2) When they do awesome stuff make sure you tell them. People are capable of much more than they think it only they're motivated to so so.
3) Make sure it's fun.
4) Your job as a project manager is to make sure that the awesome stuff people do plays well with the awesome stuff other people do. You're in charge of the interfaces between people.
5) Your job as a project manager is to make sure people can do their job well. That means moving obstacles in the form of meetings, budgets, politics, etc.
5) Don't take credit for what you didn't do.