Alternative Flows of Events

Author: Geri Schneider Winters

When you find an alternative to a use case basic flow, you have two different ways to handle it. One way is to put the alternative in the steps of the basic flow. That way of handling alternatives was described in a previous tip.

Another way to handle alternatives is to make a new section of your use case document for alternative flows. This section generally comes after the basic flow in your document. You write the basic flow to show the most common way of doing the use case, and the alternative flows list the other ways of doing the same use case.

I start by making a list of alternatives, using names and possibly brief descriptions. Let us assume we are working on a use case for a customer to Place an Order. While writing the basic flow, we assume that the most common form of payment will be credit card, so we write the basic flow showing that the customer is paying by credit card. I list the alternate forms of payment in the Alternative Flows section. Here is the example:

Place Order Use Case
Basic Flow of Events
====================

1. The use case begins when the customer selects Place Order in the order processing software.

2. The order processing software displays an order form to the customer.

3. The customer enters his or her name and address into the order form.

4. As long as the customer enters products, repeat these steps:

5. The customer enters a product code into the order form.

6. The order form displays a description and price for the product to the customer.

7. The order form adds the price to the order total.

end the repeat loop

8. The customer selects the credit card payment type on the order form.

9. The order form displays fields for the cardholder name, card number, expiration date, and verification code.

10. The customer enters credit card payment information into the order form.

11. The customer selects the Submit button on the order form.

12. The order form sends the information entered by the customer to the order processing software.

13. The order processing software verifies the information from the order form.

14. The order processing software saves the order as pending in the database.

15. The order processing software forwards credit card payment information to the accounting system.

16. The accounting system sends a confirmation to the order processing software.

17. The order processing software marks the order confirmed in the database.

18. The order processing software displays an order ID to the customer, and the use case ends.

Alternative Flows of Events
===========================
Customer Pays by Check or money order
Customer Pays by PayPal
Customer Pays by Cash
Customer Pays by some other method

Now at some point in time, I will need to add detail to the alternatives to describe how each alternative will work in my system. One way to do this is to copy the basic flow of events and change the steps that are different. I prefer the second approach, which is to just list the changed steps.

Below are the detailed alternatives for the use case. I am showing a couple of different approaches to writing the alternatives in the following examples.

Alternative 1: Customer Pays by Check
or money order
=====================================
In the Basic Flow of Events, replace steps 8-10 with the following:

1. The customer selects the check or money order payment type on the order form.

Alternative 2: Customer Pays by PayPal
======================================
Do the Basic Flow of Events, steps 1-7.

8. The customer selects the PayPal payment type on the order form.

9. The order form sends the order total and the company PayPal account name to the PayPal site.

10. The PayPal site displays a payment form to the customer.

11. The customer enters his or her PayPal payment information into the PayPal site.

12. The PayPal site sends the payment information to the order form.

The basic flow resumes at step 11.

Customer Pays by Cash
=====================
This is an error. We do not accept payment by cash.

Customer Pays by some other method
==================================
This is an error. We only accept payment by credit card, check, money order, or Paypal.

My basic rule for handling alternatives is this: If the alternative is short, just 1 or 2 steps, then put the alternative inline to the Basic Flow of Events as described in a previous tip. If the alternative is longer, then make a separate alternative flow of events.

How do you handle alternatives to the Basic Flow of Events?

Add alternatives to your existing use cases. If your company does not have a standard, try different approaches to see what works best for you.

 

4 thoughts on “Alternative Flows of Events

  1. Naveen Kumar

    Thank you for the tips on BA and I want more points about System Engineering and process engineering in BA Thank you for your help and I really appritiate your help

  2. tv bracket

    Reading this remains me the university. I got an A+ for this class back then. Perhaps I should have been a business analyst instead of efficiency data tracking team.

  3. Sundaraiah G

    This is simple and nice approach and thanks for that. I have a question for you. I want to know if an alternate flow further can have an alternate flow within that? if yes, how can i document that?

Comments are closed.