Organize code, data, environments, tests, version control, notebooks, and reports so another person can rerun the analysis. Build automated pipelines that record inputs, decisions, outputs, and software versions.