The key tool is the Design rationale. In the context of semanticGIS, I recommend maintaining the design rationale in a tool such as Jupyter Notebook, as it enables programmatic verification and visualisation of the process. In addition to the key Design rationale, I recommend using tools like https://toggl.com/ for time keeping and following the guide on maintaining a GIS project. If the project involves more exotic tools i recommend taking a look at Advanced Environments for Geospatial Processing and A Beginner’s Guide to Safely Installing Software