Designing IT systems is a tame problem: it is understood, solvable with known procedures, and can be tested before deployment. Teaching, in contrast, is a wicked problem: it is not clearly understood, involves multiple interconnected factors, and different individuals judge outcomes differently.