У каждого события есть причина, и чтобы лучше, точнее моделировать, объяснять, предсказывать, нам важно уметь находить причины событий.
В обще виде связка причины и следствия выглядит так:
[причина] ————> [следствие]
Важно, чтобы стрелка была однонаправленной, если стрелку можно направить в противоположную сторону, то события не связаны причинно-следственной связью (ПСС). Как проверить ПСС-связность событий? Необходимо уметь объяснить эту связь (а точнее гипотезу о том, что события связаны, что причинное событие действительно есть причина следственного события). Это можно сделать с помощью медиатора — промежуточного события, которое является следствием изначальной причины и причиной для изначального следствия:
[причина] ——> [медиатор] ——> [следствие]
**Чем больше медиаторов можно включить в цепочку, тем доказательнее наше объяснение.
Что может пойти не так? Может появиться искажающий фактор:
[причина] ——> [медиатор] ——> [следствие]
**** ↑ ↑
[———— искажающий фактор ————]
Искажающий фактор является причиной и для изначальной причины, и для следствия. Он может помешать увидеть истинную причину события, не самом деле таковой не являясь (при условии, что у следствия на самом деле есть причина, отличная от искажающего фактора).
Противоположность искажающего фактора — так называемый коллайдер, который есть следствие для изначальных причины и следствия: ****
[причина] ——> [медиатор] ——> [следствие]
**** ↓ ↓
[——————— коллайдер ———————]
Он не так опасен как искажающий фактор, потому что не заменяет истинную причину, однако может вносить путаницу, поэтому за ним тоже стоит следить, если он появляется в схеме ПСС.
Также важно отслеживать циклы в причинном графе, так как цикл мешает выявить искомую цепочку для проверки гипотезы. С циклом можно бороться, “отключая” временную составляющую, выделяя логическую цепочку событий. Но всё же лучше избегать циклов, в примере ниже такой как раз есть.
Пример построения ПСС: Гипотеза: неучтенные требования возникают на более поздней стадии проектирования, потому что аналитики забивают на юзкейсы.
[игнорируют практику юзкейсов] ————> [неучтенные требования возникают позже]
Медиатор для проверки: юзкейсы не прописали — пропустили неочевидные сценарии, корнеркейсы.