The greatest risk we face in software development is that of overestimating our own knowledge.