"Your team has delivered more projects in one year than what this team had done in the previous 7 years!" — from my performance review at one of the largest Internet companies.
I got a lot of questions about my "secrets" to turn around the team and get projects done.
It’s very simple.
I set two goals for the team:
1) Set aggressive AND achievable project milestones for the project, and hit them one milestone a time.
2) Let’s work a little bit extra harder now, and nobody would pull all-nighters in the end.
In a company that was known for developer burn-out, none of my team members was working extra hours before project deadline, and all projects were delivered on time.
To achieve the two goals, I implemented a simple process:
1) to come up with aggressive yet achievable milestones, each project must be divided into small tasks that take no more than 8 hours to complete. Developer won’t give you realistic estimate unless the task is small enough.
2) identify all dependencies: Is a task dependent on some other task(s) and/or external factors? Identify them early on and continue to identify them. It’s my job as leader of the team to remove the dependencies and coordinate the tasks so that one task won’t block the other.
3) 100% transparency: weekly project status report tells exactly what’s going on with the project. No sugar coating. If anyone has any problem, let the whole team know as soon as possible. At any given time, we, as a team, must know exactly how the project is progressing against our goals and project plan.
4) have weekly "learning points" meetings, not postmortem meetings in the end of project: I don’t like postmortem meetings, which take place after a project is over. That’s too late. Let’s make project a constant learning process — each week identify what we have done right, and what mistakes we have made. Incorporate the learning to the project plan and execution immediately. Just like a basketball team, you need to have "time-out" to figure out what adjustments to make during a game. Do the same for the project.
Do these basic things. You’ll be surprised how effective they’re to get project done.