TRUST in software engineering

It seems that every generation needs to relearn the lessons of previous generations. This is equally true in manufacturing, where older engineers are retiring and must pass on knowledge to younger engineers. Unfortunately for manufacturing software, there are actually few lessons that can be passed on.

06/01/2009


It seems that every generation needs to relearn the lessons of previous generations. This is equally true in manufacturing, where older engineers are retiring and must pass on knowledge to younger engineers.

Unfortunately for manufacturing software, there are actually few lessons that can be passed on. Much of the knowledge required for robust manufacturing software development is not known to older engineers. The languages, tools, and methodologies for software development have been continually evolving and changing during their careers.

Manufacturing software lessons must come from outside manufacturing disciplines and should come from the software engineering discipline. Many of software engineering’s lessons were acquired through the development of large systems that had lifetimes of dozens of years. This is a familiar situation in manufacturing, even as it is becoming increasingly rare in modern non-manufacturing and non-regulated software systems. Many modern systems are designed for short lifetimes—five years at most before replacement—and it is assumed that the original programmers will be available for maintenance. Fortunately, developers of manufacturing software can learn from traditional software engineering rules.

One of the harsh truths about manufacturing software is that is it not developed by software engineers or computer science majors. We would not regularly ask an electrical engineer to design a mechanical system, or a chemical engineer to design an electrical system, but we often ask mechanical, electrical, and chemical engineers to design and develop software systems. If you are in this situation, you should TRUST software engineering methods.

The “T” represents try-outs and prototypes. Engineering disciplines use physical or mathematical models to understand the basic concepts and relationships of a system. Prototypes perform the same role for software. Prototypes can be throw away try-outs or incremental design elements, depending on your development methodology. However, they should be a common starting point for all projects.

Just because someone has a good concept for a software project does not mean the project is doable. A try-out confirms that the concept is technically feasible. By analogy, in automotive engineering, just because someone imagines a car that gets 300 mpg does not mean that it is feasible. Prototypes prove or disprove the feasibility.

The “R” represents requirements. Once you know that the project is technically feasible, you can write the user, functional, and design requirements. These requirements document what must be done and how the final system must operate in your manufacturing environment.

The “U” represents use cases. While requirements documents are important, they do not document how the software is to be used by the end user. The use cases define normal operating methods, and expected error conditions and responses. The use cases are designed to help the end user understand what will be provided.

The “S” represents source code, standards, and build scripts. Source code should be developed only after you understand the requirements and use cases. It can be developed in small chucks if you follow an agile project methodology, or in large chunks if you follow an iterative or waterfall methodology. Commenting, configuration management, and copyright standards must be applied to all generated code and documentation. Build scripts allow for daily or weekly automated recreation of the project software on a fresh system, eliminating manual errors and configuration issues.

Control Engineering software
The “T” stands for test cases and test scripts. These are the detailed definitions that are used to verify that the software operates as specified under normal and error conditions. Software is not ready for deployment until it has successfully run the test cases. These are the final proofs of correctness.

TRUST in the lessons learned from software engineering and apply them to your projects.

www.controleng.com


Author Information
Dennis Brandl is president of BR&L Consulting in Cary, NC, dbrandl@brlconsulting.com .




The Top Plant program honors outstanding manufacturing facilities in North America. View the 2015 Top Plant.
The Product of the Year program recognizes products newly released in the manufacturing industries.
Each year, a panel of Control Engineering and Plant Engineering editors and industry expert judges select the System Integrator of the Year Award winners in three categories.
A new approach to the Skills Gap; Community colleges may hold the key for manufacturing; 2017 Engineering Leaders Under 40
Doubling down on digital manufacturing; Data driving predictive maintenance; Electric motors and generators; Rewarding operational improvement
2017 Lubrication Guide; Software tools; Microgrids and energy strategies; Use robots effectively
The cloud, mobility, and remote operations; SCADA and contextual mobility; Custom UPS empowering a secure pipeline
Infrastructure for natural gas expansion; Artificial lift methods; Disruptive technology and fugitive gas emissions
Mobility as the means to offshore innovation; Preventing another Deepwater Horizon; ROVs as subsea robots; SCADA and the radio spectrum
Power system design for high-performance buildings; mitigating arc flash hazards
Research team developing Tesla coil designs; Implementing wireless process sensing
Commissioning electrical systems; Designing emergency and standby generator systems; Paralleling switchgear generator systems

Annual Salary Survey

Before the calendar turned, 2016 already had the makings of a pivotal year for manufacturing, and for the world.

There were the big events for the year, including the United States as Partner Country at Hannover Messe in April and the 2016 International Manufacturing Technology Show in Chicago in September. There's also the matter of the U.S. presidential elections in November, which promise to shape policy in manufacturing for years to come.

But the year started with global economic turmoil, as a slowdown in Chinese manufacturing triggered a worldwide stock hiccup that sent values plummeting. The continued plunge in world oil prices has resulted in a slowdown in exploration and, by extension, the manufacture of exploration equipment.

Read more: 2015 Salary Survey

Maintenance and reliability tips and best practices from the maintenance and reliability coaches at Allied Reliability Group.
The One Voice for Manufacturing blog reports on federal public policy issues impacting the manufacturing sector. One Voice is a joint effort by the National Tooling and Machining...
The Society for Maintenance and Reliability Professionals an organization devoted...
Join this ongoing discussion of machine guarding topics, including solutions assessments, regulatory compliance, gap analysis...
IMS Research, recently acquired by IHS Inc., is a leading independent supplier of market research and consultancy to the global electronics industry.
Maintenance is not optional in manufacturing. It’s a profit center, driving productivity and uptime while reducing overall repair costs.
The Lachance on CMMS blog is about current maintenance topics. Blogger Paul Lachance is president and chief technology officer for Smartware Group.
The maintenance journey has been a long, slow trek for most manufacturers and has gone from preventive maintenance to predictive maintenance.
Featured articles highlight technologies that enable the Industrial Internet of Things, IIoT-related products and strategies to get data more easily to the user.
This digital report will explore several aspects of how IIoT will transform manufacturing in the coming years.
Maintenance Manager; California Oils Corp.
Associate, Electrical Engineering; Wood Harbinger
Control Systems Engineer; Robert Bosch Corp.
This course focuses on climate analysis, appropriateness of cooling system selection, and combining cooling systems.
This course will help identify and reveal electrical hazards and identify the solutions to implementing and maintaining a safe work environment.
This course explains how maintaining power and communication systems through emergency power-generation systems is critical.
click me