~/blog/managing-it-projects-reality
×

> cat --date="2025-09-18" article.md

What Nobody Tells You About Managing an IT Project

Every project management certification teaches you about scope, schedule, and budget. The iron triangle. Risk registers. Gantt charts. What none of them adequately prepare you for is the human layer — the part that actually determines whether your project succeeds or collapses.

After leading IT projects across fintech, healthcare, and e-commerce, here is what I wish the textbooks had covered.

Estimates Are Social Contracts, Not Predictions

When a developer says "three days," they are not making a scientific prediction. They are making a social commitment under pressure. The actual duration depends on dozens of variables they cannot foresee: an unexpected dependency, a production incident that steals Tuesday afternoon, a requirement that turns out to be ambiguous.

The practical response is not to demand "better estimates." It is to:

  • Estimate in ranges — "3 to 5 days" is more honest and more useful than "4 days"
  • Track actuals vs. estimates over time to calibrate the team's estimation bias
  • Build buffers explicitly rather than hoping each task finishes on time
  • Decompose aggressively — tasks longer than 2 days are predictions, not estimates

The Status Meeting That Wastes Everyone's Time

The daily standup has become a ritual performance in many teams. People recite what they did yesterday, what they will do today, and say "no blockers" even when they are stuck. The meeting becomes a reporting ceremony rather than a coordination tool.

What actually works:

  • Walk the board, not the people. Focus on tickets, not individuals. "What does this ticket need to move forward?" is more productive than "What did you do yesterday?"
  • Async standups for distributed teams. A written update posted by 10 AM gives everyone more flexibility and a searchable record.
  • Kill the meeting if it is not earning its time. A 15-minute standup with 8 people costs 2 hours of engineering time daily. That is 10 hours per week. Make sure it is worth it.

Requirements Will Change — Build for That

The biggest source of project friction is not technical complexity. It is requirements that shift after implementation begins. This is inevitable in any project longer than a few weeks. Fighting it is futile. Instead:

  • Deliver in thin vertical slices. Each increment should be a working feature that stakeholders can see and react to. Their reaction will tell you whether you are building the right thing.
  • Separate the "what" from the "how." Business stakeholders define outcomes they need. The technical team decides how to deliver them. When these concerns blur, you get design-by-committee.
  • Document decisions, not just requirements. Six months from now, nobody will remember why you chose approach A over approach B. Write it down. Architecture Decision Records (ADRs) are lightweight and invaluable.

Risk Management Is Not a Spreadsheet

Most risk registers are written once and never looked at again. Effective risk management is a continuous conversation:

  • What could go wrong this sprint?
  • What depends on an external team that has not confirmed their timeline?
  • What happens if the senior developer leaves?

Keep a living list. Review it weekly. Act on the top three risks before they materialize. The goal is not to eliminate risk — it is to avoid being surprised.

The Uncomfortable Truth

Most project failures are not caused by bad technology choices or insufficient budgets. They are caused by poor communication, unclear ownership, and leaders who confuse activity with progress.

The best project managers I have worked with share one trait: they ruthlessly protect the team's focus while keeping stakeholders informed with just enough detail. No more, no less.

> cd ../blog > cd ~