A June 2010 survey that I personally conducted of project managers and project personnel showed that 57% of responders indicated that they conducted lessons learned sessions either not at all or less than 10% of the time. 
Now consider that more than 50% of all projects fail (as much as 76% fail as noted in one PMI survey discussed on LinkedIn) and that’s a lot of lessons that could be learned and shared. Think about all of the project dollars spent on those failed projects that could be more productively spent on successful projects if we were all learning from our mistakes and sharing those learning moments with other project managers.
We have good intentions, but the problem is we’re all very busy in our professional world. By the time a project engagement is over either the customer is moving on to other things or the PM and team is or all of the above. We try, but it doesn’t always happen. 
Because I came to the revelation that it likely would be helpful to learn in mid-stream on a project and because so many of us have to immediately move on to the next project once we’ve completed the present engagement (not to mention continue to manage the other projects we also have going at the moment) - I’ve begun to think of lessons learned as an ongoing activity that needs to happen during the project.  I’m not certain if this happens often or if I’m offering a ground-breaking idea here, but it seems to be working for me and my teams and customers as I’ve begun to incorporate it into my projects.  Here is my process…

Planning the lessons learned sessions into the project
During the creation of the initial project schedule, I look at the statement of work and the tasks we need to accomplish and consider whether we’re performing a long project or one that is basically a phased approach broken into several sub-projects.  If we’re performing a phased approach implementation – which is more common in the projects I generally lead - then it’s relatively easy to incorporate multiple lessons learned session into one project.  At the end of each phase, schedule a lessons learned session – it’s that simple.
If there are no such obvious stopping points in a given project, then it becomes more difficult to find appropriate places in the schedule to plan lessons learned sessions to discuss the issues we’ve encountered so far and the lessons we’ve learned along the way. On these types of projects, I look at key deliverables as the break point to insert lessons learned discussions. This could be the delivery of a functional design document for an IT project, or a draft of major marketing materials for a marketing campaign, etc. 

The important thing is to get them into the schedule and plan for them and to space them far enough apart so as to make them valuable sessions and not just re-dos of a session that happened two weeks ago.  And be sure to actually conduct them…being lazy and having people communicate their ideas through a series of emails won’t suffice.

Conducting the lessons learned sessions
The actual sessions themselves should not be really any different than the post-deployment lessons learned discussions most people are used to. The big difference may be that you actually still have to work with all of these individuals and keep their cooperation and motivation going for the rest of the project. So be honest and constructive, but also be careful.

Make the information you share and discuss useful – not just a waste of time.  Commend individuals personally for accomplishments, but also provide critical feedback – in the proper manner of course – when necessary because you still must maintain the project momentum. The takeaway here must be to improve project performance as a whole – whether that’s on the next phase or next deliverable.
The project-ending lessons learned session does provide the project delivery team and the customer with a nice platform to really dig deep into what was good and what was bad about the engagement. And that should still happen – it’s just not always possible.  But incorporating several mid-project reviews can help keep the project on track and eliminate problem areas from continuing throughout the engagement.

As much as we’d all like to say we incorporate best practices all the way through a project and we never skip critical steps along the way, we know that’s just not true of all engagements. When the project is encountering issues or the project timeline is in jeopardy, the fundamentals are sometimes the first thing to go. It’s a bad idea because the information you can gain from lessons learned sessions could be invaluable to both your team and to other project teams in your organization. 
By breaking these sessions down and conducting them in shorter and more frequent meetings throughout the project you can both keep them momentum going and learn along the way to help you deliver even better right now…not just in the future.  It may really make a difference in the overall success of the engagement.