A couple of years ago, I had the opportunity to meet the CEO of The Mathworks, one of the world greatest and most successful software vendors. His favourite book was “The Toyota Way” by Jeffrey Liker, about the managerial approach and production system of the car manufacturer. That’s how I discovered the concept of the software factory.
A software factory is a set of processes and tools that can produce repeatable, high-quality, consistent and low cost software programs. It borrows many good properties from the manufacturing world, such as objectively measuring quality and using tools that produce consistent results.
Interestingly, developing industrial automation software and PLC programs has long been considered a craft rather than an industry. Programmers were non-replaceable heroes mastering the secret knowledge of Ladder and Sequential Function Chart programming.
Today, Industry 4.0 requires a more formal approach. Programs become more complex and quality requirements for certification are more important than ever. That’s why I believe it’s time to adopt Software Factories for Industrial Software.
For an organisation (system integrators, end users, machine builders), that means increasing the maturity of its development teams, relying on tools inspired from other software science domains and sharing knowledge with the industry by way of standards. It also means promoting reusability with component based approaches and continuous integration to automate systematic tasks such as testing, version control, traceability and documentation.
This is basically what we do at Itris when we work with PLCopen and CSIA industry wide organizations to turn their extensive expertise into tools that can be used by automation engineers. And to keep improving the development processes in industrial automation, we definitively need feedback to implement the spirit of the lean manufacturing … as with the Toyota Way.
So, have you been adopting formal development approaches and tools for your projects? What are your most memorable successes and failures? What kind of best practices would you like to share with your peers?
Eric Pierrel is the CEO of Itris Automation Square, a software vendor that offers software development tools for programmable logic controllers. Itris tools help developers write better code faster thanks to automatic program conversion, quality verification and reverse engineering. With 13 years experience in the embedded and industrial automation software industry, Eric is also deeply connected with the software innovation community as vice president of the Minalogic global competitive cluster in Grenoble, France.