Deere had invested heavily in a traditional ERP upgrade in Australia, with poor results. Dealers complained that the new system was too hard to use and unintuitive. For example, one process that had been 5 steps turned into 27. Data was inconsistent and often inaccurate, and the system crashed often.
But Deere’s management team felt like they were stuck in a pattern: When they needed better IT, they just bought more IT, and costs were spiraling with diminishing returns. The decision to shift to agile was more like a reset: let’s not spend more money, let’s spend it more effectively.
Deere already had some pockets of agile development across the organization, but no consistent methodology. When managers first announced the agile pilot, more engineers raised their hands than the pilot needed. But when they explained the magnitude of change needed to implement agile development, some of those hands went down. Then, when the pilot programs began to deliver those “thin slices” of functionality and stories of customer satisfaction began filtering back through the organization, some hands went back up. The new agile program had more support and better training than the pre-existing programs.
Deere’s shift to agile delivered good results.
- Faster delivery of new features: By some measures, delivery time shortened by about 78%
- Value is hard to measure across different functions. But by evaluating time saved and new functionality, Deere estimates that the shift to agile created three times more value in some departments due to faster cycles.
- The development team was happier with its own work and progress: employee satisfaction levels (as measured by eNPS) went up 20 points.
- Deere was also able to cut most of its third-party support contracts, insourcing that work instead. When it cancelled an outsourced support contract and instead tasked its development team with support, developers were wary at first because they thought this would interfere with their work. But the closed loop feedback between users and the developers resulted in faster fixes and better functionality, raising satisfaction among users and developers.
Perhaps most importantly, the widespread adoption for ERP functions has made Deere’s system more future-proof. The ability to deliver functionality in thin slices should keep the system from becoming obsolete in the way that a system upgraded only once every few years might become. The closer connection between users and developers should allow Deere’s ERP to be more responsive to the evolution of its business. Taken together, both of those qualities make an ERP system more resilient to change, better able to adapt to rapidly evolving market conditions and business strategy.
Deere’s experience suggests some common elements that industrial companies can follow to use agile to upgrade ERP.
Make agile part of the culture. Ensure that the business and technology have clear communication lines. Dedicated scrum masters and agile coaches reinforce training.
Invest in technologies that make agile easier. Reorganize technology teams along a product model and invest in cloud technologies to speed up development.
Release functionality as it’s ready. Even if users have to switch between the new and legacy system in the middle of a process, it’s better than waiting for the entire end-to-end process before releasing. Build necessary interim interfaces (“throw away code”) to help bridge these incremental releases.
Adapt the budget. Change from large budget multiyear programs to funding persistent teams releasing regular functionality improvements.
Embed teams that can prepare for new issues. Ensure that when chaos is introduced into a system, critical components still run.
Steve Berez is advisory partner at Bain & Co. Ganesh Jayaram is chief information officer at John Deere.
The authors would like to acknowledge Florian Braun, Daria Huang, and Brittany Matthews from Bain, and Terry Goerdt, Josh Edgin, and Siva Ganesh from Deere for their contributions to this work.