#pAutomator: Dr Michael Gunzert, CodeWrights
Today, our #pAutomator is Dr Michael Gunzert, Unit Manager Technology, CodeWrights (Germany). He has worked on the development of device integration software, integration technologies and digital communications. Currently, Dr Gunzert is responsible for technology, including product development and quality assurance. He is focused on developing exciting new technologies, cloud and IoT solutions. Excerpts from the interview are below…
If you have a similar story you’d like to share, write to us and we’ll get in touch!
How did your career form in this industry? How can you trace the evolution of this industry, keeping in mind the changing dynamics of the digital transformation?
I started as a developer of analytic transmitters at Endress+Hauser. Then, I moved to CodeWrights. Here, I held different positions in development, project management and sales. We grew this company from 5 to 40+ employees within 15 years. Digital communication and device integration have always been the main area of our work. We continuously faced new challenges. However, in our area, the fundamental problems and issues stayed more or less the same. With the development of IoT, I feel the industry is now becoming much more dynamic. We are also willing to question concepts and solutions that have been in place for many years.
Your thesis was on component-based software development. Can you share insights on some of the best practices for component-based developments?
Component-based development means building new software systems or products by using already-existing components. Some fundamental thoughts and principles of how to design components are discussed in the famous paper “On Decomposing Systems into Modules” by D.L. Parnas, 1972. Besides the purpose and scope of the components, the component-based development also needs some common framework or infrastructure. This defines the mechanisms through which components can connect and interact with each other. One can design components for reuse in a certain context and with reasonable quality. In order for component-based development to be successful, it is essential to understand the requirements and constraints of the products you are targeting. The same applies to service-oriented or microservices architectures.
Can you tell us more about your strategy for executing customer projects? What kind of challenges do you face during this phase and how do you address them?
The most important step for me is always to understand the customer’s needs as clearly as possible. What customers initially tell us they want is not always what they really need. This is even more important for projects with more than one customer, like the development of common software components for technology organizations such as FieldComm Group or FDT Group. There, we had to deal with up to 20 representatives of different companies and their mutual interests. Of course, targets and requirements can change during a project. Agile development is a good practice to deal with incomplete requirements and changes. We introduced SCRUM at CodeWrights about 10 years ago. According to our experience, this works very well.
As per your current role, you are responsible for technology, including product development and quality assurance. Can you tell us about the parameters to be considered for executing efficient product development, while at the same time regulating quality assurance?
For efficient product development, quality assurance must be an integral part of the process. Otherwise, you will spend more time and money in the end. In our agile process, our teams perform quality assurance tasks within each sprint. Our quality assurance team supports the development teams in doing this. This ensures that the product meets the defined requirements and acceptance criteria. Also, we automate testing as much as possible. Therefore, every increment of the product is tested. Before releasing a new version of the product to the market, we perform additional interoperability and compatibility tests. The development teams order such tests from the QA team. It is important that all team members have a sense for the quality measures of the product and take responsibility for it.
Speaking of technology, how do you oversee the deployment of cloud and IoT solutions in your area of work?
In the last 15 years, the main purpose of device integration was to enable users to configure a device by using different tools or control systems. Even if device drivers were based on standards, these tools and systems were closed, and usually did not allow to access data from outside.
Cloud and IoT enable completely new uses and demand new solutions. The data of many devices can be collected and recorded over long periods of time. Analyzing this data provides many new insights. Therefore, we developed new solutions to easily access device data of field devices and make it available for cloud applications.
There is a small difference between digitizing and transforming business and processes. Many people today are looking for ways to use digital technology without really understanding how it could affect their business. What’s your take on this?
I think this is true. Digitization enables completely new business models and processes. But it takes time for people to understand and explore new ways of thinking and how they could transform their existing businesses. Also, there are constraints and obstacles that can prevent an immediate change. Processes are usually connected to other processes. Thus, you may need to change them as well or depend on others to change. Also, customers may not be ready yet to accept new business models. Digitizing current businesses and processes seem to be much easier and many may see this as an important step to enable change of processes and businesses in the future.
Finally, what is your advice to the next generation of engineers?
As an engineer, you have great opportunities to shape the world of tomorrow! So welcome and embrace change, keep learning, be creative, try out new things and stay excited. Communicate and cooperate with others, be aware of the things you are doing and their impact and take responsibility for our society and the environment!
Visaya is an open, digital platform for the Process Automation industry, where we are trying to expand the knowledge base and eshop we offer. It would be great to have your comments and feedback on this…
I really appreciate the development of Visaya as a marketplace, online platform and knowledge base specifically for Process Automation. It makes it easier to find and compare products and share information in our industry.