How British Geological Survey revolutionized its software development lifecycle
The British Geological Survey needed an all-in-one tool that offered an easy to use interface, enhanced collaboration, complete visibility, and seamless integration.
With source code management (SCM) and continuous integration and delivery (CI/CD) in GitLab, the research organization has been able to remove the barriers to software development and accelerate innovative science research.
Geosciences research organization
The British Geological Survey (BGS) is a 185-year-old science and educational research organization that focuses on the geological properties of the UK. BGS’s clients include the public, scientific organizations, universities, and the government in the UK and abroad. The BGS provides expert advice in all aspects of geosciences and helps society to use natural resources responsibly, manage environmental change, and be resilient to environmental hazards. The organization digitally records their findings and research.
Lacking transparency and collaboration
About two thirds of BGS's 600 employees are scientists and the other third are made up of business support and informatics teams. Communication between scientists and developers is key to ensuring that environmental projects move forward and that information relating to their interactions is recorded.
Previously software developers were using Subversion for source code management, but found the tool to be lacking the visibility the teams required. "With Subversion we were storing our code in a secure and convenient place, but it didn't have the collaboration aspect that GitLab offers. You couldn't see the visibility of the work that you were doing and you couldn't share that with our scientists, stakeholders and managers interested in that project," explained Wayne Shelley, DevOps integration leader at BGS.
Without a singular tool that offered total visibility, the BGS software development lifecycle suffered. The teams were not using any CI/CD and processes were separated into siloed steps. "If we wanted to run tests, we'd probably be doing them offline or we probably wouldn't be doing them at all! We certainly didn't have any kind of continuous integration and deployment that we have now," Shelley said.
BGS has its own infrastructure and with developers' demand for infrastructure on the rise, DevOps practices have helped to bridge the gap between infrastructure and application development. "We’re not a software development house, so this kind of platform infrastructure was lacking at our organization," Shelley added.
BGS needed an all-in-one tool that offered an easy to use interface, enhanced collaboration, complete visibility, and seamless integration. As Shelley put it, they wanted "an off-the-shelf, all-in-one solution that you know we could get behind."
An all-in-one, self-managed platform
About six years ago, Wayne was working on some personal software development projects at home and discovered GitLab. For him, GitLab stood out over GitHub for its ability to be self-managed. After using it personally for a few weeks, Shelley installed it at work and integrated it into some of the existing systems. From there, GitLab’s adoption spread throughout the organization quickly and organically.
One of the reasons that GitLab worked so well for BGS is that the teams needed their code and infrastructure to remain secure, not necessarily open to the public. Having GitLab locally meant that they could have private repositories on a self-managed infrastructure.
Shelley and his team also like that the project management capabilities of GitLab integrate easily with the web interface. “It’s an excellent way of exploring your code. You can see your projects and be proud of what you're creating. You can see the changes you're making and so can everyone else in the organization. It is discoverable and more interesting. But most importantly our scientific staff are much more involved in the software development process and this accelerated our delivery and research capabilities,” Shelley said.
Accelerated software development workflow
Over the last few years GitLab has provided a fast track to an improved software development lifecycle. “When we moved to GitLab, it brought to the forefront all of the best practices that the industry is using. We're a relatively small set of developers, so for someone to have packaged up all the best practices into a nice platform is awesome,” Shelley said.
Developers now write their own code, create builds, run tests, and develop source-controlled projects all in GitLab. There is now the ability for software developers to collaborate on various projects because of the level of transparency and accessibility within the platform. “The whole process of developing a piece of software has accelerated over the last five years. And I think GitLab has been a focal point of all of the infrastructure and tools and systems that we've built up around it,” said Shelley.
BGS has created a process that is collaborative, code is visible to everyone, work is showcased, security testing is built in, and deployments have accelerated. According to Shelley, “GitLab has really revolutionized and professionalized the whole software development lifecycle in our organization.” GitLab has provided a workflow, and improved BGS best practices in terms of how they’re doing software development.
GitLab Self-Managed Ultimate has a huge range of additional features that is now empowering the software development teams at BGS. But most importantly, “Knowing that GitLab Support is there for you and has your back if you need them. That's critical,” Shelley concluded.
All information and persons involved in case study are accurate at the time of publication.