Firmware development

FW development cycle

1. Specifications & Requirements:

In this phase, system specifications are gathered through a couple of meetings defining the business requirements of the project. Those requirements are then analyzed by our business experts, Technical experts, and project managers leading to a specifications document. Specifications document defines the concept of operation including use cases, project timeline, quality assurance metrics, delivery, and release structure as well as cost estimation. The document is then converted into technical requirement which reflects the different components involved in that project, API definition, input/output structure, software sequence, and software security. By the end of that phase, the specifications document, as well as the system technical requirements document, are finalized

2. Concept/Design:

In this phase, Technical requirements are analyzed by our technical experts in order to derive software design. Software design will include component diagrams, class diagrams, and component sequence diagrams. The design will also include functional safety decomposition. The proposed design is then linked to requirements and the project delivery/release time plan.

3. Development:

In this phase, implementation of SW components takes place according to the V-model within an agile working model. The Implementation considers using the highest standards (MISRA c++, ISO2626. SPICE, … ). The implementation undergoes several quality checks starting from requirement understanding to component implementation till reaching functions/methods.

4. Quality verification:

In this phase, All tests are conducted as component unit testing, integration testing, acceptance testing, and non-functional testing. Tests are tracked using a set of quality/performance KPIs. Finally, the system functional testing, as well as system testing, are conducted and validated with respect to system requirements and operation concepts.

5. Release:

After fixing all bugs that are identified through the verification and validation phase, The SW product is at that time point ready for release and deployment in the production environment. Then, the maintenance phase (post-production support) starts including new requirements and customer needs that are evolving as well as finding undoubtedly bugs that arise after intensive use of the product.