NASA’s Ames Research Center migrates to Git and takes off with Atlassian


Industries

Government
Healthcare & Life Sciences

Location

Mountain View, CA

Products

Bitbucket

JIRA Software

Bamboo

Confluence

For over 70 years, the Ames Research Center has led NASA in conducting world-class research and development. With 2,500 employees and an annual budget of $900 million, Ames provides NASA with advancements in a wide range of areas such as nanotechnology, fundamental space biology, supercomputing, and thermal protection systems.

Challenge
Within Ames, 150 software and aeronautical engineers are working together on a project called NextGen, short for Next Generation Air Transportation System. The team's mission is to enable the nation's air transportation system to evolve with maximum safety, reliability, and efficiency. The team at Ames collaborates with the Federal Aviation Administration (FAA) to develop advanced automation tools that provide air traffic controllers, pilots, and other airspace users with more accurate real-time information about the nation’s traffic flow, weather, and routing. Precision is key for NextGen.

Due to the critical nature of the NextGen team's work, the ability to develop software collaboratively and securely is key. At the same time, the team must adhere to NASA-approved development processes, which often dictate the capabilities of the tools they use.

Although Git is a very capable open-source application, its built-in management and control features are not adequate for the NASA environment. The team needed an approachable secure solution for managing Git repositories, while also complying with NASA software development and testing processes.

Solution
The NextGen team turned to Atlassian. It adopted Bitbucket as its Git repository manager, JIRA for issue tracking and issue management, Crucible for code review, FishEye for viewing and searching source revisions, and Confluence for documentation.

The integration between JIRA and Git through Bitbucket and Fisheye is all in the browser, enabling navigation between issues and code changes. The Fisheye commit history viewer enables monitoring of development activity across branches. The Bitbucket interface provides detailed views of code changes for any repository. The distributed capabilities of Bitbucket allow developers and experimenters to pull code to authorized devices via strict user authentication; this has enabled developers to work remotely without being connected to a network.

The team’s use of Bitbucket grew from three major real-time software projects to 40 Bitbucket projects and nearly 200 Git repositories within the Bitbucket installation. To preserve the team’s history of software development, the team migrated the history into Atlassian, so that developers could use the new tools to navigate the historical changes in a common tool suite.

To migrate the change history of historical projects into Bitbucket and JIRA (going back as far as the 70’s), the team turned to Atlassian Platinum Expert, Go2Group. Due to the extraordinarily large amount of change history data involved, Go2Group developed custom tools to migrate everything within a matter of months.

Benefits
The result is better code quality, faster collaboration cycles, and more rapid development for NextGen – all while complying with NASA process.

Within two months, the team at Ames was up and running with Git and Bitbucket and experiencing great results: increased speed and traceability of development projects, simplified code review process, and improved collaboration among developers largely due to their ability to comment right in the code and edit within the browser. Meanwhile, managers get a clearer picture of the status of the projects via the JIRA dashboard.


We're in a continuous prototyping, experimental environment here. As of this past year, we use Git for version tracking. We do a lot of branching and merging. We make a branch per feature, a branch per bug. We don’t want branches to live forever – we want them to merge into the main baseline as soon as the code is ready. We do many code reviews as well, at least one per branch.— Michelle Eshow, aerospace engineer, Ames Research Center