Colin Breck offers Quality Views to represent the system holistically, describing current investments, highlighting risks, and demonstrating how the system is evolving. They have been useful for communicating within our team, as well as externally, with both technical and non-technical stakeholders. They have been invaluable for aligning our mental models of the system. 2016 article ![]()
Infrastructural software is most often foundational, supporting other services and applications, rather than being the product itself. This can make it difficult to communicate the current state of the software, as well as its evolution, to people who are not intimately familiar with it.
Consider the following fictitious IoT system as the foundation for developing quality views.
Transported image.
source
Size represents the memory, cores, and IO capacity. For example, legacy client load balancers are smaller than the regular clients. Arrows indicate data flow. Line widths indicate message volume. Dashed lines are security trust-boundaries with external systems.
# Evaluation Criteria **Code** Is it well factored, maintainable, extendable? **Tests** Can we change without regressions? Short feedback loops? Do we measure performance, scalability, reliability, or security? **Deploy** Fast? Reliable? Repeatable? In all of dev, test, and production? **Monitoring** Behaving as expected? Anything unexpected? Logging, real-time metrics, dashboards, ad hoc data exploration? **Alerting** If the component is not serving its business function, is an alert generated such that someone can take action, in a timely manner, to rectify the situation? **Security** Threat model? Tests or independent verification? **High-Availability** Redundant? Replicated? Load-balanced? Backups? Restores been tested recently? **Scalability** Can we add or remove instances according to demand? **Risks** Have we lost the domain experts? Do devs know the programming language? Weak security? Single point of failure? Untested scaling? (Entangled dependencies?)
# Systemic Improvements in Quality
Transported image.
source
Transported image.
source
Transported image.
source
.
I think the most valuable aspects of employing quality views are in the discussions that take place in forming the quality dimensions, evaluating the various components, and prioritizing the work. It is the qualitative aspects, involving our intuition and experience, that are more valuable than any set of quantitative metrics. This is not to say that quality views are a replacement for quantitative metrics. Quality views are about facilitating discussions around business value and preparedness. 2017 reflection ![]()