Nothing is more frustrating when working on a project than having to:
Search for the necessary tools to work on this project (compilation, development, etc.). Manage the versions of installed packages based on their installation date. Manage the distributions on which these packages are installed (used package manager). During the development phase of a project, maintaining a consistent development environment that evolves over time is quite challenging, due in part to the following: