My first Publication Agile-Data-Warehouse-Design-eBook | Page 135

114 Chapter 4 The presence of common degenerate dimensions (transaction IDs) often signifies that events are milestones in a process sequence. Ask for the next event but don’t worry about strict chronology After completing shipments, your search for the next event begins anew. This can be the next one in sequence, or simply the next one the stakeholders think of when they see popular dimensions like CUSTOMER and PRODUCT on the matrix. If their next event doesn’t sound like the very next one chronologically, don’t worry, just go with their train of thought—don’t try and derail it. Missing ‘next’ events are much easier to spot as gaps on the matrix once you add the events you are freely given. Imagine that the Pomegranate stakeholders respond to your next “Who does what?” question with: Customer returns product. Exceptional steps within a process are documented by bracketing their event names Figure 4-13 shows the matrix after PRODUCT RETURNS have been added along with its new PROBLEM REASON dimension. PRODUCT RETURNS are depend- ent on PRODUCT SHIPMENTS because customers have to order and receive products to be able to return them, but this sequence of events is exceptional: only a small percentage of orders are returned. You can document an optional or exceptional event within a process by bracketing it. This acts as a visual clue that you might want to handle the event separately to mandatory/unexceptional process milestones. For example, order and shipment could be combined in a worthwhile evolving order event because almost every order leads to a shipment, but the much smaller number of returns might be better treated as part of a separate customer support process rather than complicate orders. Exceptional events often indicate that there may be missing events and other processes that need to be considered. Figure 4-13 Adding PRODUCT RETURNS to the matrix Stakeholders occasionally find it difficult to decide which of two events happen first. Problematic “chicken or egg” events can occur simultaneously, loop each other, or be mutually exclusive (e.g., payments or returns). Don’t get hung up on perfect sequencing, just put them next to one another, above or below the events, on the matrix, that everyone can agree they precede or follow.