Fail Early Fail Safe
In the second stage of XLP, students need to realize that just adopting existing solutions that were prepared for them to rethink their assumptions is not sufficient. They need to directly experience some form of failures that would be compliant to the assumptions that there are new things to be learned, or new test cases to expand their mental model. Just like in Test Driven Development, the first set of test cases are test cases that demonstrate the failure modes of a system, so that they can be sure that the testing procedures would reveal some errors during tests. This failure first philosophy is necessary because it will reinforce the habit of system safety, where possible failure modes are considered to be the boundary cases, and at least some known boundary cases are explicitly documented and tested before a system is put into production. Similarly, learning a new concept or a new skill, requires the exposure to the boundary conditions of the system of interest. Designing a learning program that exposes boundary conditions to students, is a crucial part of learning result assessment. It is also a necessary stage of attaining mastery at a subject matter.