Making promises
When writing software, we are often not doing so in isolation, but instead to help our company or open source project achieve a goal. Relying on our intuition to tell us whether we're doing a good job is often misleading, as our instinct is affected by all the different biases humans have. Instead, we must measure – collect numbers, watch for patterns, and analyze data.
To demonstrate how well our software is doing, both to ourselves and to others, there are three levels we can think about. The first is the list of possible things we can measure, and these are known as Service-Level Indicators (SLIs). As developers, it is easy to come up with a list of technology-related SLIs, such as:
- The API response time in milliseconds
- A count of the different HTTP status codes
- The number of bytes transferred in each request
However, it is vitally important to include organization-level indicators as well, such as:
-
...