The Case for Project Management
How far ahead should we plan? I depends on what you are building, when you need to have it done… and if you aren’t going to get done… how soon do you need to know about it. If your goal is to build the highest value features possible, deliver continuously to market, get real time feedback… you might be able to get away with planning a sprint or two out… maybe less. If your goal is to deliver a specific set of predefined features, all of which need to be done by the end of the quarter, you may want to have all three months laid out. It’s not that we wouldn’t inspect and adapt and deal with reality, it’s just that we need to know if our velocity isn’t trending such that everything is going to get done. If we don’t know how we are doing against done, we don’t know what tradeoffs we need to make along the way.
I’ve worked with several clients recently that were trying to operate as if the software they were building was emergent. It wasn’t. They were being asked to deliver a specific outcome, with a pre-defined set of time and cost constraints. For these guys, it was absolutely silly to only plan their backlog two weeks at a pop. They had no idea how they were doing against the expectations of the business. They had no idea if they were on track or not or how they should approach the business to negotiate scope trade-offs. They had no means to determine if their approach was trending toward and acceptable outcome. The reality was that they were going to work really hard, probably deliver a great working product, and still have their stakeholders upset with them.
Having a plan doesn’t mean that we have to have a death march. Having a plan means that we have a baseline to measure against. Some way to determine if we are making the progress necessary to achieve our goals. Remember that line in the Agile Manifesto? We value responding to change over following a plan? While we value the items on the right, we value the items on the left more? The plan isn’t the problem… it’s failure to respond to change… to deal with reality that is the problem. If I have a fixed time, fixed cost, fixed scope project… I damn well better be delivering incrementally using an agile approach… it’s the only way of knowing if I’ve got a shot in hell of being successful. It’s the only way we can confidently let our stakeholders know if we are on track or not.
Not every team needs a project manager… but I think many could benefit from some really good project management. I’ve been an agile project management guy from the beginning, but I am becoming increasingly convinced that we need to be teaching teams, not just how to self-organize, but how to effectively manage delivery… product or project delivery, I don’t care which. Self organized teams need to have everything necessary to deliver an increment of value… it’s my opinion that everything necessary to deliver an increment of working product includes someone that knows how to manage risk, validate assumptions, communicate with stakeholders, assess progress against the goal, and know when things are off track. That can be the PO, the ScrumMaster, or someone else on the team… again, it doesn’t matter.
What matters is that project management is happening… no matter who does it.
Comments (13)
George Dinwiddie
It doesn’t have to be much. A simple burn-up chart would suffice.
George… on the smallest of the smallest projects, I agree with you. If I am talking about a 6-9 month, multi-team project, a simple burn down doesn’t cut it. I’m going to try to write in more detail what I am talking about here, and what I do to manage this, but my opinion is that much of the PM role is abstracted behind the PO. Because the project management aspects of the PO role are not explicit, it doesn’t get done. Because Scrum has told people we don’t need project managers, they assume we don’t need project management. This is something I disagree with. A simple backlog and burndown does not, by default, deal with risk, assumptions, communication with senior stakeholders, dependency, etc. These things are being neglected and causing agile initiatives to fail… and it doesn’t have to be this way.
Varghese
In my opinion, a PM will help if the deliverables come from different teams and there are dependencies. The UX/UI iteration should be completed before it’s back end is developed or vice versa. It does not happen this way and both the iterations go parallel. I don’t know a project manager can solve this iteration planning problem that I have seen everywhere.
Varghese… I’d need way more context to even begin responding to your comment. That said… the first thing that caught my attention was UX/UI iterations and Backend iterations. Unless you are on a really big, architecturally complex program, that might be part of your problem Agile teams tend to develop a thread across the architecture, UX and Backend operate in the same sprint. Given it is what it is, if planning and coordination can’t fix your problem, my second guess is that either the front end or the back end are constrained. No amount of project management will fix an out of balance, out of alignment project team. You have to identify the constraint, exploit the constraint, subordinate the system to the constraint, or elevate the constraint. A good systems thinking project manager can help you solve that.
Mike
Dan Mezick
Mike, I like what you say here. There is a spot for the Agile Project Manager role. It is located to the right of the Traditional Project Manager (role) and to the left of the Scrum Master (role). I plan to post on this soon. Chuck Cobb, yet another great Agile-related author from Boston, informs some of my thinking here. His book Making Sense of Agile Project Management is very interesting.
Dave Gunther
Excellent post. “Having a plan means we have a baseline to measure against.” There are many ways to measure and predict progress in agile to validate a plan or not, and adjust when, not if, needed. A good project manager can and should facilitate the required exposure and continuous adjustment to deliver predictably.
Dan Mezick
Here you go Mike: A mapping of the AgilePM to the Stacey Complexity Graph
Agile Project Management: It’s Got Legs
http://newtechusa.net/agile/agile-project-management-explained/
What is happening is this: more and more of the surface of the Stacey graph is being consumed by complexity. More and more work is complex. The frontier of complexity and chaos is expanding. This is creating a situation where empirical methods are superior for managing work.
See also: Requisite Agility
http://newtechusa.net/agile/the-command-and-control-military-gets-agile/
Mauro Bagnato
What matters is that project management is happening… no matter who does it.
This sentence is really reflecting my point of view. Whatever the reality is, there’s need to manage the risks rather than increase the teams cooperation and communication. My experience is that Agile gives many tools for addressing those items.
Building and constantly grooming the product backlog is itself a risk management activity, having a PO team helps managing the dependancies (technical or not) among features and facilitating teams communication (e.g. using SoS) increases paople participation and involvement and boosts self-organization.
The only thing I would caution is that mere presence of a PO does not mitigate risk. A PO doing intentional risk mitigation mitigates risk. Maybe semantics, but I believe it is a critical distinction.
Feather banners
Thank you so much for sharing this insightful stuff about project management. It is true that when we sit to plan we should keep in mind several important things like how ahead and how much to plan.