Fourth post on the chapter 23 of the book Agile Estimating and Planning, by Mike Cohn. In the previous post the Havannah team met with on this agenda:

  1. First sprint planning.
  2. Market research outcomes review.
  3. Initial estimate for the release plan and the project schedule.

First point was completed with the team firm commitment to complete 4 stories of 18 points. Now they cover the 2 other points, meaning they need to prioritize the rest of the stories. One way to do this is by following the model by professor Noriaki Kano:

Kano model is a technique to determine if some product features are mandatory (users will be not satisfied if not delivered), linear (the more features delivered, the more satisfaction) or exciters (users are satisfied if delivered but they don’t complain if not). The process to get these outcomes is to make users answer a survey with functional questions (how they feel if feature is included) and dysfunctional questions ( how they feel if feature is NOT included ). There is a mapping table to classify answers under 6 categories: mandatory, linear, exciter, contrary, questionable, indifferent.

Now we can read what happens during the second part of the meeting. They estimate the project will take 7 iterations (14 weeks). Why? Because at a velocity of 18 points per iteration, in 7 iterations they will complete the 132 story points in the release (not the total of 146). The Product Owner get rid of stories considered as indifferent (6 points) and not all exciter stories should be included firs (8 points). The team has an estimate for the project duration, but the coach warns them not to publish an exact deadline. The should say the project will take between 12 and 20 weeks.

[…]

Release Planning

When everyone returned and was seated around the table, Frank began the meeting, “Delaney, tell us about the product research and what you found.”

“What I did,” Delaney said, “was send out just over 500 email invitations to complete a web-based questionnaire. I also spoke on the phone with 35 likely buyers of a game such as this. In total we got answers from 78 prospective buyers. The purpose of the survey was to find out which features we’ve identified are mandatory, they just need to be in the game. We also want to learn which features are exciting. They may not need to be in the game but including a few exciters really makes a game more appealing and may let us charge a higher price for it. Finally there are some features we call linear. The more of a linear feature present in a product, the more people will pay for it. Examples of linear features are horsepower in a car, the number of channels on satellite TV, and the number of playing levels in a game. I won’t explain here exactly how I did the research. But, if you’re interested, I can point you to a chapter in a book [See Chapter 11, “Prioritizing Desirability”, by Mike Cohn]. I’ve summarized the results, though on this page,” Delaney concluded as she distributed pages showing the table below:

“Delaney, there are a lot fewer items here than we have stories,” Prasad said.

“How come?”

“The longer the questionnaire, the lower the response rate,” Delaney said. “So, I merged stories based on my judgment. For example ‘aesthetically pleasing’ in that table covers the three stories we had about nice graphics, a splash screen, and the ability to change the board and pieces between a metal look and a wood look. On the other hand, if I combine too many stories into one question the answers we get back may not be very useful.”

“I can relate the first three columns to your descriptions of the three types of features, Delaney. But what do indifferent, reverse and questionable mean?” Rose asked.

“Good question. Indifferent is easy; it just means that the person didn’t have a strong preference either way,” Delaney answered. “Because of how the questions are presented, it’s possible for us to not be able to interpret an occasional opinion. For example, this could happen if someone said they dislike background music but that they also dislike it when there’s no background music. That happens, people get confused or misinterpret questions when rushing. You’ll notice the percentages for reverse and questionable are pretty low.”

“Delaney, am I reading this right?” Rose asked. “It says that weak and medium-strength opponents are mandatory. But you’ve said that a strong opponent is both indifferent and mandatory. How can that be? Why not pick the answer with the highest percentage?”

“Yes, weak and medium opponents are mandatory. The reason we see two spikes in the values for a strong opponent is that we are probably selling into two audiences—those who already play Havannah and are good at it and those who aren’t. Those who are good at it consider a strong opponent as mandatory if they’re going to buy. Newer players are telling us they’ll be happy with a medium-strength player.”

“What strikes me, Delaney, is that there aren’t many features on this list that your audience considered exciting,” Frank said as more question than statement.

