Project management is often reduced to discussion about methodologies used to help with the process. We are agile. You are formal. And they are not only formal but also waterfall, ouch. OK, that’s a part of project management, quite an important one, but that’s not the clue.
Show me whichever methodology you think is the best, I’ll give you a bunch of good people and the project still can fail. Why? Because you can live without a methodology to deal with projects and can still do your job (although no one says it will be easy). You’d be surprised how many companies still employs that old gung-ho technique called sometimes “Halleluiah and forward!” And they can be successful.
Why is it so? Because the methodology itself isn’t a clue of project management. If I had to look for the core of managing projects I’d go for a combination of few things.
1. Communication. First and the most important one. As far as your project team sucks in communicating with each other and with the customer you’re doomed. You’ll lose time, money and people’s energy doing unimportant things or not doing important things or hitting the wall hard with your heads. Developer will state the code works because he misunderstood bug submitted by customer. Service engineer will reconfigure servers as it was stated in old out-of-date specification. PM will set wrong priorities as she hasn’t verified customer’s priorities. Poor communication is usually enough to bring any project into serious problems.
2. Understanding of customer’s goals. And when I say “customer” I don’t mean a company, but personally every single person you work with. PM, tester, technical director, marketing manager, everyone. That’s tricky part because usually when you work with a new customer you don’t know people you’ll interact with. Later, when their attitude will be changing you’ll be guessing what the heck is happening. And you won’t know as far as you don’t understand people’s goals. Especially in a big organization they can be quite different than you’d expect and quite different than company’s goals.
3. Focus of the project team. When project team doesn’t know what are they exactly doing (on the high level) and why you’ll always face a series of small issues which shouldn’t happen. Someone won’t do high-priority task. Developers will be switching a bug between them saying it’s not in their code. Fixes will ruin other functionalities. OK, none of them can be the only reason of failure, but when combined they’re really hazardous. A number of distractions also influences the focus of the team.
Nothing here tightly connected with any of project management methodologies. Sure, personally I’d add e.g. flexibility to the list, but on the other hand I’ve seen at least several those hard-core formalized projects which ended up as successes, so you can live without that.
If I had to summarize it shortly – clue of project management is to know what should be done and for whom. Unfortunately it only sounds easy.