Architecture
In the previous post, I discussed the rise of OSS, the positive effects it had and how it changed software development. At the end of the post I mentioned that also some misconceptions sneaked in. These I will discuss in this post.
When I started to discuss accidental complexity on the architectural level in my “Simplify!” blog series, I quickly realized that I needed to discuss Open Source Software (OSS) first as it often acts as a driver of accidental complexity on the architectural level today.
In the previous post, I mentioned the second law of program evolution that Lehman described in his paper Programs, life cycles, and laws of software evolution
Last week I stumbled upon a nice quote from Corey Quinn that I shared via Twitter:
In the previous part of this series I discussed why reusability is a false friend in distributed systems and thus should not be used to sell distributed architectural approaches. Additionally, I discussed the difference between “usable” and “reusable” assets and why you should strive for “usability” in distributed approaches like, e.g., microservices.