Marcus Engineering has developed successful electronics hardware for a variety of applications for nearly a decade. ME employs a hardware development process illustrated by the following diagram:
Requirements
Every project Marcus Engineering undertakes starts with the drafting of a System Requirements Specification, which is reviewed with the customer and updated until a satisfactory requirement set is completed and approved. The objective is for all requirements to be consistent, complete, realizable, and verifiable.
Specifications
Specifications begin to narrow and scope the particular solutions intent for the design project. Depending on the complexity of the system, an Interface Requirement Specification (IRS) may also be prepared. Coincident with the SRS, a Hardware Test Plan is prepared for future use.
Design
The SRS (and IRS) informs and governs the next phase, which is the development of a hardware architecture and a design of the prototype electronics. The design process may include multiple iterations of brass board, rapid turn prototypes PCBA, and SPICE simulation.
The design is reviewed for adequacy and technical feasibility and compliance to the requirements set before the coding effort begins.
Test
The unit and module coding phase includes test of individual code units (functions) and peer review for defect capture and adherence to Marcus Engineering coding standards. As code modules are finished, they are integrated and tested until the entire finished software system is ready for requirements verification test. At each point in the testing phases, failures or adverse observations will drive defect reports which may involve reconsidering design aspects or requirements.
Automation
Frequently Marcus Engineering incorporates automated regression testing using automatic build and test tools such as Jenkins. Though not always appropriate, such efforts can enhance reliability of code changes and test coverage.