Jurgen interviewed me via email, 5 Easy Questions for Johanna Rothman. The questions were not easy!
Jurgen interviewed me via email, 5 Easy Questions for Johanna Rothman. The questions were not easy!
John Cook wrote a blog post, Scaling the number of projects, that starts addressing the issue of why it’s everyone’s job to manage their own project portfolios. Here’s an example of the problem he’s noticed:
It sounds easy to manage independent projects: if the projects are for different clients and they have different developers, just let each one go their own way. But there are two problems. One is a single developer maintaining an accumulation of his or her own projects, and the other is the ability (or more important, the inability) of peers to maintain each other’s projects.
I’ve seen this in IT organizations, where one or two developers work on a “small” product, which, of course needs “maintenance” (more features, some problems fixed, more documentation, whatever). Since that developer wrote it originally, somehow that project is supposed to stay with the developer forever. (That’s a bad idea.)
I’ve seen this in product organizations, where even if it’s a larger team, once you’ve put your hands on the serial driver, or the engine to drive the application, or the version control system, or any other piece of a product or infrastructure, you couldn’t get rid of it no matter what you do.
Developers (and testers and writers) need to let go of old work. Their managers need to stop assigning everything that smells like that old thing to those specific developers, and add in the new requests to the entire project portfolio.
The interesting question is: Why does this happen? Why are people stuck with these old projects and legacy work (not in a negative legacy way, just that they’ve always been assigned to it and it looks like they always will be)?
Because the work is invisible. No one realizes all the little pieces of work. You’ve got to make that visible, and I like to make it visible in a portfolio.
One way to do that is to start collecting all the work you’re supposed to do. (I’ll address a product’s backlog at some other time). Here’s a template to start you off. I like to put this table on a whiteboard or a flip chart. If you must, use a spreadsheet, but please, not the first time. You will be moving stickies around.
Here’s how you collect all the work. Make a yellow sticky of all the work you are supposed to do. If you are working on a project for several weeks, make a sticky for that project for each week. Put all the stickies in the appropriate week, above the unstaffed work line. Just get them all in.
Now, be honest with yourself and put the work you can’t do in a given week into the unstaffed work row. Now you have something to discuss with your manager or your customers. (I’ll talk you through how to do this in my next podcast, which is already recorded, but not posted.)
If you receive a lot of little requests for products you can’t get rid of, you can create a product backlog for each product, or a product backlog for your time. (You either fix the requests by product, or fix your time and allow your customers to negotiate among themselves for what you do first. Sorry this is rough, but I haven’t written enough about this before to be articulate yet without gesturing with my hands.)
The key is for everyone to know what they are working on for a short while, and what their personal backlog is. That’s why I only ever plan for 4 weeks at a time. If you’re working in shorter timeboxes, plan for the shorter iteration. But using the portfolio like this allows you to do some rolling wave planning for your work as a whole, especially when you have lots of pieces of work to do.
Why?

Portia writes about a participant of our Bottleneck session asking her about the relevance of a session on (industrial or manufacturing) process improvement techniques at an IT conference. Portia already told me she had the same reaction when she attended this session at XP Days London in 2005. If you look carefully, you can see Portia at the right, a bit bored as she’s waiting for the bottleneck.
Moreover, with terms like ‘exploit’ and ’subordinate’, the 5 focusing steps don’t sound very friendly. Is this just another management fad ‘to squeeze the workers’? Can we apply manufacturing ideas to IT? Isn’t the manufacturing metaphor (or the house building metaphor) responsible for some of the worst ideas in IT?
That participant took the first step in understanding: they asked “Why?”
What is it about?
The session (and the Theory of Constraints) is about creating meaning and value by really understanding systems.
To do this, you need to:
These are things I use every day in my life and my work. Are these things you could use in your work, in your life, every day?
I received two questions this week about how well does agile allow you to do traceability matrix. Very well is the short answer. Here’s why.
If you commit to implementing features (not chunks of architecture) based on user stories in an iteration, you know what you’re planning before the iteration starts. Because you’re working in a timeboxed iteration, and the testing is incorporated into the iteration, there’s no (ok, very little) time lag between the time you know what a requirement is supposed to be, and the time the requirement is implemented and tested. Now it’s a simple matter of paperwork (ok, maybe not trivial) to match the requirement with the code and the test. If you do test-driven development, and start with user-facing tests, it’s even easier.
The shorter your timebox, the easier traceability is. That’s because you have fewer features and fewer tests to manage.
Some of my clients keep their index cards and organize the traceability that way, with notes about where the tests are. They lock the index cards (post-iteration) in a fireproof safe. Other folks use a spreadsheet for the organizing. They use a source control system to manage the changes to the file.
Remember, the requirement is to trace the requirements through the code and tests and to be able to show you did that. The fewer artifacts, the better.
I write a roughly monthly email newsletter, the Pragmatic Manager. I (finally) posted Refocusing: Emerging from the Split Focus Schedule Game. Yes, I’m working on the July issue now. Enjoy!
XP Game
A long, long time ago, Vera Peeters and I developed the XP Game to explain the interaction between Developers, Customers and Coaches in an Extreme Programming project. In one fun simulation, participants learn about estimating, planning, embracing change, stories, acceptance tests, velocity and collaboration.
The game was born out of necessity. Our development team was applying the XP developer practices (refactoring, TDD, pairing, continuous integration, automated acceptance tests…) with success. We found it a lot more difficult to explain the concepts to customers, salespeople, support, management. We needed to involve them to take the next step: agile release planning. Explaining didn’t work; examples didn’t work; presentations didn’t work. They were baffled. This ‘XP thing’ was too weird…
Vera came up with the idea of a game. We started working on the game on Wednesday and played the first version on Friday. Shortly after, we played the game with a new customer, to kickstart our largest project to date. The game convinced them to participate in an agile project and to allocate an onsite customer to the project. The fact that we committed to deliver the project in a quarter of the time of our nearest competitor might have helped too
Grown up games
We played the game at several conferences since 2001 and came into contact with other people who used games to teach. We started to become more aware of the mechanisms and techniques behind teaching games. Our own experience and feedback from others who played the XP Game shows that simulation games are great teaching tools.
The XP Game has been played all over the world. We’ve received feedback and ideas from those who have played it. We still use the game to teach the basics of agile planning to our customers.
The XP Game evolves each time it is played.
XP Game v5.0
Vera and I updated the documentation to reflect how we currently play the game. The new version is available on http://www.xp.be/xpgame
The game is licensed with a Creative Commons license, so you can use it and remix it. Play the game, play with the game and let us know how to improve it.
Expect some news about a new game soon…
The XP Game by Vera Peeters and Pascal Van Cauwenberghe is licensed under a Creative Commons Attribution-Share Alike 2.0 Belgium License.
I have a Stickyminds column up, Does Exploratory Testing Have A Place On Agile Teams? The column arose out of an email conversation I had with Jon Bach. Please leave comments there.