The ability to reproduce an experiment is fundamen-tal in computer science. Existing approaches focus onrepeatability, but this is only the first step to repro-ducibility: Continuing a scientific work from a previ-ous experiment requires to be able to modify it. Thisability is called reproducibility with Variation.In this contribution, we show that capturing theenvironment of execution is necessary but not suffi-cient; we also need the environment of development.The variation also implies that those environmentsare subject to evolution, so the whole software devel-opment lifecycle needs to be considered. To take intoaccount these evolutions, software environments needto be clearly defined, reconstructible with variation,and easy to share. We propose to leverage functionalpackage managers to achieve this goal.