"Principle of Beneficent Difficulty
Difficulties, explicitly characterized and diagnosed, are the medium in
which a method captures its central insights into a problem. A method without
limitations, whose development steps are never impossible to complete,
whose stages diagnose and recognise no difficulty, must be very bad indeed.
Just think about it. A method without limitations and difficulties is saying one
of two things to you. Either it’s saying that all problems are easily solved. You
know that’s not true. Or else it’s saying that some problems are difficult, but
the method is not going to help you to recognise or overcome the difficult bits
when you meet them. Take your choice. Either way it’s bad news. "
Michael Jackson. Software Requirements and Specifications: A Lexicon of Principles,
Practices and Prejudices. Addison-Wesley and ACM Press, 1996