(no title)
ellius | 6 years ago
PM: Let's go through our prioritized features. First we would like Feature A.
Team: That's probably easy, we can do it in a day or so.
PM: Great. Next we need Feature B. I know this one looks a little more complicated.
Team: Yeah, that's more like a week.
PM: That probably isn't worth it to me. We can probably push this feature back a couple releases, and maybe take out part of it.
Team: Would it help if we just did Part X? That seems like it would give you most of the value and it would be much easier.
And so on. The constant cost-benefit analysis, reprioritization, and rescoping was a great lever and made the team very productive.
The other 4 things, all related I think, that made us effective were:
• Everyone sitting together. I could go ask the designer or PM a clarifying question at any time.
• TDD. I would constantly start to write a test and realize that something didn't make sense—some assumptions were conflicting, or we needed to do another story before the one I was working, etc.
• Pairing. Many times I'd have written the test, had cleared my plan with the PM, and my pairing partner would point out a different perspective or catch one of the things I described above.
• Frequent releases, about quarterly at first and down to bi-weekly at one point.
In all cases, what we were really doing is optimizing the value of NOT doing things. We were helping the PM understand her costs, but we were also helping her eliminate huge chunks of wasteful work, e.g. building things users didn't want, things that didn't integrate well, and so on. Estimating was a piece of it, but it was really the buy-in from the business to accept our estimates and more importantly to trust us as partners in the scoping and planning process, and doing that process fluidly, that made us successful.
No comments yet.