Appendix I. Guideline Solutions for Task Breakdown Exercises in Chapter 3

Exercise 3-4: The Shopping Cart

This exercise is reasonably straightforward. You answers should look something like this.

Stories:

  1. Add item to shopping cart

  2. Remove item from shopping cart

  3. Show running total for cart

Tasks for Story 1: Add Item to Shopping Cart

Task

Estimated Time

Test for adding normal item to cart

10 minutes

Test for adding null item to cart

10 minutes

Test for adding non existent item to cart

10 minutes

Code to make tests run

20 minutes

User interface to add items

15 minutes

Connect user interface to code

10 minutes

Check into source control and integrate with rest of system

5 minutes

Tasks for Story 2: Remove Item from Shopping Cart

Task

Estimated Time

Test for removing item from cart that is in cart

10 minutes

Test for removing null item from cart

10 minutes

Test for removing item from cart that is not in cart

10 minutes

Code to make tests run

20 minutes

User interface to remove items from the cart

15 minutes

Connect user interface to code

10 minutes

Check into source control and integrate with rest of system

5 minutes

Tasks for Story 3: Show Running Total for Cart

Task

Estimated Time

Test for running total being zero when cart is empty

10 minutes

Test for cart with one item in

10 minutes

Test for cart with 1,000 items in

10 minutes

Test for cart with multiples of the same item

10 minutes

Code to make tests run

20 minutes

User interface to display running total of items

15 minutes

in the cart Connect user interface to code

10 minutes

Check into source control and integrate with rest of system

5 minutes

Exercise 3-5: Derived Stock Market Data

This exercise is a little more difficult than the first because some unknowns need to be investigated before we can give certain timeframes.

Stories:

  1. Spike the existing software to understand how to access the portfolio data

  2. Spike on how to collect all the quote prices for the day

  3. Calculate open price

    Calculate the high price

    Calculate the low price

    Calculate the close price Calculate the profit made on a stock

Tasks for Story 1: Spike the Existing Software to Understand How to Access the Portfolio Data

Task

Estimated Time

Does the existing software provide a .NET interface? Web service? Remoting?

30 minutes

Does the existing software provide a COM interface?

30 minutes

Examine the files saved by the existing software

1 hour

Tasks for Story 2: Spike on How to Collect All the Quote Prices for the Day

Task

Estimated Time

Does the existing software provide a mechanism for accessing this data?

30 minutes

What other software does the customer have that would allow us to gather the data

1 hour

Search for a Web service that can provide the data

1 hour

Tasks for Story 3: Calculate Open Price

Task

Estimated Time

Test that the open on a non trading day is not calculated

15 minutes

Test open is calculated correctly based on some hard-coded data

10 minutes

Test software performs as expected when no data is obtained for that day

10 minutes

Write code to make tests pass

20 minutes

Design user interface to display open price

15 minutes

Connect user interface to code

10 minutes

Check into source control and integrate with rest of system

5 minutes

Tasks for Story 4: Calculate the High Price

Task

Estimated Time

Test that the high on a non trading day is not calculated

15 minutes

Test high is calculated correctly based on some hard coded data

10 minutes

Test software performs as expected when no data is obtained for that day

10 minutes

Write code to make tests pass

20 minutes

Design user interface to display high price

15 minutes

Connect user interface to code

10 minutes

Check into source control and integrate with rest of system

5 minutes

Tasks for Story 5: Calculate the Low Price

Task

Estimated Time

Test that the low on a non trading day is not calculated

15 minutes

Test low is calculated correctly based on some hard-coded data

10 minutes

Test software performs as expected when no data is obtained for that day

10 minutes

Write code to make tests pass

20 minutes

Design user interface to display low price

15 minutes

Connect user interface to code

10 minutes

Check into source control and integrate with rest of system

5 minutes

Tasks for Story 6: Calculate the Close Price

Task

Estimated Time

Test that the close on a non trading day is not calculated

15 minutes

Test close is calculated correctly based on some hard-coded data

10 minutes

Test software performs as expected when no data is obtained for the previous day

10 minutes

Write code to make tests pass

20 minutes

Design user interface to display close price

15 minutes

Connect user interface to code

10 minutes

Check into source control and integrate with rest of system

5 minutes

Tasks for Story 7: Calculate the Profit Made on a Stock

Task

Estimated Time

Obtain stock volume held from portfolio data

?(Depends on outcome of the spikes)

Obtain stock purchase price from portfolio data

?(Depends on outcome of the spikes)

Obtain current stock price

?(Depends on outcome of the spikes)

Test that a positive profit is calculated correctly

15 minutes

Test that a negative profit is calculated correctly

15 minutes

Test software performs as expected when no data is obtained from the portfolio

