I keep seeing talks and arguments about how the portfolio team should manage the epics for a program. That conflates the issue of project portfolio management and product management.
Several potential teams affect each project (or program).
Starting at the right side of this image, the project portfolio team decides which projects to do and when for the organization.
The product owner value team decides which features/feature sets to do when for a given product. That team may well split feature sets into releases, which provides the project portfolio team opportunities to change the project the cross-functional team works on.
The product development team (the agile/lean cross-functional team) decides how to design, implement, and test the current backlog of work.
When the portfolio team gets in the middle of the product roadmap planning, the product manager does not have the flexibility to manage the product backlog or the capabilities of the product over time.
When the product owner value team gets in the middle (or doesn’t plan enough releases), they prevent the project portfolio team from being able to change their minds over time.
When the product development team doesn’t release working product often, they prevent the product owner team from managing the product value. In addition, the product development team prevents the project portfolio team from implementing the organizational strategy when they don’t release often.
All of these teams have dependencies on each other.
The project portfolio team optimizes the organization’s output.
The product owner value team optimizes the product’s output.
The product development team determines how to optimize for features moving across the board. When the features are complete, the product owner team can replan for this product and the project portfolio team can replan for the organization. Everyone wins.
That’s why the product owner team is not the project portfolio team. (In small organizations, it’s possible people have multiple roles. If so, which hat are they wearing to make this decision?
The product roadmap is not the project portfolio. Yes, you may well use the same ranking approaches. The product roadmap optimizes for this product. The project portfolio team optimizes for the overall organization. They fulfill different needs. Please do not confuse the two decisions.
August 26, 2015 01:38 PM
Agile 2015 was the week of Aug 3-7 this year. It was a great week. Here are the links to my interviews and talks.
Interview with Dave Prior. We spoke about agile programs, continuous planning, and how you might use certifications. I made a little joke about measurement.
Interview with Paul DuPuy of SolutionsIQ. We also spoke about agile programs. Paul had some interesting questions, one of which I was not prepared for. That’s okay. I answered it anyway.
The slides from Scaling Agile Projects to Programs: Networks of Autonomy, Collaboration and Exploration. At some point, the Agile Alliance will post the video of this on their site.
The slides from my workshop Agile Hiring: It’s a Team Sport. Because it was a workshop, there are built-in activities. You can try these where you work.
My pecha kucha (it was part of the lightning talks) of Living an Agile Life.
I hope you enjoy these. I had a great time at the conference.
August 24, 2015 01:06 PM
If you’ve read Reasons for Continuous Planning, you might be wondering, “How can we do this?” Here are some ideas.
You have a couple of preconditions:
- The teams get to done on features often. I like small stories that the team can finish in a day or so.
- The teams continuously integrate their features.
Frequent features with continuous integration creates an environment in which you know that you have the least amount of work in progress (WIP). Your program also has a steady stream of features flowing into the code base. That means you can make decisions more often about what the teams can work on next.
Now, let’s assume you have small stories. If you can’t imagine how to make a small story, here is an example I used last week that helped someone envision what a small story was:
Imagine you want a feature set called “secure login” for your product. You might have stories in this order:
- A person who is already registered can login with their user id and password. For this, you only need to have a flat file and a not-too-bright parser—maybe even just a lookup in the flat file. You don’t need too many cases in the flat file. You might only have two or three. Yes, this is a minimal story that allows you to write automated tests to verify that it works even when you refactor.
- A person who is not yet registered can create a new id and password.
- After the person creates a new id and password, that person can log in. You might think of the database schema now. You might not want the entire schema yet. You might want to wait until you see all the negative stories/features. (I’m still thinking flat file here.)
- Now, you might add the “parse-all-possible-names” for login. You would refactor Story #2 to use a parser, not copy names and emails into a flat file. You know enough now about what the inputs to your database are, so you can implement the parser.
- You want to check for people that you don’t want to log in. These are three different small stories. You might need a spike to consider which stories you want to do when, or do some investigation.
- Are they from particular IP addresses (web) or physical locations?
- Do you need all users to follow a specific name format?
- Do you want to use a captcha (web) or some other robot-prevention device for login (three tries, etc.)?
Maybe you have more stories here. I am at the limit of what I know for secure login. Those of you who implement secure login might think I am past my limit.
These five plus stories are a feature set for secure login. You might not need more than stories 1, 2, and 3 the first time you touch this feature set. That’s fine. You have the other stories waiting in the product backlog.
If you are a product owner, you look at the relative value of each feature against each other feature. Maybe you need this team to do these three first stories and then start some revenue stories. Maybe the Accounting team needs help on their backlog, and this feature team can help. Maybe the core-of-the-product team needs help. If you have some kind of login, that’s good enough for now. Maybe it’s not good enough for an external release. It’s good enough for an internal release.
Your ability to change what feature teams do every so often is part of the value of agile and lean product ownership—which helps a program get to done faster.
You might have an initial one-quarter backlog that might look like this:
Start at the top and left.
You see the internal releases across the top. You see the feature sets across just under the internal releases. This part is still a wish list.
Under the feature sets are the actual stories in the details. Note how the POs can change what each team does, to create a working skeleton.
The details are in the stories at the bottom.
This is my picture.You might want something different from this.
The idea is to create a Minimum Viable Product for each demo and to continue to improve the walking skeleton as the project teams continue to create the product.
Because you have release criteria for the product as a whole, you can ask as the teams demo, “What do we have to do to accomplish our release criteria?” That question allows and helps you replan for the next iteration (or set of stories in the kanban). Teams can see interdependencies because their stories are small. They can ask each other, “Hey can you do the file transfer first, before you start to work on the Engine?”
The teams work with their product owners. The product owners (product owner team) work together to develop and replan the next iteration’s plan which leads to replanning the quarter’s plan. You have continuous planning.
You don’t need a big meeting. The feature team small-world networks help the teams see what they need, in the small. The product owner team small-world network helps the product owners see what they need for the product over the short-term and the slightly longer term. The product manager can meet with the product owner team at least once a quarter to revise the big picture product roadmap.
You can do this if the teams have small stories, if they pay attention to technical excellence and use continuous integration.
In a program, you want smallness to go big. Small stories lead to more frequent internal releases (every day is great, at least once a month). More frequent internal releases lead to everyone seeing progress, which helps people accomplish their work.
You don’t need a big planning meeting. You do need product owners who understand the product and work with the teams all the time.
The next post will be about whether you want resilience or prediction in your project/program. Later
August 17, 2015 03:17 PM