Note: to edit this page, you will need to have a Confluence account (click on "Sign Up") and then get added to the member list for the CDI Tech Stack Working Group (instructions are here).
There is a variety of management and collaboration tools available to the USGS scientific community to handle the mechanics of software "revision control," but includes other technology. This technology is tending to evolve faster than institutional policy, such as USGS Fundamental Science Practices for software publication and participation in more open-sourced models of development, with the result of unclear guidelines for the average project-level scientist.
Even if both of these aspects (revision control and policy) were stable, there really isn't a single "silver bullet" solution for all projects, which may be of different sizes both in terms of the number of people or institutions involved, have different levels of coding complexities, or involve different coding languages and environments (python, arcpy, R, SAS, etc.). This page is a preliminary attempt to identify a few topics in this area that would be of interest for CDI members.
Another component for efficient software development is leveraging pre-existing libraries of software. This usually means installing extra libraries and making them work with your development environment. For example, getting the pandas module to work in python. Once this is done and you want to share your code with others, there's the problem of ensuring that users also have these extra pieces (that you didn't write) are also installed with your own code base. These types of things are collectively referred to here as environment configuration. There are a number of technologies out there for handling this, usually varying with the choice of programming language.
Please feel free to make comments or edits to this page! The hope is to improve this outline and then line up some presentations or panels to cover what CDI members want to hear about, maybe develop recommendations for "best practices".