10 minutes

Test software performs as expected when the current price cannot be obtained

10 minutes

Write code to make tests pass

20 minutes

Design user interface to display profit made on a stock

15 minutes

Connect user interface to code

10 minutes

Check into source control and integrate with rest of system

5 minutes

Exercise 3-6: What’s the Weather Like?

This exercise has an interesting feature in that it has a potentially repeatable story. For every site that the portal connects to, the tasks will be the same.

Stories:

  1. Spike for weather Web sites with data we can use

  2. Spike for severe weather warning information on the Web

  3. Create a Web site with a world map that can be clicked

  4. For every weather source on the Web, provide a clickable area on the world map to access that source’s data

  5. Display sever weather warnings on the Web page

Tasks for Story 1: Spike for Weather Web Sites with Data We Can Use

Task

Estimated Time

Do a Web search for world weather sites

1 hour

Search for Web services that supply weather information

1 hour

Tasks for Story 2: Spike for Severe Weather Warning Information on the Web

Task

Estimated Time

Do a Web search for sites containing severe weather warnings

1 hour

Search for news sites that might supply severe weather warnings

1 hour

Tasks for Story 3: Create a Web Site with a World Map That Can Be Clicked

Task

Estimated Time

Create a basic ASPX Web application

5 minutes

Add a map of the world image to the index page

10 minutes

Add a frame on the page to display the weather for the area clicked

10 minutes

Create an image map for the world map image

10 minutes

Change the test at the top of the frame to indicate which area has been clicked

10 minutes

Check into source control

5 minutes

Tasks for Story 4: For Every Weather Source on the Web, Provide a Clickable Area on the World Map to Access That Source’s Data

Task

Estimated Time

Associate an area of the world map with the weather source

10 minutes

Display the data from the source in the frame (weather for the area)

20 minutes

Check into source control

5 minutes

Tasks for Story 5: Display Sever Weather Warnings on the Web Page

Task

Estimated Time

Create a frame on the page for severe weather warnings

10 minutes

Display the data from the source in the frame

20 minutes

Check into source control

5 minutes

Exercise 3-7: The Unfinished Solution

This is such a common scenario that I had to include it as one of the exercises. The real problem here is that you do not really know what you are starting with, and the customer has already gone through explaining what he wants and does not want to go through the whole thing again.

Stories:

  1. Validate existing code

  2. Allow user to enter message

  3. Allow user to add tags to message

  4. Send message to each contact in list

  5. Customize e-mail message for each contact based on tags in profile and e-mail message

Tasks for Story 1: Validate Existing Code

Task

Estimated Time

Skim through existing code to understand classes

20 minutes

Write tests to validate any theories about how the code works

30 minutes

Check into source control and integrate with existing system

5 minutes

Tasks for Story 2: Allow User to Enter Message

Task

Estimated Time

Test to disallow a blank e-mail

10 minutes

Test to validate correct processing of non character input to the message

20 minutes

Test for a message of maximum length (string length?)

10 minutes

Code to pass tests

20 minutes

User interface to allow user to type the message

10 minutes

Connect code to user interface

10 minutes

Check into source control and integrate with existing system

5 minutes

Tasks for Story 3: Allow User to Add Tags to Message

Task

Estimated Time

Test that a tag in any profile can be added to the message

15 minutes

Test that a tag that doesn’t exist in any profile cannot exist in a message

10 minutes

Test that a message can contain no tags

15 minutes

Test that a message can contain only tagged input

15 minutes

Code to pass tests

20 minutes

User interface to allow user to select a tag for input

10 minutes

Connect code to user interface

10 minutes

Check into source control and integrate with existing system

5 minutes

Tasks for Story 4: Send Message to Each Contact in List

Task

Estimated Time

Test that each contact in the list is sent the message

10 minutes

Test when the contact list is empty

10 minutes

Test when the contact list contains a maximum number of contacts (have to autogenerate contacts)

15 minutes

Test when message is empty

10 minutes

Code to pass tests

20 minutes

User interface to allow user to send message (button?)

10 minutes

Connect code to user interface

10 minutes

Check into source control and integrate with existing system

5 minutes

Tasks for Story 5: Customize E-mail Message for Each Contact Based on Tags in Profile and E-mail Message

Task

Estimated Time

Test that a profile with no tags is not sent a message containing only tags

10 minutes

Test that a profile with all the tags receives the correct message

10 minutes

Test that a known (hard-coded) profile receives the correct message from a hard-coded tagged message

15 minutes

Test when message is empty

10 minutes

Code to pass tests

20 minutes

Integrate code with user interface from story 4

10 minutes

Check into source control and integrate with existing system

5 minutes

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.188.27