“True. But, just because there aren’t many exciters, doesn’t mean the product itself won’t be exciting,” the analyst answered. “Remember that exciters are unexpected features. If I got into a new Porsche there’s probably very little in there that would truly be unexpected. But, the car itself would still be very exciting. But, I agree with the point I think you were making. We haven’t identified all the features this product needs. Every product should have at least one or two exciters, stuff that really makes the user say ‘Wow!’ The survey seems to be saying we haven’t found that yet. This is why I asked for time in the coming iteration to follow up on this research. I want to have a few open-ended discussions with some of the survey participants. I’m hopeful that will help us find an exciter or two.”

“This is great, Delaney. Very helpful,” Frank said. “Does anyone have any more questions for her?” Frank paused before continuing: “If not, let’s talk about what we need in a release of Havannah.”

No one had any additional questions. They immediately plunged into planning the release by prioritizing features.

“Here are the stories I considered mandatory and didn’t even bother asking about in the questionnaire,” Delaney said as she arranged some story cards on the conference room table. The story cards and estimates she included are shown below:

  1. As a player, I can start a new game (1)
  2. As a player, I can restore a saved game (2)
  3. As a player, I want the computer to recognize a winning shape (2)
  4. As a player, I want to place a piece on the board using either my keyboard or my mouse (3)
  5. As a player, I want to see a visual indicator of whose turn it is (2)
  6. As a player, I’d like a visual indicator of the last piece played (make it blink perhaps) (2)
  7. As a player, I’d like to undo and redo moves (2)
  8. As a player, I’d like to be able to save games (3)
  9. As a player, I want to be able to quit the game (1)
  10. As a player, I want to restart the game so that I can give up and start over (1)
  11. As a player, I’d like the computer to play a move in no more than 2 seconds on a 2.0Ghz PC (8)
  12. As a player, I’d like to step forward through moves so that I can review a game I’ve already played (5)

“None of these stories should be surprising,” Delaney continued. “We see these features in every game we make. Supporting them is really the cost of entry.”

Delaney grabbed another set of cards. “On this part of the table I’m going to arrange the stories that our customers told us are mandatory.” In that group, she arranged the cards shown in table below, summing up 56 story points:

  1. As a player, I can select the computer’s playing strength (1)
  2. As a player, I can play against a weak engine that recognizes rings (8)
  3. As a player, I can play against a weak engine that recognizes bridges (5)
  4. As a player, I can play against a weak engine that recognizes forks (8)
  5. As a player, I can play against a medium-strength engine (8)
  6. As a player, I can play against a strong engine (20)
  7. As a player, I’d like to be able to use the system to play against another human on my computer (3)
  8. As a player, I want all pieces of the winning shape to blink or glow so that I can see the winning shape (3)

“Delaney, why do you include the strong engine in there?” Allan asked. “I like that. But according to what you showed us a few minutes ago it was considered both a mandatory feature and one users were indifferent to.”

“Good observation, Allan,” Delaney said. “I’m making the recommendation that we consider that feature mandatory because I think many users will outgrow what you’re defining as the medium-strength engine. Those users will get bored with the game if we don’t include the strong engine.”

“OK.”

Frank was enjoying this. In his role as product manager and Delaney’s as the analyst the team had often left all the product definition up to them. He liked that they were engaged in these discussions and were attentive to what was being discussed. That could only help the new product.

“The other story I’ve included as mandatory that is worth discussing,” Delaney continued, “is As a player, I’d like to be able to use the system to play against another human on my computer. I’ve included that as mandatory because we’ve already said it’s a good milestone.

“This next stack,” Delaney said as she grabbed another handful of cards, “have linear value. That is, the more of them the better but none are mandatory.” Delaney arranged the stories on the table, summing up 32 points:

  1. As a player, I want a nice looking splash screen when the program starts (5)
  2. As a player, I want nice looking background art that integrates with the game boards (5)
  3. As a player, I’d like to be able to choose between a wooden board and pieces and a metal board and pieces (8)
  4. As a player, I want the system to play background music (5)
  5. As a player, I can select the background music played by the system (1)
  6. As a new player, I want access to an online help system (8)

“Art isn’t optional,” said Rose. “We need a nice splash screen and attractive boards and backgrounds.”

“I didn’t say these are optional, Rose,” Delaney said. “You’re right we do need these. There is a certain baseline we can’t fall below and the game does need to be aesthetically pleasing, which is how I asked the question on the survey. These are linear because the more of them the better. Two board choices are better than one, but three would be even better.”

