The Toyota Production System is elegantly optimized to deal with repetitive and predictable tasks: tasks with homogeneous task durations and homogeneous delay costs. Under such conditions it is correct to use approaches like first-in-first-out (FIFO) prioritization. It is also correct to block the entry of work when the WIP limit is reached. However, these approaches are not optimal when we must deal with non-repetitive, unpredictable jobs; with different delay costs; and different task durations—exactly what we must deal with in product development.
Donald Reinertsen in Kanban by David Anderson.