“Changing the world” is an all-too-common trope of the tech industry, but NASA's Jet Propulsion Laboratory has been doing exactly that for nearly a century. From leading the robotic exploration of our solar system, to hiring all-female teams of mathematicians in the 1940s, the JPL name is synonymous with innovation.
JPL is best known for achievements such as building the first U.S. satellite, creating all four Mars-exploring rovers, and launching space telescopes like Kepler — which itself has discovered hundreds of planets orbiting other stars. They've also mastered how to make highly technical research awe-inspiring to the public, bringing science and engineering to everyday people. So it's unsurprising that JPL values agility, novelty, and collaboration in their culture as well as the tools they use.
In 2013, in an effort to foster cross-lab collaboration, JPL began a migration to GitHub Enterprise. They soon discovered they weren't so different from GitHub's extensive open source community: both feature multiple teams working across functions and projects, but toward a common “North Star”.
Mid-century mathematicians of JPL (Courtesy NASA/JPL-Caltech)
A martian selfie by the Mars Curiosity Rover; October 2015 (Courtesy NASA/JPL Caltech)
The Cassini orbiter, which was designed and developed at JPL, captures a Y-shaped tectonic feature on the icy Enceladus, Saturn's sixth-largest moon. (Courtesy NASA/JPL-Caltech/Space Science Institute)
Centralizing code and collaboration in one platform
With 5300 staff, including over 1000 software engineers, JPL is developer-driven to the core. They're also highly decentralized, working on (and with) a wide variety of tools simultaneously — from internal mobile apps, to custom data reporting tools, and even scheduling applications running on “Mars time.”
As GitHub Enterprise usage ballooned to over six hundred people, some teams looked for a solution to enhance the strategic ability of GitHub's native ticketing system, Issues. Teams had experimented with several third-party project management solutions, many of which proved too inflexible for their agile needs. A trial of ZenHub Enterprise was initiated.
With an implementation modeled directly after GitHub Enterprise, the barrier to entry was low; JPL's administrators were already familiar with the setup process. And ZenHub Enterprise's flexible licensing model allowed lab members to add to licenses at the same rate of growth as their user base.
ZenHub Enterprise transforms GitHub Enterprise into a one-stop project management platform. JPL were able to consolidate, rather than expand, their existing tool set. Individual teams, such as the Mars Curiosity Rover flight engineers, could be more autonomous while collaborating more seamlessly across the organization.
Making agile development a habit
JPL was an early adopter of agile development practices, and many teams have created their own ‘agile light’ approach (which incorporates elements of Scrum.) Just as GitHub Enterprise had helped increase code collaboration, JPL hoped to hasten the adoption of agile best practices across teams.
ZenHub isn't tied to any single philosophy, but instead allows developers to build their own custom workflow. By adopting ZenHub Enterprise, teams at JPL were able to incorporate elements of established processes where it served them best. ZenHub Boards provided an easy way to visualize projects inside GitHub Enterprise, but it was the release of ZenHub Enterprise 2.0 that sparked widespread use.
Teams took the guesswork out of release planning by attaching complexity estimates to GitHub issues. They then tracked progress and velocity of their projects using ZenHub Enterprise's GitHub-integrated Burndown Charts.
The addition of Multi-Repo Boards allowed JPL to connect repositories into “projects”, a crucial feature for initiatives that spanned across GitHub organizations. Since everything uses real-time GitHub data, managers could be sure metrics were always up-to-date.
Because of ZenHub Enterprise, not only could JPL modernize their development process through agile practices — they could keep their many developers focused on creating phenomenal software.