“OK. That makes sense,” Frank said. “You’ve still got some story cards in front of you. What type of stories are those?”

“These next cards are exciters. Likely buyers don’t expect any one of these but we should include a couple because they really boost enjoyment of the game. And, like I said earlier, a few exciters means we can charge more for it, too.”

Delaney arranged the cards shown on the conference room table, summing up 20 points:

  1. As a player, I’d like to ask for a hint sometimes (1)
  2. As a new player, I want to be able to view an interactive tutorial for the game (8)
  3. As a new player, I’d like to be warned after making a horrible move and be given the chance to take it back (8)
  4. As a new player, when it’s my turn to play I’d like to be shown any hex I should play in because if I don’t the computer will play there next and win (3)

“These next cards are exciters. Likely buyers don’t expect any one of these but we should include a couple because they really boost enjoyment of the game. And, like I said earlier, a few exciters means we can charge more for it, too.”

“After the exciters,” Delaney went on, “the remaining two stories were ones that prospective players said they are indifferent about. I don’t think we want to add these.” She placed onto the table the cards summarized in table below. “We’re unlikely to sell more games or games at a higher price from adding features that players are indifferent about.”

  1. As a player, I want the system to keep track of how many games I win and lose. (By the playing strength of the computer?) (3)
  2. As a player, I’d like to add annotations to saved games (3)

“Wow,” Frank said. “This is more information than we normally have at this point. Great job, Delaney. You got all this from your surveys?”

“Yes. The questionnaire is intentionally lightweight and just asks users how they’d feel if a feature was present and how they’d feel if it was not present. Because I combined some of our individual user stories into themes, the questionnaire only had 24 questions on it. Including some chit-chat it only took about 15 minutes over the phone. Our website tracked the time it took each respondent to fill out the form. The average time was 7 minutes. One person took 40 but I suspect they walked away from it or took a phone call.”

“So, Frank, what are our priorities?” Sasha asked.

“Well we need to do all of the features that Delaney identified as mandatory or that her survey found to be mandatory.”

“That’s 88 story points according to our estimates,” Sasha said.

“Of the features Delaney said are linear, I agree with Rose: we need nice artwork,” Frank said.

“All of those stories should be in. And I can’t see going without background music. Maybe the user can’t change songs but that’s only 1 point so for now I’m going to say we want it. And we need online help. Not everyone who buys this game is going to know how to play it.”

“So, you want all of the linear features. That’s another 32 points,” said Sasha.

“I know. I want it all, right? Just like every product manager in the world.”

“I don’t mind, I just know you want the product out in four months. We’re up to 120 story points now.

“Will that take more than four months?” Frank asked, a bit concerned.

“I have no idea yet. Let’s figure out what you want and then we can see how long it will take,” Sasha said.

“Fair enough,” Frank said. “Of the exciters I think we need hints and I’d like the tutorial. Maybe we could drop it or the online help but I want to plan on both. I like the idea of telling the user when she’s made a bad move right after she makes it.”

“Remember, that’s an 8-point story,” Allan reminded everyone. “I’m programming the move engine to find good moves. I can enhance it to find really bad moves but it’s not trivial.”

“That’s what I’m looking at. Let’s plan on going without that for now. But let’s include the story about warning the player that she’s about to lose unless she plays in a particular hex to block the computer.”

“That’s 12 points from the exciters list. Do you want anything from the indifferent list?” Sasha asked.

“Not really,” Frank said. “What’s our total now?”

“You’ve got 88 story points from the mandatory lists, 32 from the linear list, and 12 from the exciters. That’s a total of 132,” Sasha said.

“And you’ll do all that in two iterations, right?” Frank asked with a smile.

“If we could, we would.”

“Seriously, how do we know how long that will take?”

“The best thing would be to wait three iterations and answer you then,” Carlos explained. “After each iteration we can add up the story points for the stories that are finished. We call that velocity. Velocity will change from iteration to iteration, but its average is relatively stable over time.”

“Yes,” Allan jumped in, “our estimates may have been off. Or we may get lucky, or unlucky, on a story.”

“After three iterations we should have a good measure of how fast the team is progressing. We can divide the total amount of work remaining by the velocity and that will tell us how long to expect,” Carlos said.

“It should be. After three iterations you’ll have a good feel for how many story points you can do in a two-week iteration,” Carlos said.

