• Define DRI/DARCI, milestones and project scopes clearly but anticipate changes along the way.
  • Make sure ownership of the project is clear from day 1.
  • Define roll out strategy early in the project.
  • Plan ahead for hand/take over of the project.
  • Communicate actively via all mediums (i.e. Slack, Email, documentations etc).
    • Communicate better with visual aids if possible.
  • Centralise your documentation and use it actively.
  • Loop in PMs, TLs from dependent teams early instead of sending FYI mails at the last minute
  • If you have got commitment from them, then send out a mail with
    • Owner for each task
    • Timeline
    • Status
  • Frequently send out updates, highlighting dependencies, so that these are resolved before codefreeze
  • Sending out a mail or slack does not mean commitment from the other team. Make sure the commitments are acknowledged on mail/slack
  • Link to the relevant discussions you have had with external stakeholders in your update mails/slack comments. Also add these to your MOM section in the spec
  • A task’s status should be one of these:
    • Yet to be picked
    • In progress
    • Done
    • Delayed
    • At-Risk
  • Involve key stakeholders and ensure they are held responsible.
  • Avoid last-minute surprises. If you hate last-minute bad news as a manager, then avoid giving the same to your manager too.
  • Keep giving frequent updates so that blockers are highlighted much before they delay your project.
  • Escalate blockers early. Also share good news early, if any, to motivate the team.
  • In case a project fails, make sure you highlight both the good and the bad. Most people focus only on the bad. Write a post-mortem report with learnings, and share the next steps.

Related read: Project management best practices