Compare and contrast hardware and software quality assurance practices and determine their effectiveness in a given scenario.
Examples: software development life cycle, DevSecOps, software assessment methods (user acceptance testing, stress test application, security regression testing, code review), secure coding best practices, static and dynamic analysis tools, hardware root of trust, trusted firmware updates