What features must a software project have to consider it production quality?
Welcome to Interrupt. Note that this would have been a good question to ask in a new Topic on community.memfault.com.
I think this really depends on your project & industry. In my opinion, the minimum viable project has a strong specification and a test plan.
Beyond that, I think the following technologies allow companies to ship quality faster, with less risk:
- Revision control
- Code Review
- Automated Builds
- Continuous Integration
- Unit Testing
- Integration Testing
- Automated Releases
I personally insist of these practices being used on the projects I work on. There of course are others that go above and beyond the aforementioned: canary releases, feature flags, automated hardware-in-the-loop tests, automated fuzzing, error monitoring, … and more.
Hope that helps!