Requirements Analysis Using Event/Response And Use Cases – Event Discovery Part 1

Planning

In prior posts I introduced the Context Diagram and the Event List. In this and the upcoming series of posts, I will define some techniques you can use to discover events and complete the Event List and Context Diagram.

The very first place to start defining events is the Context Diagram. Every input arrow on the diagram represents an event to which your “business” must respond. Recall that our definition of your “business” is the boundary of the business area under study. Inside of the business bubble in the Context Diagram, you have control over the business processes and data flows. Outside the boundary, you can negotiate the interfaces with the Suppliers and Customers but have little or no control over their business processes.

Let’s examine an example of how the Context Diagram can provide events. For this example, let us say the Supplier is an Employee and the input arrow is “Travel Expense Details”.

Our first column on the Event List is “When this happens”. In this example, you would state “Travel Expense Report Submitted”.

The second and third columns are “This Source” and “Gives us This”. In this example, the Source is “Employee”, and “Gives us This” is “Travel Expense Details”.

The fourth column is “Then we do this”. These are the labels of the business processes your “business” will execute upon receipt of the “Travel Expense Details”. You might have a list of processes that looks like this:

  • Verify expenses comply with business policy
  • Approve/Reject Expenses

The fifth column is “Which creates this”. These are the outputs of each business process. The outputs of the first process listed above might be “Valid Expenses” and “Invalid Expenses”. The outputs of the second process listed above might be “Approved Expenses” and “Rejected Expenses”.

The sixth column is “… and we give it to …”. These are the recipients of the outputs listed in the fifth column. In this case the recipient of the Valid and Invalid Expenses could be “Employee’s Manager”. The recipient of “Rejected Expenses” would be the Employee while the recipient of “Approved Expenses” could be the Travel Expense Data Repository. Note that the Recipients would be External Entities on your Context Diagram.

Be sure to keep implementation details out of this analysis. You don’t want solutions to be constrained by using specifics such as “email:, “reports”, “database”, etc.

In the next post, I will continue the discussion of Event Discovery and show how, once you have a few events listed, you can use these events to discover more events and get the complete scope of the project.

Note: My book “Project Management For The Real World”, is available in paperback and Kindle formats at

http://www.amazon.com/dp/b089krddvn

Requirements Analysis Using Event/Response And Use Cases – The Business Event List

Planning

I recommend setting up the Event List using Excel. Remember, when I refer to your “business” it means the scope of the area under study. Here are the columns you will need along with their descriptions:

  • Event ID – use a numbering system for your Events so they will be easy to track thru design and testing. I use a scheme where the main number puts the event in context and a number after the decimal point is just a sequential number within that context. For example, Event ID 3.1 where “3” represents sales events and “.1” is the first event in that context.
  • “When This Happens” – this is a brief description of the event that causes your “business” to react with a planned response. For example, “Customer initiates check out”.
  • “This Source” – one or two nouns describing the entity responsible for directly providing data/information to your “business”. Examples are “Associate” or “Customer”. This will match your “Suppliers” on the Context Diagram.
  • “Gives Us This” – a brief description of the data/information being provided. Examples are “Time off request” or “Product ID”. This will match the input arrows on your Context Diagram.
  • “Then We Do This” – the name of the business process(es) you will execute to respond to this event. For example “Time off request approved/denied” or “Record Sale”.
  • “Which Creates This” – the permanent output(s) of the business process(es). For example “Time off approval” or “Product Inventory Update”. This will match your output arrows on the Context Diagram.
  • “And Is Given To…” – The recipients of the output(s). These could be systems, departments, roles, or vendors. This will match the “Customers” on your Context Diagram.

Remember to keep the event items free of technical and implementation jargon so that you do not limit your design options. Note my example “Customer Initiates Check Out”. This could be in a store, online or some other means. The “How” will be decided later, in design, and not here.

In the subsequent posts I will show how to do Event Discovery to elicit a complete set of requirements.

Note: My book “Project Management For The Real World”, is available in paperback and Kindle formats at

http://www.amazon.com/dp/b089krddvn

Requirements Analysis Using Event/Response And Use Cases – Business Events

Planning

For the purpose of this analysis approach, “Business Events” are anything that occurs that causes your “business” to initiate a business process. Defining all of the Business Events in scope will lead to discovery of the business process in scope.

There are three main types of Business Events:

  1. External: These come from outside of your business and you have little or no control as to when or how often these events occur. Examples are “Customer purchases Product” or “Associate requests time off”.
  2. Temporal: These events happen at regular predetermined intervals. These intervals are required, they are not a business or design decision. Don’t let technology limitations determine the interval. Good Example: “It is time to file quarterly taxes”. Bad Example: “Every two hours the HR system sends employee information to the Financial System”.
  3. Data/System State: Occur when the data or system reaches a predetermined condition. These are usually Business Rules or Policy decisions. Example: “Product is re-ordered when the inventory level reaches 5”.

The input arrows on the Context Diagram are the starting point for event discovery. In the next post I will define the elements of the “Event List”.

Note: My book “Project Management For The Real World”, is available in paperback and Kindle formats at

http://www.amazon.com/dp/b089krddvn