Agile Estimation and Planning
Part 5 – Cross-Functional Teams
Let’s assume you’re someone who’s going to fund the mowing of lawns. Maybe you’re the head of the homeowners association, and you’re in the process of subcontracting the upkeep of lawns in the subdivision. My team originally pledged 16 points, and my competition pledged 60 points. But after you saw the additional services they were providing, you requested that we have a uniform Definition of Done across both teams. This threatens to tank my performance.
How could we reconcile this? You would be well within your rights to ask me, “What can you do, to maintain the higher, originally committed velocity?”
A few ideas come to mind:
Firstly, I suppose I could throw caution to the wind, and try running behind the mower! I might be able to bring the time it takes to mow each lawn down a bit. But I’ll be honest, I’m probably going to miss some spots. I don’t think that will ultimately solve the problem.
Secondly, I could work overtime, mowing long into the evening hours. That has potential, but now I’m going to get way more tired, and likely make mistakes. The quality of my work will certainly suffer, and I now incur the risk of the customer rejecting the work. What else could I do?
Or thirdly, what if I try adding people to my team to handle these other tasks in the Definition of Done. Remember, Ed has a cross-functional team (mower, trimmer, sweeper), where I had only a single generalist on my team). If I got someone to run the weed-wacker while I mowed, and then whichever one of us finished their job first, swept the sidewalk then I might be able to bring my clock time down to under an hour. The math would support us saying we could reach 8 points per day then, but I’d still feel a lot better calling it 6 or maybe 7. Either way my Velocity for the weekend could increase from around 7 if I go it alone, to a real possibility of 12-14. Not quite 16, but let’s face it: when I was just mowing the lawn, there was still long grass growing against the fence and the planting beds that the mower just couldn’t reach. There was still grass clippings on the sidewalk, and let’s not even talk about the edging! In short, my quality was low, and the other team revealed that fact to the stakeholder. I had to adapt or risk losing the gig. So I expanded my team.
This notion of a cross-functional team is very powerful. It allows us to build teams with all the skills needed to achieve our Definition of Done in one iteration, without relying on outside help.