How to Reverse Software Entropy • Saleem Siddiqui • GOTO 2023
Interesting. speech It's about software development and how it relates to physics, or rather the concept of entropy and its growth. For entropy, the author uses a definition from Saleem Siddiqui: A composite mesure of disorder that subsumes qualitative and quantitative measures The author talks a lot about how to understand entropy qualitatively, and then switches to quantitative metrics and notes the following:
- Size (LoC, Number of files, Number of dependencies)
- Volatility
- Cyclomatic complexity
- Coupling and instability
- Cohesion: LCOM, TCC, LCC
Here are five factors that increase entropy.
- Dependecy forest Here the author shows how the creation of a simple react app pulls more than three thousand modules from npm and recalls the famous story about the left pad library, the removal of which broke a bunch of sites.
- Lopsided test strategy Here the author kicks cucumber and bdd in general and talks about the pyramid of testing. (pyramidal).
- Progressive test anemia Here he mentions test coverage, which can be artificially inflated, but it doesn’t make much sense.
- Over-engineering - here is a story about complicated solutions like innovative wipers for cars, about which the author tells. And then the author kicks Kubernetes, or rather those who use it simply for the power of fashion.
- Staff we refuse to foresee An example of the shutdown of U.S. government sites, which led to the shutdown of the NIST site, which features CVE databases that have become inaccessible. As a result, CI/CD paiplanes with vulnerability testing did not work that day. The author illustrates this as an example of a deeper risk management approach:)
#SoftwareArchitecture #Software #Processes #Management #ContinuousDelivery #Engineering #SoftwareDevelopment