How things break

The common ways working software stops working.

  1. Stop 1, next

    Two at once race condition

    Think of it when two people, programs or agents can touch the same data or the same files at the same time.

    StartAbout 3 minutes. The word for it comes at the end.
  2. Stop 2, next

    Half done partial failure

    Think of it when one action touches more than one place: two services, a file and a database, a payment and an email.

    StartAbout 3 minutes. The word for it comes at the end.
  3. Stop 3, next

    Silence is not "no" timeout

    Think of it when your code calls another program over a network, or a request "failed" and you do not know what happened on the other side.

    StartAbout 3 minutes. The word for it comes at the end.
  4. Stop 4, next

    Try again, gently retry with backoff

    Think of it when your code calls a service that sometimes fails or answers "too busy".

    StartAbout 3 minutes. The word for it comes at the end.
  5. Stop 5, next

    One fall knocks the next cascading failure

    Think of it when one slow or broken part sits under many others, or an outage spreads far beyond where it began.

    StartAbout 3 minutes. The word for it comes at the end.
  6. Stop 6, next

    One thing everything needs single point of failure

    Think of it when a drawing of a system has one box that every arrow points to, or only one person knows how something works.

    StartAbout 3 minutes. The word for it comes at the end.
  7. Stop 7, next

    Works here, not there environment difference

    Think of it when something works on your laptop and fails on the server, or works in testing and fails for real users.

    StartAbout 3 minutes. The word for it comes at the end.