  Lessons learned (LL) records constitute the software organization memory of
successes and failures. LL are recorded within the organization repository for
future reference to optimize planning, gain experience, and elevate market
competitiveness. However, manually searching this repository is a daunting
task, so it is often disregarded. This can lead to the repetition of previous
mistakes or even missing potential opportunities. This, in turn, can negatively
affect the profitability and competitiveness of organizations. We aim to
present a novel solution that provides an automatic process to recall relevant
LL and to push those LL to project managers. This will dramatically save the
time and effort of manually searching the unstructured LL repositories and thus
encourage the LL exploitation. We exploit existing project artifacts to build
the LL search queries on-the-fly in order to bypass the tedious manual
searching. An empirical case study is conducted to build the automatic LL
recall solution and evaluate its effectiveness. The study employs three of the
most popular information retrieval models to construct the solution.
Furthermore, a real-world dataset of 212 LL records from 30 different software
projects is used for validation. Top-k and MAP well-known accuracy metrics are
used as well. Our case study results confirm the effectiveness of the automatic
LL recall solution. Also, the results prove the success of using existing
project artifacts to dynamically build the search query string. This is
supported by a discerning accuracy of about 70% achieved in the case of top-k.
The automatic LL recall solution is valid with high accuracy. It will eliminate
the effort needed to manually search the LL repository. Therefore, this will
positively encourage project managers to reuse the available LL knowledge,
which will avoid old pitfalls and unleash hidden business opportunities.
