Requirements Analysis Using Event/Response and Use Cases – Validating the Model


In the prior posts on “Event Discovery”, you completed your initial Event Model. I say “initial” because in the process of validating the model, you may discover additional events.

In order to validate the model, you first compare it to your Project Objectives (the implementation deliverables that survive and are maintained after the project is considered complete). For each Project Objective you need to ensure that you have one or more Events and Business Processes that will contribute to reaching that objective. If you don’t find at least one, you are missing at least one event and must cycle back to event discovery to find it or them.

When you are finished validating against the Project Objectives, you will then validate against the Business Objectives. As a reminder, Business Objectives…

  • Contribute to the business strategy
  • Make or save money
  • Take advantage of opporunity
  • Provide competitive advantage
  • Respond to new laws and regulations
  • Are measurable

Compare the Event Model against the defined Business Objectives and ask the Core Team and the Project Sponsor if this scope will directly or indirectly address the objectives. If one or more objectives are not addressed, then you will continue with event discovery until you are satisfied the Business Objectives are satisfied by the model.

In the next post I will present how Use Cases are derived from the Event Model.

Requirements Analysis Using Event/Response and Use Cases – Event Discovery Part 7


The posts in this series so far have covered identifying External Events, which in most cases will constitute the majority of your Events. There are two other types of Events you also need to identify:

  • Time-based Events
  • System State Events

To identify Time-based Events you can simply ask your SME’s (Subject Matter Experts) if there are any processes that run based on time (e.g. “every X hours/days/weeks/months”, “First Monday of every month”, “Every other Friday”, etc). Some Events that run based on time are only done so due to technical limitations, either real or perceived. You do not want to classify these Events as time-based. For example, if they say “We run an interface from our HR system to our Time-Keeping system every two hours”, that is a choice, not a requirement. In an ideal world, those two systems would always be instantaneously in sync. Do not let technical limitations limit your requirements.

An example of a good time-based requirement is “We submit monthly tax reports to state and local governments”. The timing is a requirement of External Entities and must be honored.

System-State Events can be identified when you are reviewing the relevant data elements. You can ask if any change in the value of an element automatically triggers a process. For example, in an inventory system a System-State Event might be “When the on-hand quantity reaches 5, a reorder is triggered”. In an HR system, a promotion would trigger events related to pay, benefits, organization, etc.

Once you have added the Time-based Events and the System-State Events to the External Events in your Event Model, it is time to validate the model. That will be the subject of Part 8 in this series.