title: Explaining race conditions to a non-technical audience
body: <p>Recently, I found myself having to write up some concerns I have about race conditions in an application that is in development (not by me).  This will likely be brought to the attention of stakeholders who are non-technical and with whom I do not have a direct line of communication, so my explanation needs to be in written form.</p>
  
  <p>I have already made an attempt at this write-up.  I gloss over the technical specifics as best I can, give an example of how a race condition would occur in the application, and describe its impact.  I feel I did pretty well, but it's far from perfect.</p>
  
  <p>The problem is, as much as I try to shield the reader from computer science, I have still found it difficult to eliminate phrases like "threads of execution" and "mutual exclusion" without losing correctness and substance.  The risk is that, with too much hand-waving, these concerns could be dismissed as a made-up boogeyman.</p>
  
  <p>Anyway, my question to you is this:  <strong>How would <em>you</em> explain race conditions to a non-technical audience?</strong>  Would you dare to explain CPU scheduling?  Would you invoke the <a href="http://en.wikipedia.org/wiki/Dining_philosophers_problem" rel="noreferrer">dining philosophers</a>?</p>
  
  <p><em>You don't have to work within the constraints of my situation (but it would be awesomely helpful if you did).</em></p>