This is more like a discussion than a problem to be solved. I hope this is the right forum because a lot of it is related to testing.
According to my experience, these are critical pieces which should be in good health for a robust software:
Proper coding (layers, correct logic, coding conventions etc)
Functional testing for + and - cases
Compatibility across browsers
Testing in concurrent user environment
Testing transactional nature of software
Consistency in look and feel across site
Performance, load and stress testing
Proper database design (constraints, primary keys, naming conventions, data types, normalization etc)
Server log scan (to make sure log is capturing optimized information [neither less nor more], no behind the scene exceptions are there which are ignore on presentation layer etc)
Monitoring system resource utilization by software (CPU, memory, swap space, i/o)
Proper folder structure
Code Versioning Review
Cross device compatibility (mobile, ipad, laptop etc)
Machine configuration optimization
If you can think of more pieces please add.
My question is what comes under who's responsibility? Which items are responsibility of test engineer, and others are of whom?