“We do need to keep in mind that I’m going to talk to some more potential buyers and see if I can find any more exciters,” Delaney said. “As we said earlier, our exciters seem weak. We may add some more features.”

“Is there any way to get an expected schedule now?”

“Sure, Frank,” Carlos said. “You’ve planned to do four stories in this first iteration. We can add up the points associated with each and call that our planned velocity. We have no idea if it will be, but it’s our initial guess.”

“I’ve already done that,” Prasad said. “It’s 18. We get 8 points for As a player, I can play against a weak engine that recognizes rings. We get 5 points for As a player, I can play against a weak engine that recognizes bridges. Then we get 2 points for As a player, I want the computer to recognize a winning shape and 3 points for As a player, I’d like to be able to use the system to play against another human on my computer.”

  1. As a player, I can play against a weak engine that recognizes rings (8)
  2. As a player, I can play against a weak engine that recognizes bridges (5)
  3. As a player, I want the computer to recognize a winning shape (2)
  4. As a player, I’d like to be able to use the system to play against another human on my computer (3)

“How many iterations will the project take if our velocity is 18?”

“Just over 7 iterations. We’ve got 132 points. Seven times 18 is 126 (7×18=126). We’re 6 points over 7 iterations,” Prasad said.

“Can we just call it 7 iterations?” Frank asked.

“We could, but we shouldn’t” Carlos replied. “I’d prefer to give the estimate as a range. If we’re looking at enough work to go into an eighth iteration, we should probably say the project will take 6–10 iterations.”

“I really don’t want this project to take 20 weeks. But you’re saying it might only take 12, right?” Frank asked.

“It might. But it might take 20,” Carlos remained firm. “You can help it avoid taking 20 weeks by removing your lowest priority features if velocity shows that we’re headed toward 10 iterations. Keep in mind, too, that Delaney is actively looking for more features. If she comes up with something we’ll have to extend the schedule or take the same amount of current features out.”

“OK, I can explain 12 to 20 weeks to the other executives,” Frank said. “Let’s go with that as our initial plan.”

“Frank, I need to reiterate that the best thing to do would be to wait at least two weeks, let the team run one iteration, and then base this initial plan off at least one observation of actual velocity,” Carlos said.

“Understood. But everyone wants to know at least an idea of what the schedule looks like for this project.”

“Make sure they know that we can provide better information every two weeks. Especially after these first three iterations we should know a lot more,” Prasad added.

“So do we need to plan what will be worked on in each iteration?” Frank asked.

“Not really,” Carlos answered. “The most important thing is to know what is going to be worked on next. We did that when we planned the iteration. The next most important thing is to know those features at the bottom of the list that may or may not make it into the release.”

“I understand why you need to know the top priorities, but why the bottom ones?” Frank said.

“It’s not very important for this first meeting but when we get close to the end of the release it’s sometimes important. For example, we wouldn’t want marketing to design packaging that said, ‘Now with background music’ if that’s a feature that may get dropped at the last minute.”

“OK, but why not spend some time today planning what we’ll do in each iteration?”

“No point,” Carlos said. “In two weeks we’ll know so much more than we do today. Why plan what we’ll do in an iteration until we have to? We don’t have to. On a larger project, particularly with multiple teams that need to coordinate work, we might look ahead two or three iterations. But we don’t need to do that on this project.”

“So are we done with release planning, then?” Frank asked.

“Yes. I’ll stack up the story cards you said you really want in the release and that’s our plan,” Carlos said. “Before we get together again, two weeks from to day, you and Delaney should talk about the stories and identify the ones you’d most like to see in the next iteration. In the meeting, we’ll talk about why you want those stories. The others may ask you to reconsider and move in one or two that they want to do because they’re risky or because they’ll learn a lot by doing them. But the ultimate prioritization decision will be up to you.”

“Don’t take this the wrong way,” Frank said, “but it didn’t really feel up to me today.”

“It was,” Carlos said, “but selecting the right things to work on next is really a whole team effort. If the programmers were selecting a bunch of technical mumbo-jumbo or features you wouldn’t be able to see, I would have stopped that and had them work on other stories. I assume you’re happy with the stories that were selected?”

“Ecstatic. It will be great to see all that in two weeks.”

read this article in Spanish

last

previous