For many years, I have observed that the quality of software produced by organizations is a decreasing function of their emphasis on project management over business value creation—that is, their obsession with predictability and efficiency over learning and adapting.
Projects, with respect to software development, are imaginary boxes drawn around scope and time in an attempt to “manage” things
Innovation and learning are incompatible with predictability. If you’re optimizing for predictability, you’re motivating people to hide the truth. You may have encountered projects where everything was fine, fine, fine until suddenly it wasn’t—and no one believed that it “suddenly” went bad; the truth was just masked for a while.
This happens because project management emphasizes things that do not matter—estimates, time, conformance, ceremonies, and all of that—while ignoring the things that do matter: value generation, user satisfaction, group learning, team dynamics, root causes, information gaps, business insights, and innovation.
Many project managers (PMs) provide valuable assistance to their teams: clearing obstacles, looking ahead, taking care of the team’s morale, upskilling team members, and so forth.
So what do “good” project managers do? They clear the road ahead. They take care of their teams. They make sure the business vision is shared and understood across the board. They don’t micromanage, they don’t back-seat drive, and they definitely don’t ask, “Are we there yet?” every three minutes like a bored toddler on a long car trip. (Yes, “How’s it going?” is the same as, “Are we there yet?” so please, please stop doing that.) If you have a specific question, ask it; don’t interrupt the developers for a status report; you’re just making things take longer.