The Fooda engineering team loves to solve problems and we're enthusiastic about finding new and improved ways to work together. With that attitude, the team was able to make serious progress with improvements.
The development team strongly believed that test driven development (TDD) was the way to go. During weekly lunch & learns, engineers gave presentations on how to write good tests and how to incorporate TDD into day to day coding.
We migrated the devops stack to Kubernetes running on AWS; created internal tooling to automate testing and deployment steps, and trained engineers how to navigate their own devops issues.
All regression testing has been automated and all new features ship with automated tests. Various levels of unit and integration tests are automatically running on proposed code changes. Today we only need two QAs for twenty engineers and we're deploying multiple times per day in just 15 minutes.
In addition to TDD, we established monitoring and alerting as the cornerstones of the development process. The development team creates health checks, alerting, and dashboards to ensure the health and up time of their own feature sets. Our team finds out about production issues way before a user ever sees them.