Software Different Phases of Embedded Product Development April 10, 2018/ By:jake/ No Comments Embedded systems are becoming more and more prevalent with applications. They are basically the components of large computing units and they are deployed across multiple verticals. In various industries, the embedded products are a mix of software and electronics in the mechanical products. What the manufacturers achieve from this are some unique and innovative features to be offered at competitive prices. There is a complete process for the development of embedded products, which normally starts from the concept. The EDLC (Embedded Product Development Life Cycle) is based on Analysis, Design, and Implementation based approach. This lifecycle poses a lot of challenges in terms of integrating the multi-disciplinary design teams to get to a coherent, synchronized product lifecycle. It requires the enterprises to provide an environment of collaborative development for the electronics, mechanical, electrical, and embedded software technologies to work in tandem. Phases of Embedded Product Development All the phases of EDLC arise from NEED. Once the need is felt, it leads to Conceptualization and based on that, concept analysis is done and the design is finalized, which goes through the development and testing phases, and is finally deployed. Once it is deployed, it needs continuous support and upgradation and with time it becomes outdated and goes into retirement phase and again the need arises for some better product and the cycle continues. Let’s see each phase in detail. Need: The need can arise from a person, a group or persons, a particular company or an industry as a whole. It is the basic ingredient that is required to initiate the embedded product development lifecycle process. Based on this need, a concept proposal is prepared. This need can be something that is new and not tried before. It can be of Product Re-Engineering or even Product Maintenance. Conceptualization: It is during this phase that factors like feasibility study, cost-benefit analysis, product scope etc. are discussed. The management examines various reports on total development cost and the profit expected out of it and decides if it is feasible to go ahead with the project. Various plans like Resource Planning and Risk management are also discussed during this stage. Analysis: Once the concept stage passes through, Analysis stage steps in where the product is discussed in detail. Things like inputs, outputs, processes, and interfaces are analyzed and documented at a functional level. The major requirements that are addressed in this phase are: Functional capabilities like the product performance Both the operational and non-operational quality attributes The product’s external interface requirements Various data requirements Compilation of user manuals Operational and maintenance requirements General assumptions Design: This is a very important phase, which not only identifies the application environment but also creates an overall architecture. Designing of any product starts with a PDD (Preliminary Design Document). It can be considered as a black box, which defines all the inputs required to create an output. Once it is finalized, the exercise of creating Detailed Designing Document starts. It comprises of: Operations manual design Maintenance Manual Design Product training material design Testing Plan and Process: Once the product is developed, it goes through the testing procedures. It requires: Unit testing where individual modules are tested Integration testing, which requires the testing of a group of modules that are needed for a particular function System testing, which involves testing of the product’s functional parts after the integration is done User acceptance testing, which is very critical as the product needs to meet the end user expectations. Deployment: Once the testing is performed successfully, the first launch of fully functional model happens in the market, which is also called FCS (First Customer Shipping). This phase includes the deployment schedule; a brief description is given about the product, which includes the details of extra features that are supported. After the launch, it’s important to get reviews from the market to assess if the product was a success or a failure. Support: When the product reaches the consumers, the support phase starts, which deals with the product’s operational and maintenance part in real life scenario. This involves: Identification and rectification of bugs, which leads to release of upgrades Setting up of 24×7 support system The final phase in EDLC is retirement/disposal, which happens with time and the need arises again. With this, the whole cycle of embedded product development restarts.