Continuous Quality for Python: What, How and Why.
Sanket Saurav (~sanket) |
Continuous Quality or CQ is a software engineering practice in which isolated changes (or deltas) are immediately analyzed for the code’s quality and the properties of maintainability, and reported on before they are added to a code base. Just like CI and CD processes, CQ fits at the start of the software development workflow and helps in systematically ensuring quality of code base.
This talk gives an introduction to CQ for the uninitiated, and dives deep into the need for systemising quality processes in a software project. We'll take examples of quality workflows from some of the most popular open-source projects and draw actionable lessons that can be applied to our own projects directly. Finally, we'll see how to bootstrap a new project with CQ, and how to gradually add it to a large existing codebase without getting overwhelmed.
This talk covers:
- Introduction to CQ, and it's need in modern software development
- Lessons from popular open-source communities: Django, Kubernetes, Elastic, Chromium
- Deciding quality workflows and key metrics for your team
- Setting up CQ on a new Python project
- Setting up CQ on a large existing codebase
There are no technical pre-requisites for the talk: anyone who has experience in writing Python would draw value out of it.