Actalent Supports Embedded Software Development for a Medical Device
Results at a Glance
The Client and ChallengeThe customer, a designer and manufacturer of medical supplies and conveyances, creates highly-configurable products that have locking mechanisms to control access. These locking mechanisms include solenoids or stepper motors controlled by embedded software. A set of routines and protocols in the form of application program interfaces (API) are used to call the embedded software functions.
Previously, the client supplied the product with the locking software, and its clients or third-party providers had to develop software for these APIs. To provide a more complete product upon delivery to its clients, the customer needed an embedded systems services partner to design, develop and test API software to run displays, control and access functions. It needed technical guidance and a managed solution to effectively complete this work across the complete software development lifecycle (SDLC).
The Actalent Solution
With the goal to make all of the customer’s products more complete and flexible, as well as provide immediate support to develop and deliver this functionality for a current order, Actalent developed and implemented a managed solution using the following resources:
- Practice experts in embedded systems and software development. This team scoped the customer’s requirements to develop a technical project plan, served as a technical consultant and provided continued solutioning support to assess performance and assist with new problems.
- Robust talent acquisition power, which was used to build a service team locally with the customer, and skill-match resources with the project work requirements to control costs.
- Dedicated embedded systems delivery organization. Actalent’s embedded systems delivery program was responsible for managing the service team and their work outputs, driving on-time delivery and quality. The project was executed on-site to integrate with the customer’s internal team and managed by Actalent to extend the customer’s managerial bandwidth.
The project was delivered in two phases. During the first phase, Actalent’s on-site project lead conducted requirements gathering with the customer to further understand and document the following to develop a PC-based application controlling an embedded device:
- The current state of the software
- The proper functionality and operation of the product
- The desired system and software requirements of the product
Based on requirements gathered, our team created an accurate and detailed schedule for testing and requirements traceability. Testing was conducted to determine what requirements had been fulfilled and what was not working as expected or desired. Code changes were made to correct defects. We also took on a client interface role, directly with the customer’s end client, leading weekly meetings to gather requirements and provide updates.
Software was developed in two-week sprints, and we held sprint reviews with the customer at the conclusion of each. The first version of the software was released on time and we re-validated test procedures to provide the customer with more robust and comprehensive system and integration testing of its existing C# based cabinet control and graphical user interface (GUI) software for six main modules (dispensing, returns, re-stock, waste, emergency dispensing and patient/prescription driven). Since release, we have worked with the end client daily to gather feedback from field use, resolve issues and ensure robustness of software. Actalent’s approach provided the customer with a preliminary software quality management system (QMS). As SDLC activities were executed, processes were introduced and documented, including:
- Configuration management (version control)
- Change management (bug and change requests tracking)
- Requirements development process
- Requirements traceability
- Peer review process
- Risk management
- Project planning
- Field support (engineering change requests from clients)
Actalent’s approach helped the customer stay ahead of its competitors by developing a software platform that can be integrated into multiple products in its portfolio. This platform allows it to offer more complete, ready-to-use products to its clients. We are also setting up a ticketing process for field support issues so the customer’s end clients can submit field issues and the necessary resources can be engaged to resolve.
Deliverables of this project included:
- Software requirement specification (SRS)
- Software validation plan
- Software test cases and reports
- Software requirements traceability matrix (RTM)
- Software source code and executables
SDLC – Architecture/Design, Development, Testing
Software Quality Management and Project Management