Code quality dimensions

13 April 2023, 1 min read

The aforementioned post Thinking About Code Review was triggered by one of the Twitter threads on CI/CD vs PRs.

The especially interesting part was "Dimensions of Variability" where two dimensions of inspecting the code were mentioned: blocking/non-blocking vs synchronous/asynchronous. The original author's conclusion was:

dimensions-of-variability

This categorization looks really accurate. It took us only a couple of minutes of discussion to bring the Ship / Show / Ask strategy.

When we tried to put ship/show/ask techniques into the "Dimensions of Variability" we got the following result:

ship-show-ask

The quarter worth a few words is the non-blocking and synchronous one. We treat show as a kind of knowledge sharing (with additional benefits like feedback on the solution/code). On the one hand, it does not block proceeding with taking the changes further. On the other hand, the session that is valuable for both sides (the audience and the presenter) is synchronous. It requires gathering in one space (physical or virtual) at one time to show and get feedback. Of course, the form could be asynchronous too. However, our previous knowledge-sharing sessions tell us that the greatest chance for the presenter to get feedback is during or just after the show.


About the authors

Maciej Laskowski

Maciej Laskowski - software architect with deep hands-on experience. Continuous Delivery evangelist, architecture trade offs analyst, cloud-native solutions enthusiast.

Tomasz Michalak

Tomasz Michalak - a hands-on software architect interested in TDD and DDD who translates engineering complexity into the language of trade-offs and goals.

© 2024, Copyright ©HandsOnArchitects.com