Ford draws on Pivotal to reshape developer culture
[ Related: Why Ford's CIO is shifting gears to bimodal IT ]
Klevorn, who assumed the CIO role at Ford in January 2015, heads up 11,000 employees. While Ford's developers have long since adopted the agile methodology, they're still subject to rigorous processes and documentation. To support the speed at which Ford's emerging businesses need to move, that had to change.
"When you think about the core business we run — manufacturing plants that run three shifts, engineering, product design, etc. — any risk that's realized has a huge impact on the company," Klevorn says.
But in the emerging opportunities space, where Ford is not so much an automobile manufacturing company as a mobility and transportation company, it needs to take risks, fail fast and keep experimenting.
"The emerging opportunities will be technology- and software-led," Klevorn says. "We need to iterate, take more risks, learn. That requires a different culture. Our culture is very risk averse, and rightfully so. But we need a different way of thinking of IT and the way we do business."
Changing the culture of an IT practice as large as Ford's is no small feat. To do it, the company has teamed with software company Pivotal in a three-year strategic collaboration that aims to help Ford's developers adopt extreme programming, an agile software development methodology that emphasizes pair programming, frequent releases in short development cycles and extensive code review.
"They're thinking beyond just cars," says Ashok Sivanand, senior product manager at Pivotal. "They're thinking about mobility and realizing they need to transform a lot more aggressively into being a software company. They need to change the way they deliver both their consumer-facing and internal software."
"It's always been a good practice for developers to do code reviews and to work in groups to do design before they start actually writing code," Sivanand adds. "One of the underlying theories of extreme programming is what if we take all these good practices and turn them up to 11 What if you're always doing code reviews and you've always got one person that's validating the initial set of code as its written You get better quality and a more scalable code base because you've already got at least two people that can understand the code."
Through the partnership, a "class" of Ford developers have already traveled to Pivotal Labs in Toronto, where they were paired with Pivotal engineers to begin creating new software for Ford leveraging the company's recently introduced SYNC Connect technology, which provides remote access to vehicle features via a smartphone app.
"Typically, it took Ford months to develop software," says Bill Cook, Pivotal president and chief operating officer. "At the outset of working with Pivotal, Ford engineers started producing compelling software in a matter of weeks. Since mastering Pivotal Labs' cutting-edge, agile software development methodologies, Ford now is operating at startup speeds — being able to create software in mere days."
[ Related: Connected vehicles as a technology platform: Don Butler, Ford Motor Company ]
Of course, working in this way requires some operational changes. Sivanand notes that developers tend to be a lot less distracted when working as pairs because you always have two people working on the same thing. It makes the delivery of code much more efficient, he says. But even while pair programming teams deliver better code faster, they also need more frequent breaks.
"Think about having an eight hour conversation with someone throughout the entirety of your workday," he says. "Depending on personality fits, that can be more or less exhausting. It's very normal at Pivotal to encourage breaks. We encourage our developers to do anything else to take their minds off it. That's not necessarily viewed as productive in more traditional enterprise settings."
It took convincing, he says, before Ford's developers were willing to take a break during the workday to play some table tennis.
Klevorn says that team's experience is only the beginning. They have since returned to Ford's headquarters in Dearborn, Michigan to find a new work environment designed to support the extreme programming methodology. Klevorn says the new workspace has more open seating and provides a more collaborative environment. More teams are heading to Toronto to learn from Pivotal.
While training Ford's engineers in the new methodology, they will work on extending Ford Smart Mobility, the plan to take the company to the next level in connectivity, mobility and autonomous vehicles. It will focus on the customer experience as well as data and analytics.
[ Related: Ford Touts Self-Driving Car, Launches Global Mobility Experiments ]
"As we grow to become both an automaker and a mobility company, having leading software development expertise will be critical to delivering at the speed consumers expect," Klevorn says. "Customers today are used to frequent software updates on their mobile devices and expect them with all technology. This collaboration with Pivotal allows for quicker vehicle software updates and an even better user experience for Ford customers."
SYNC Connect is an example of what the partners will build together as part of Ford Smart Mobility. Initial features include the ability to lock and unlock doors, schedule a future start to warm up or cool down the vehicle, check on fuel and oil levels and locate where the vehicle is parked. SYNC Connect will make its global debut in the spring with the new Ford Escape.
A component of Ford's new connected vehicle platform will be built on top of Pivotal Cloud Foundry. Ford has also leveraged Pivotal Big Data Suite to analyze data in both real-time and during longer periods to develop software-powered applications.