DevOps at USGS NGTOC - 18F/g-devops GitHub Wiki

This page is to demonstrate format for the DevOps wiki... but there might be something to share here! :)

Background

USGS's NGTOC was able to begin using DevOps tools and methods in 2016. They had initially used agile methods, beginning with them receiving training in Feb 2013. Initial development teams were formed in March of that year, with all teams and team leads formed and hired by fall of 2016. (Team formation preceded the creation/hiring of leads, due to slow hiring processes). Teams were involved in typical agile processes and ceremonies, such as sprint planning/reviews, retros, stand-ups, etc. On top of this, the Systems Development Branch initiated events to share lessons learned across multiple teams. These "syncs" allowed for team leads to share what was succeeding and failing (related to process and management) within their team, to allow other leads to apply best practices. This ensured that teams were constantly innovating on process, and learning from each other. Simultaneously, teams were also participating in a Developer Sync, allowing technical staff to share how they were developing software. This event also allowed developers to discuss improved management methods, and decide on unified platforms to improve how they worked (ie, code repositories).

Presentation on USGS NGTOC Implementation of Agile Methods

Their use of DevOps

The iterative nature of the work, the development of teams (and teaming activities) between developers and team leads created an environment of continuous improvement and learning. Branch leadership focused on continuous improvement and ensured "psychological safety" for folks to experiment and fail. This, along with the National Geospatial Program (NGP) pushing to have more data and products available via the cloud, led one team to start working in the "new" cloud environment (AWS) available through the USGS cloud contract. This team was the Delivery Team, responsible for the discovery and delivery of geospatial data and products for the organizations, businesses, and others needing access to USGS geospatial data. The delivery team's successive iterations deploying data and services to the cloud got them increasingly comfortable with the technology. Their desire to deploy capabilities faster (iterate faster) got them increasingly interested in DevOps processes, ultimately "to do agile faster."

Presentation on USGS/NGTOC use of Gitlab and Jenkins

Challenges faced at NGTOC and how they were mitigated

...Brian to add more later...