Remembering my old boss who always used to remind us on the importance of making mistakes in professional life. He always used to add - "But, don’t make the same mistake again and again, rather make new mistakes every day".
How can a mistake be constructive? How can a failure be the best performance booster? There are many literatures available on these topics. All of them summarize the message to take failure and mistakes as a part of the learning process.
When a person is in a learning mode, his/her mistakes are normally ignored by others. This is true for those drivers with 'L' board and for those programmers who are with a designation tag 'Trainee'. Not only their mistakes and failures are tolerated, but at times we encourage them to take risk by experimenting something new in an attempt to motivate them while expecting a failure / mistake.
Now, expand this thought process in a different way. If we look at whole life as a learning process, it is inevitable for an individual to make a mistake some point in time in the process. Some failures are part and parcel of any learning process especially when that process span across months and years. And yes, we say learning is a never ending process; meaning always there is a scope for us to attempt something different and taste a failure or commit a mistake in the process.
A failure becomes constructive when it teaches the person a new lesson. A lesson, that will bring success (Perhaps better success) in near future to him/her if applied correctly. Same goes true for those unintentional mistakes we commit in the process of learning.
This is not just some philosophy, but a simple thought that can change a person's destiny even after repeated failures. After all, everyone has the right to be a winner, if not today - one day.