Continuous Quality for Python: What, How and Why.

Sanket Saurav (~sanket)


Description:

Background: Quality and security tooling has been around for as long as people are building software, and the modern software development workflow has required the tooling and the processes and tools to evolve with the ever-increasing complexity of the software. CQ is aimed at automating a large part of manual code reviews, so software robustness and quality can be gated while saving developers time. The talk is aimed at understanding this evolution from the origin, learning from how the tools and processes have evolved, and how they fit into the context of modern software development.

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.

Topics covered:

  • 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

Outcomes: Software developers (beginners and veterans alike) and engineering leaders can take away learnings about quality and security review processes from large-scale established projects, and get a fresh perspective of how they can apply these processes in their own projects.

Prerequisites:

There are no technical pre-requisites for the talk: anyone who has experience in writing Python would draw value out of it.

Speaker Info:

Sanket (@sanketsaurav) is co-founder at DeepSource. He’s 50% developer and 50% designer. He’s been dabbling with computers since the age of 10, and had started his first venture at 18. He loves the Web and likes building cool stuff that matter. His languages of choice are Python, Go and JavaScript, and he’s been building production apps using these for the past two years. He’s also spoken at more than 50 events and hackathons across the country on open source technologies including Python, HTML5 and web applications in general.

Sanket also contributes extensively to open-source, with contributions to projects like Django, Celery and Docker, and original Python modules like S3Tree and mimelib.

Section: Developer tools and automation
Type: Talks
Target Audience: Intermediate
Last Updated: