- Humans are fallible
- The systems we are building can slip into an uncontrollable complexity
- Discipline and professionalism ("Professionalism is a hard term to define, but the goal is high quality software.")
- "Never make excuses for sloppy work."
- There can be "bugs" in the requirements as well
- Safety-critical software systems need very high quality standards
- This makes things slow and cost-intense
- Static analysis tools integrated in the IDE
- automated refactoring
- property-based testing (QuickCheck family)
- "If you look at software development over the past 80 years, it's been a constant move towards better tools:"
- Effective communication across industries and domains => learn e.g. from highly regulated environments
- Share experiences with community
- About the way we work
- Why we work that way
- Useful tools and technology
- Seniors need to train the next generation
- "There's no silver bullet software process or framework, so it's hard to build a licensure test."
- How should you go about building ceritifiably safe systems?