At least since the so-called “reproducibility crisis” in psychology, many researchers now aim for making their analyses replicable to others. This goal, however, soon turns out to require more than simply publishing data and code, given that R and its packages are under continuous development. Because of the underlying infrastructure of functions, packages and their possible dependencies being best described as a “living system”, there will be no guarantee for future versions behaving the same way as they did today. This leads to the question, how current functionality (e.g. provided by CRAN) can be made reliable over time - even if significant changes must be expected. By using my own research as a “bad example” (https://gitlab.com/johannes.johow/consanguinity), I will shortly present some lessons learned and a comparison of possible solutions that would have helped in avoiding common pitfalls. Finally, some kind of preliminary best practices are outlined addressing not only the future-proofness of code but also portability and performance issues.