Thinking Smart: Applying the Theory of Constraints in Development Thinking Skills