Why wait until the end of the project to communicate the lessons learned? Every day, lessons are being learned. Why not add five minutes to the end of recurring meetings to share and discuss lessons learned?
Furthermore, knowing something is not the same as learning it. When we fail, we can learn from our mistakes by doing some introspection. We call it Lessons learned. In actuality, however, it is a lesson learned, if we are able to apply it automatically next time. The ability to implement lessons is important. Simply knowing enough is insufficient.
How are you going to make every lesson learned count?