Setting requirements is much needed to have clear objectives during the project. A project plan can only be made when the requirements are given. Some open ends, e.g. “nice to have” may be introduced. Specific care must be given to the feasibility of requirements. If research is needed to establish the feasibility, then this research is to be done in a separate research project and it should not be done in a product development project. In the latter case the outcome of research (and not project management) would steer product development.
Complete specification of requirements may be too much work, or some requirements are not yet known. One can opt for a more “agile” approach in which the customer has regular meetings with the designers to fill in the gaps. The danger of scoop creep and budget overspending is high in this case, and has to be monitored continuously by the project management.
Global design – detailed design
The architecture of the system results in a global design. Off the shelve components need to be selected, e.g. chips, sensors, and mechanical components. Complex components need to be studied and for each a specification must be made, detailing how this component interacts with the rest of the system. The a detailed design must be made, and often a prototype is based on such a design.
Prototyping usually starts after the global design has been completed and modeling work is completed. Product development is constrained in budget and time, and therefore it is important to avoid iteration cycles in the prototyping phase. Waiting on the production of the electronics for a prototype can also cause delays. Therefore’, we have optimized our process and implemented a method for rapid prototyping. Prototype designs are reviewed by well experienced engineers, and prototype are build in such a way that modifications are possible. Often, the final design can be directly realized using the a single prototype cycle.
PC applications and embedded software is developed starting with the requirements requested by the customer. Programming of the FPGA’s is a specific task and is always done by an engineer specialized in embedded systems. Often, software is needed to make a prototype work. This means that there may be much interaction needed between prototyping and software development.
Toevoegen: Plaatje van Vivado
A design is complex when it requires one or more of the following:
- mathematical modeling
- development of advanced signal analysis
- unusual high speed, accurate, miniaturized, or ultralow power electronics
- unusual robustness
- unusual compliance with codes and standards
These elements have to be addressed separately in an appropriate phase of the design process. For instance modeling may be carried out at an early stage, whereas, making the design robust, may be planned later on in the process.
Actually less work needs to be bone if the previous phases have been done thoroughly. Why not considering manufacturability and e.g. performing EMC tests in the prototype phase? Final documentation, version control, certification, and e.g. preparations for a first series of products are important in this phase.