Developing Human Machine Interfaces in an Agile environment
Reinier is a consultant at ALTEN (Technology) in the Netherlands. He is currently working as a lead engineer on control interfaces for high-end boiler systems. After ten years of experience with embedded systems he enjoys the challenge not only on a technical-content level, but especially in the development process. In this blog he provides insight into his assignment.
Thorough design and intense validation.
The company of this assignment is a market leader in smart climate and sanitary hot water supply. With R & D centres across Europe, the company develops various modular boiler systems: Dutch gas boilers, French oil boilers and heat pumps, and German combined heat, power and fuel cells. Resulting in a communication platform which is literally a connecting factor. Inside a boiler, generic modules exchange data over a Can-bus via group-wide interfaces. A gas boiler control system developed in the Netherlands can be installed in a housing with a French floor heating module and a German buffer tank, and function as a whole with a minimum of system-specific configuration.
The development process of a boiler follows the waterfall model. Given the nature of the product, this is not so strange: it often concerns incineration plants that have to do their work unnoticed for decades. It is a comforting thought that the combined boiler system in the attic has only been considered suitable after thorough design and intense validation. A service technician, who is on the doorstep every month to install the latest safety features, will make most people probably a little nervous.
The human machine interface
The human machine interface (HMI), the control module of the boiler, on the other hand, is an evolving building block. This off- the- shelf unit must work seamlessly with every existing or new boiler and with all modules in the system. This also means that the HMI must control all systems utilising one software variant. Servicing multiple parallel system projects, each in their own waterfall, is quite a challenge. We accept this challenge by focusing on agile development.
“I am the lead engineer for the MK3, our high-end boiler HMI. In this function I am responsible for the complete cycle from requirements collection to completion. The HMI must comply with the interfaces provided by the boiler system. Interfaces are not easy to adjust or expand because we have to guarantee compatibility with existing installations and spare parts.
We often work towards a concept implementation which we refine over the course of a number of sprints until it is technically and from a user experience acceptable to all those involved. Within the system projects, the stakeholders are constantly working on validating the MK3 in the various laboratories or in the field. Parallel to this, the documentation department starts with a simulated Windows version of the MK3. They are responsible for the translation of menu texts in the MK3. Each sprint we have to deliver for 25 languages and with this Windows version translators and reviewers can directly validate texts within the context of the product.
As a development team, we are becoming increasingly aware that risky preparatory work must be completed before a feature ends up in a sprint. Only then as a team are we able to give our commitment for a delivery. By consistently fulfilling this commitment and with transparency if it is not possible, we strengthen the relationship and trust of our stakeholders. By gradually and locally applying a number of Agile -principles, we are slowly approaching our ultimate goal. That is— giving the stakeholders more insight, predictability and grip so that we jointly develop a product that they are satisfied with.”