Section 17.3. The First Storytests


17.3. The First Storytests

Sarah and Don got together with Mitra later that day, while Seth was on the phone, to create one or two Fit tests for each of the stories. Doing so would help refine their thinking about the stories. And the next day, when it would be time to choose the stories for the next iteration, these tests will help the developers estimate how long each story will take to implement.

17.3.1. Creating a Template

"So we've got several related stories," said Don. "Shall we start with creating a template from scratch?"

"Yes, OK," replied Mitra. "I imagine that a template is simply a list of rental items, with the proportions beside each one." She started to sketch it on the whiteboard, as shown in Figure 17.1.

Figure 17.1. Create a Template


"Do we assume that all the items will be rented for the same period?" asked Sarah.

"Yes," replied Mitra, "I imagine so. We need to allow for the return date to be changed on any rentals created from a template. Any of the information can be changed."

"Does the proportion have to be less than 1.0?" asked Sarah.

"No," replied Don, "more cups may be required than the number of guests."

"Wouldn't percentages be easier (4 percent instead of 0.04)?" asked Sarah. "It would be easier still if it were the number of people per item," suggested Don. "Also, we need to name the template." He altered the test, as shown in Figure 17.2.

Figure 17.2. Create a Template, Altered


"That was pretty easy," said Mitra, "although we'll need to put it in the context of a transaction to complete it. What's next?"

17.3.2. Using a Template

They decided to work next on using a template. "That's much the same as renting," suggested Sarah, who sketched up the test shown in Figure 17.3.

Figure 17.3. Use a Template


"We can alter that slightly for a booking," said Sarah, as she sketched out Figure 17.4.

Figure 17.4. Use a Template for Booking


17.3.3. Using a Template Inside a Template

"The templates could have many items for a big event," Mitra mused. "Every time you serve coffee in an event, you'd need to repeat the data in Figure 17.2, as well as all the other things you'd need, such as milk, sugar, tea, and other drinks."

"One approach," suggested Sarah, "would be to allow for templates themselves to be used in templates.'

"How do you mean?" asked Don.

"Well, imagine that we're creating a template for a conference." said Sarah. "As well as including rental items in the list, such as audiovisual equipment, we could include a template for a coffee break, too. Of course, we'll need to ask Seth to discuss it with the people who really know how these things work."

She started to sketch out Figure 17.5. "Whoops, what do I put down for the number?"

Figure 17.5. Using a Template Inside a Template


"Perhaps we don't need a number," suggested Don, "because the number of guests for the conference will be the same as the number for the coffee break."

"Let's leave it out then," added Mitra. "But what if we need coffee for the organizers of the conference? We may want to add those people."

"We could also allow a multiplier, I suppose." said Don. "But let's keep it simple for now, with no number."

"Yes," agreed Mitra, "it's better to start simple and extend it ifand when there's a demand." She altered the last test, as shown in Figure 17.6.

Figure 17.6. Using a Template Inside a Template, Revised


Seth joined the group after he had talked to Tim and Fiona at the two rental companies about the current stories: "There is strong interest in having this in RentEz."

Mitra outlined their progress on the template idea and showed Seth the tests they'd developed.

"Your templates seem to do everything that's needed, and more," said Seth. "I like the template tests, although nested templates may be too complex."

"At least, people don't need to use them," said Mitra.

"We need to weigh the cost of this feature against the benefit," replied Seth. "Tim and Fiona like lots of things that they're not willing to pay for. I've told them that I'd show them the tests once they're completed, to get their feedback."

"I hope they like the templates," said Mitra.

"It's great that some of our customers really like being consulted early on about new developments," replied Seth. "When I talk them through the Fit examples, showing what we're planning, they often make excellent suggestions that are easy to incorporate. It also means that they know what's coming and can plan for it. They used to be so resistant to upgrades, but now they're enthusiastic. It's great having their confidence and enthusiasm again."

Questions & Answers

Q1:

Is it usual to have two or more people working together? Doesn't this mean that more personnel time is used?

A1:

A range of skills is needed in all these activities: writing stories, writing tests, and developing software. Getting various perspectives at the start can be a much more effective use of time than having to do rework afterward, when problems are realized.

It can be efficient to have someone to bounce ideas off, to give another point of view, and to check that you've not made a simple mistake, such as forgetting an important case in a business rule.



    Fit for Developing Software. Framework for Integrated Tests
    Fit for Developing Software: Framework for Integrated Tests
    ISBN: 0321269349
    EAN: 2147483647
    Year: 2005
    Pages: 331

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net