1. 11

  2. 4

    The biggest impact of using Event Modeling is the flat cost curve of the average feature cost. This is due to the fact that the effort of building each workflow step is not impacted by the development of other workflows.

    Wow. Big claim. Any evidence for that? Sorry, but my bullshit alarm is ringing quite loud here.

    It essentially assumes that there is no coupling between steps? It implies that you do not introduce coupling like using the same framework/compiler/tooling/platform/libraries. Ok, it rather requires it, because before that it says “They are also coupled to the adjacent workflow steps by only the contract.” As if the requirements are ever good enough.

    The article has an example specification:

    “Given: hotel is set up with 12 ocean view rooms, ocean view room was booked from April 4th - 12th X 12,
    Then: the calendar should show all dates except April 4th - 12th for ocean view availability”.

    You are dealing with time here. I bet you will miss edge cases. You will also miss different edge cases differently in different steps. So much for “no coupling” because your implicit assumptions about time will lead “interesting” bugs sooner or later.

    My conclusion: If you do Event Modeling and you fail then proponents will tell you that you did something wrong because “your contracts were not specific enough”. However, if you were able to do requirements good enough, you would succeed with or without Event Modeling.

    1. 2

      Is this formal methods? Not rhetorical, I’m genuinely curious! A formal specification has a syntax and semantics. You can say whether or not a specification is invalid as a specification. For example, for strict decision tables with N boolean columns, we have two rules:

      1. There are 2^N rows in the table
      2. Every possible input maps to exactly one row.

      All valid strict decision tables satisfy those two rules, all invalid ones break them. If I want to make the notation more expressive, like by adding enumerations or compressing rows, I can adjust the rules to cover it.

      By contrast, the Event Modeling seems to have syntax but no semantics.