It is often said that the transition to DevOps is challenging for old school enterprises with legacy environments. It doesn’t get any more old school than GE – one of the founding companies of the original Dow Jones Industrial Average and the only remaining original company listed.
And it’s hard to find a use case that is tougher than bringing DevOps tools, processes and culture to bear on a company that centers around building physical devices – large and small. But that’s precisely the journey Alan Schachtely, director of software engineering at GE Software described in a presentation this week at the DevOps Enterprise Summit here in Burlingame, CA. And it’s more important now than ever before for GE, as the company pushes hard into the burgeoning industrial Internet market.
Transforming GE for the industrial Internet
“We will never be a software company. We are an industrial company,” said Schachtely. “How do we take software and incorporate that [culture and sets of processes] into an industrial company,” asked Schachtely.
To succeed in the industrial Internet, GE will need to utilize much of the data that flows from its products in the field. This requires GE to embrace new software disciplines: How could GE use that data to improve the design of its products? How will GE secure those data streams? How could GE move forward and embrace more Agile software development and continuous integration and continuous delivery environments?
Part of that success will be through acquisition and savvy investments, such as the acquisition of the industrial application security equipment maker Wurldtech, or GE’s more than $100 million investment into the cloud and big data analytics vendor Pivotal.
But most of the transformation would have to happen on the inside, among its 15,000 software developers and engineers scattered throughout the world.
The beginnings of GE’s Agile transformation
With that goal in mind, the transformation of GE’s software teams has already been massive. A big part of that transformation began when the company combined the software teams behind 100 different products in the GE Energy portfolio from five different product lines. The consolidation involved 70 teams comprised of roughly 800 engineers in nine geographic locations into the single Software Solutions Group. The Software Solutions Group works on the software within its Energy Management, Distributed Management and Outage Management Software portfolio, as well as with the software that powers the smart grid.
Due to a number of issues, the consolidation into the Software Solutions Group didn’t go well at first. In fact, GE considered breaking up the combined group and reverting back to the way things were, or trying something different. That’s when the GE Software Solutions Group made an all-in bet on a move from waterfall to agile.
But the application of agile development principles to shipping products in the industrial Internet presented with many challenges. “We had to figure out how to work through those impediments,” said Schachtely.
“It’s not unusual in the industrial space to learn that someone’s static code testing is a server under their desk,” said Schachtely. ”The bottom line is that they were spending a ton of money on talent, so we need to get them the best infrastructure that could be built,” he said.
The DevOps transformation was as much, if not more, a cultural reshaping as it was a technology overhaul. They put into place scrum teams, brought in outside Agile coaches, set the program to have six month windows with sprint lengths of two weeks – down from up to 22 month program windows. They invested in building robust continuous integration and deployment environments.
With such ambitious goals, pushbacks were to be expected. Schachtely said some development teams had builds that took two days, and those teams didn’t believe that there was any way they could hit two week deliveries. “We had to raise the bar on that so we could get working software every two weeks,” said Schachtely.
By applying lean principles to development, Schachtely said they were able to remove many of the impediments to building an Agile development environment. Schachtely described how they automated their build processes, and automated the associated testing processes by investing heavily into test automation frameworks. “We radically accelerated our team’s ability to innovate,” he said. An example: that two-day build was compressed to 20 minutes.
It took five years to get there, but the overall results are impressive. When the transformation started deliverables were roughly 30 percent on time to the roughly 94 percent on time delivery today.
Quite the accomplishment, but it’s only the beginning Schachtely says. “While this was a great reference example within GE, it didn’t change the game for GE,” he said. These same processes, tools, and principles would have to be spread across the company’s 15,000 software practitioners and used in a consistent way.
Turning the aircraft carrier
They built what Schachtely called the “coalition of the willing,” that would work together as they built a shared Agile experience. To ensure that shared Agile experience is consistent, they designed an assessment test that evaluate software teams against six core characteristics. The evaluations are conducted through interviews and observations that compare team behaviors against the following scale:
- Innovative (3+): Demonstrates the ability to invent new techniques, when necessary, to deal with truly unique situations.
- Adaptive (3): Demonstrates a level of expertise and maturity such that supports the ability to adapt to change in a disciplined manner.
- Operative (2): Reflects a mastery of technique and a level of discipline that supports consistently reliable execution.
- Collaborative (1) Reflects a level of collaboration within and outside the team that is a fundamental requirement for providing business value.
- Neutral (0) Neither hinders nor contributes to effective agile development.
- Regressive (-1) Performance at this level limits agility. Even when such practices are an improvement over ad-hoc, we need to recognize when the improvement carries other baggage.
With this assessment too, teams throughout GE have a way to measure themselves so they can see where they stand within each criteria. “It gives them a voice to be able to talk intelligently about the nature of software and how they should innovate,” said Schachtely. “It all becomes part of a fabric that gives the capability to innovate. We captured the framework, and built a way teams could assess where they stood. But most of all, we created a community,” Schachtely said.


One Comment