К основному содержимому
#SoftwareArchitecture

How to Reverse Software Entropy • Saleem Siddiqui • GOTO 2023

#SoftwareArchitecture #Software #Processes #Management #ContinuousDelivery #Engineering #SoftwareDevelopment

Интересное выступление на тему разработки софта и как это связано с физикой, точнее с концепцией энтропии и ее возростания. Собственно для энтропии автор использует определение от Saleem Siddiqui: A composite mesure of disorder that subsumes qualitative and quantitative measures Автор достаточно много говорит про то, как понять энтропию качественно, а потом переходит на количественные метрики и отмечает следующее

  • Size (LoC, Number of files, Number of dependencies)
  • Volatility
  • Cyclomatic complexity
  • Coupling and instability
  • Cohesion: LCOM, TCC, LCC

Дальше он говорит про пять факторов, которые повышают энтропию

  1. Dependecy forest - здесь автор показывает как создание простого react app тянет больше трех тысяч модулей из npm и вспоминает знаменитую историю про left pad библиотеку, удаление которой сломало кучу сайтов
  2. Lopsided test strategy - здесь автор пинает cucumber и bdd в общем и говорит про пирамиду тестированияя (пирамидальной формы).
  3. Progressive test anemia - здесь он упоминает про test coverage, который можно искусственно завышать, но смысла в этом не много
  4. Over-engineering - здесь идет рассказ про усложненные решения навроде инновационных дворников для машин, про которые рассказывает автор. А потом автор пинает Kubernetes или скорее тех, кто его использует просто в силу моды
  5. Staff we refuse to foresee - пример с отключением государственных сайтов США, что привело к отключению сайта NIST, на котором представлены CVE базы, которые стали недоступны. В итоге, CI/CD пайпланы с проверкой уязвимостей в тот день не работали. Автор показывает это в качестве примера для более глубокой работы с рисками:)

#SoftwareArchitecture #Software #Processes #Management #ContinuousDelivery #Engineering #SoftwareDevelopment