Inpeco, in collaborazione con Buildo, ha creato un nuovo servizio che automatizza e gestisce da remoto gli aggiornamenti dei software e dei firmware, assicurandone la conformità alle normative sui dispositivi medici.
Inpeco is a world leader in developing automation systems for clinical laboratories. They asked Buildo to design and develop a new software service that integrates with their existing software and firmware. The new software will introduce automated and remote update management of all Inpeco software and firmware within the laboratory.
This required compliance with their Quality process, including requirements management, verification and validation, and, in general, the constraints typical of the medical device delivery process in regulated environments. Buildo’s extensive experience in the field allowed us to deliver the outputs in compliance while minimizing the management burden on the Inpeco internal team, thanks to a structured cross-functional team dedicated to achieving the project goals.
Inpeco’s goal was to find a partner company that could take on software design and development work, ensuring high quality and integrating with their Quality process without causing management overhead. The traditional staff augmentation method was ineffective because it necessitated too much additional effort in managing the additional team. Full outsourcing risked losing control of the assets developed. Buildo provided the right balance between integration and autonomy.
Our first challenge was to understand deeply the specific client domain. Our multiple years of experience in the field of software development for laboratory diagnostics allowed us to onboard quickly and efficiently, ensuring that we meet their standards and requirements within the agreed timelines.
As concerns procedures, our challenge was to understand and manage the quality process (requirements tracking, verification, and validation) to comply with Inpeco’s standards in the regulated field of software development for medical device.
From a product and technical point of view, the software service had to integrate with a large and growing number of existing components and automate processes that are currently manual. This required us to understand and analyze effectively a complex domain and technological environment, within a short project time frame.
We are developing a software solution that will automate the management of remote updates for all software and firmware across the laboratory, helping the Field Service Engineering team complete the interventions. The software was designed following a platform model so that it can integrate with a growing number of heterogeneous laboratory modules. This meant defining standard APIs and data formats and standardizing the existing procedures for software updates. A positive side effect of this is increased sharing of know-how related to these processes among Inpeco teams, mitigating the silos effect.
Buildo fully automated all the verification tests with very few exceptions. The outcome is a verification test suite with high coverage that can be re-executed at a low cost. This has already been useful in the project lifecycle, allowing us to update software dependency versions with confidence.
At the beginning of our partnership with Inpeco, we dedicated ourselves to a phase of research and collaborative design, focusing on understanding the needs within the clinical laboratory automation software sector. Instead of rushing into the design process, we invested time in gaining a deep understanding through extensive user and business research. Central to this effort was the collaboration with a cross-functional team, bringing together users, R&D experts, and business stakeholders from both organizations.
The core objective during this phase was to understand the primary business and user needs alongside the client team. This process helped us identify and prioritize the functionalities that would deliver the most value. Leveraging our expertise in the diagnostic field and drawing from our history of successful collaborations, we ensured that the development was aligned with Inpeco's strategic objectives and addressed the unique challenges of the clinical laboratory automation space. By engaging in a co-design process grounded in mutual understanding and aligned priorities, we were able to develop a solution that precisely meets the sector's needs.
We adapted our internal process to guarantee alignment with Inpeco’s quality processes and, therefore, compliance with the regulatory processes of software for medical device. This included performing risk analysis for safety and cybersecurity risks, tracking software requirements and architectural specifications, developing and executing verification and validation tests, and monitoring their outcomes.
We utilized our expertise to independently manage these processes while ensuring constant coordination with the Inpeco team to guarantee our deliverables complied with all requirements. Our experience also allowed us to bring innovation in specific areas, including validation testing with usability tests.
The software we are developing is a centralized service for managing and distributing software updates to laboratory automation components. This system needs to collect information from and communicate with an increasing number of technologically heterogeneous components.
To accomplish this, we used a platform structure that includes a leading service and several agents. This setup helps us handle technological differences and ensures smooth collaboration between Buildo and Inpeco's internal development teams.
The platform method also supports creating clear interfaces and boundaries, simplifying responsibility division and complexity management. We established a uniform format for update packages and a set of data to detail the software updates. Apart from the technical benefits, this also promotes standardization of business processes and terminology.
When choosing technologies, we aimed to stay consistent with Inpeco’s current stack to avoid any technological splits. To achieve this, we developed the backend service using Java and Spring Boot, followed the Inpeco Design System in the front end, and used the Inpeco test automation framework based on Robot Framework.
While maintaining alignment with Inpeco's technologies, we also aimed to introduce innovations that could benefit other Inpeco projects. We opted for Java 21 in the backend, using its new features like records and sealed interfaces. This approach allowed us to apply our knowledge from Scala to write business logic in a way that is both concise and ensures type safety.
The collaboration between cross-functional teams from Buildo and Inpeco met the demands of high-quality software design and development tailored to the client's needs. By harnessing Buildo's deep domain expertise and adopting a co-design approach, the project has delivered a scalable software ecosystem that enhances operational efficiency, processes standardization, and fosters innovation. The development of a platform model, alongside a commitment to quality assurance and technological synergy, has plenty met the project's strategic goals.
Stai cercando un partner affidabile per sviluppare la tua soluzione software su misura? Ci piacerebbe sapere di più sul tuo progetto.