Enter xp - a utility that allows you to express and run all the computational tasks in a project. Crucially, it captures the specific parameters used for each task, the data files produced, and any dependencies that task has on other tasks. All this is captured in files called pipelines (which can even be connected to one another). Toss in some helpful comments, and you have executable documentation for your project. This may sound a lot like scientific notebook environments (e.g., Jupyter and Mathematica), but there are some key differences. Notebooks only allow linear dependencies between computational tasks - which is a tremendous simplification of even moderate-sized projects.