In 1913, the Ford Motor Company pioneered the assembly line, reducing the time to build a complete automobile from 12 hours to 30 minutes. With this innovation in mass production, Ford’s history became automotive history. And the company kicked off a revolution in manufacturing: how the product is produced is more ingenious than its individual parts.
It’s not surprising that we often see today’s cars as the result of artfully manufactured hardware, but the industry has fundamentally changed over the last few decades. Behind each part are complex software systems—navigation interfaces, pressure sensors, customer service applications—which have steadily become the core of Ford’s business. By leveraging technology and evolving with the pace of their industry, Ford has earned a reputation as one of the country’s most trusted mobility companies. They’ve transformed the way they build software to become a key player in the era of smart vehicles.
Many groups at Ford have been building software for decades—but in that time, each came up with its own solution. “Every group did something different,” said Florian Frischmuth, Chief Engineer, Architecture and Software Platform. “The status quo worked when there wasn’t a need for groups to interact with each other,” he said. “As we expanded the development of more complex features, we saw the need to work differently. That’s when we discovered GitHub.”
To evaluate GitHub against other tools, Frischmuth noted, Ford formed a small but knowledgeable team to work with stakeholders across the company. Software Processes and Tools Supervisor Timothy Carmean sits on product development in a newer Ford department called Central Software. Back in 2014, he was researching GitHub as a way to modernize how the team developed infotainment systems at Ford. The legacy stack included tools like Clearcase, but “nobody really knew how to use that outside of the company.” They needed a modern tool chain, Carmean admitted. “Most people that are learning Git are doing it through GitHub and open source.”
The teams evaluated a handful of solutions, and GitHub came out on top. Its strong following among new and experienced developers was also key. “It’s taught in school,” said Carmean. “GitHub is the largest provider of open source repositories in the industry. And people graduating from college know how to use it — which was one of the most important reasons we brought it in.”
The widespread knowledge of GitHub among Ford engineers sped up adoption and ultimately reduced onboarding time to a few days. Once they chose GitHub, the team started small: Ford’s first instance of GitHub Enterprise began in a lab but gained traction from there. Carmean’s original goal was to support 100 developers, but their instance grew quickly and organically by word of mouth. The company now has 9,000 employees on the platform—and this number is only increasing.
At the time, Ford started using GitHub, it was developing a code base on a server underneath a professor’s desk. “It was somewhat of a Git-hosting platform,” said Carmean, “and it was critical intellectual property, so we knew we had to get it out of there.” Carmean held weekly meetings with the CIO to provide GitHub status updates until its enterprise instance launched in September 2016. “Now we’ve got over 9,000 employees using it around the world,” including Germany, England, Turkey, India, China, Australia, Brazil, Mexico, and the United States.
Both Frischmuth and Carmean appreciate the benefits of one standardized tool set making a vast company, all working on different systems, feel more connected. Carmean worked with the IT team to create a software development ecosystem everyone could work with, supported by GitHub, JIRA, Jenkins, Vagrant, Docker, and Nexus. “Our core philosophy is that no matter what software you’re working on, these tools are useful. And GitHub is at the center, driving everything.”
When tasked with taking on a more agile workflow, Ford engineers needed to evolve their workflows beyond the assembly-line system that originated in the manufacturing industry. The way cars are built has fundamentally changed—Ford’s software processes needed to change, too. “We had to work in a coherent and collaborative fashion as the product we created grew much more complex,” Frischmuth explained. “A car has hundreds of sensors. They’re not all connected, but in order to create more features, you need to build on these sensors. You need to work together.”
Make your repository public. Then let people use it, open pull requests, and have conversations about it. These features make the platform powerful.
As teams move further away from their outdated, “waterfall” workflows, Carmean prefers the Scaled Agile Framework (SAFe). “Cars rolling off the assembly line have to be safe. So we impose a greater level of discipline than many other industries.” By organizing around release trains the teams can ensure that the software features properly integrate and meet their thorough regulatory and safety requirements.
Innersourcing—a way of building proprietary software that leverages and learns from open source best practices—is another method working inside Ford. While it wasn’t an original objective, Carmean said, “When we started talking about code reuse, we felt like we already had the perfect platform in place: GitHub.”
Tom Erickson, Supervisor of Global Software Tools and Processes at Ford, also encourages his group to use innersource methods and scrums to work together across teams. “They can make suggestions and adopt a style of working that’s more open and fits their needs,” he said. “If you want to ship higher quality software faster, innersourcing just makes sense.”
With Ford’s code accessible to everyone in their organization, teams are no longer separated by their organizational structures. Instead, they can work together on new code and make the most out of existing solutions. “Our environment allows developers to find solutions that have already been developed. They can collaborate on those, and then reuse them,” said Frischmuth.
This more open way of working has allowed developers the autonomy to follow through on new ideas, enhancements, fixes, and more. They no longer need permission to create a repository or offer up a suggestion, removing bottlenecks across the organization. If they do need more help, Ford leans on GitHub professional services. Erickson said, “We’ve learned everything from how to scale our organization for real distributed repositories to how best to use Jenkins.”
“We’re using GitHub for everything,” said Carmean, “including slide decks hosted among GitHub pages.” Other internal teams have also taken an interest in GitHub, including engineering groups, who conduct statistical analysis and put scripts in repositories. IT support has one of the more unique use cases. “They make pretty comprehensive use of markdown in wikis to document how things are meant to work in the next-gen data center,” said Carmean. He can simply drop an issue in the repository and get answers faster than with the older BMC ticket model.
Carmean understands the value of GitHub to both Ford and the larger open source community. “Make your repository public. Then let people use it, open pull requests, and have conversations about it. These features make the platform powerful.”
GitHub also helps Ford find new talent. Erickson said, “it’s something I look for on resumes, and have our Human Resources Team look out for, too.” Carmean added, “If you’re doing anything open source, you’re doing it on GitHub. To increase our talent pool, we dig into the open source projects and the tools developers use to build them.”
Carmean appreciates the time his team saves on infrastructure—and spends on more pressing challenges. Within Ford, the entire GitHub organization is managed by three people. Now that developers are set up for success, Ford is in a new and forward-thinking mindset, Carmean explains, “of leveraging the open community and everything it has to offer.” As Carmean reflected, “Embracing open source has already reshaped how we think about the modern car.”
Start collaborating with your team on GitHub
Want to use GitHub on your own? Check out our plans for individuals