Talk Abstract
Professionalism has two core features, expertise and guarantees. This talk delves into the topic of observability and how professional software developers can guarantee their software works and communicate this to others. It covers the checks to make, the metrics to collect and the documentation to write so developers can prove code works.
Talk Description
This talk looks at the professional guarantees a software developer can provide users, customers and managers to assure them the software they use or purchase works to a reasonable standard.
The talk’s focus is the concept of observability, and how to prove software works without the need to look at the code. It will cover three main areas, the checks to make, the metrics to collect and the documentation to write which all provide software with observability.
Checks: There are two core checks developers should run against code. The most obvious is tests, which includes simple unit tests and more advanced concepts like mutation tests and fault injection. The second group of checks include the various forms of static analysis which can be run against code. This includes linting, mess detection and to code validity checks.
Metrics: The various code checks a developer can run against code will generate a vast array of information which includes metrics which highlight the quality of code. For instance, Complexity Scores show how testable and maintable code is, and Mutation Scores will highlight how well tested code is.
Documentation: To truly provide observability and communicate quality good documentation is required. This includes Semantic Versioning and Release Notes which are a great way to communicate change. Code Comments which guide developers through a codebase and surface information hidden within code. And finally READMEs and Badges which provide a great means to highlight code qaulity metrics, but also provide a place to communicate installation, setup and usage information.
Notes
Professionalism is a topic I care about deeply and I have spent the past few years discussing and writing about issues around this topic.
- Prove Your Code Works: Introduction
- Prove Your Code Works: Documentation
- PHP UK 2019: Test to Break Principles
- The Code Maintainability Test
- The Law of Minimum Cost
- Simple, Fast Development Planning with Requirements, Rules and Examples Spreadsheets
Presented At
- PHP Hants
- PHP Sussex
Slides
Prove Your Code Works: How to Communicate Quality
Professionalism has two core features, expertise and guarantees. This talk delves into the topic of observability and how professional software developers can guarantee their software works and communicate this to others. It covers the checks to make, the metrics to collect and the documentation to write so developers can prove code works.
Videos
TBC