“But Testing Sucks!”
How IBM Is Building a Testing- and Quality-Driven Culture — Despite Internal Resistance
How can we create a performance-, quality-, and testing-driven culture when the company has years of bad habits to break? Is it even possible?
In this talk, learn how IBM has been steering its massive engineering team away from deep-seated resistance to writing tests — or collecting code quality metrics of any kind — through a combination of automation, human psychology, socialization, and education.
Teams of any size can borrow IBM’s experience to get benefits including:
- Strategies to convince teams to start writing tests
- Reducing friction in adopting new practices
- Monitoring quality beyond test coverage
- Automated enforcement of developer etiquette
- Increased visibility of quality metrics
- Battle-tested workflows and DevOps strategies
Additionally, we'll see how this shift has led to better deployment processes, fewer late-night emergencies, and an overall better experience — both for the people using IBM's software and for the developers themselves.
Note(s) to Self:
“Go slow to go fast.”
Share the story of moving from zero testing to a fully-automated suite of tests, code quality analysis, and code reviews.
- GitHub settings to prevent abusing Git
- PR policies
- SonarQube (include the dashboard for non-technical visibility)
- Jest + SuperAgent + Cypress
- Code review culture
- Adjusting metrics to make "write tests later" less common
- Semantic release + commit conventions
- Why checking work is important: https://twitter.com/GarethMarlow/status/938335937142108160/photo/1