Developer is the best person to know/understand the dark corners after any development/enhancement of enterprise software, compared to QA technician.
Developer can assess the depth/breadth of production problems that can arise from such dark corners.
FOR Quality reasons(only) but not for cost cutting, my new employer does not maintain separate QA team and shifts the responsibility to developer(as better owner) to write/append/automate/validate test cases. So, all new test cases are append to existing test suite, as part of process.
My employer, manufacture network switches with their customised Linux based OS on switch.
At my workplace, the first rule that is followed in regression testing is to avoid regression testing. We avoid regression testing by testing any new testcase written for every feature, on every platform, for every release. If the test fails, then matches the log with database of known failures and points out some fingerprints.
1) Does separate QA team add any value in a software development life cycle?
2) Does it add value for a Quality product delivery, if QA team is formed that has ethical hacking skills? For software products that run on network