emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc. – Telegram
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
3.48K subscribers
119 photos
15 videos
22 files
1.14K links
Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, Extreme Programming, SDLC, Agile, etc.

Chat: https://news.1rj.ru/str/emacsway_chat

Persistence: https://dckms.github.io/system-architecture/
Download Telegram
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
В последнее время очень популярными стали обсуждения в стиле Agile vs. Architecture. Давайте посмотрим, что говорит по этому поводу Agile Manifesto. Некоторые из принципов Agile Manifesto ( https://agilemanifesto.org/principles.html ): 📝 "Изменение требований…
Kent Beck о роли Архитектора в XP (Agile) команде:

📝 "Architects

Architects on an XP team look for and execute large-scale refactorings, write system-level tests that stress the architecture, and implement stories. Architects apply their expertise a little bit at a time throughout the project. They direct the architecture of the project throughout its evolution. The architecture for a little system should not be the same as for a big system. While the system is little the architect makes sure the system has just the right little architecture. As the system grows, the architect makes sure the architecture keeps pace.

Making big architectural changes in small, safe steps is one of the challenges for an XP team. The principle of the alignment of authority and responsibility suggests that it is a bad idea to give one person the power to make decisions that others have to follow without having to personally live with the consequences. Architects sign up for programming tasks just like any programmer. However, they are also on the lookout for big changes that have big payoffs.

Tests can communicate architectural intent. I talked with the architect of a major credit card processor who said that in such a high-capacity environment you don't want any architecture that might get in the way. To achieve this his team had a sophisticated stress testing environment. When they wanted to improve the architecture they would first improve the stress tests until the system broke. Then they would improve the architecture just enough to run the tests.

I suggested this strategy to an architect at another company. He complained of spending all of his time writing specifications and then explaining them to developers. He was frustrated that he didn't have time to code any more. I suggested he write a testing infrastructure and then use tests instead of specifications and explanations. If he saw a hole in a design he should write a failing test to point it out. I wasn't able to convince him to try the idea, but I still think it's valuable.

Another task for architects on an XP team is partitioning systems. Partitioning isn't an up-front, once-and-for-all task, though. Rather than divide and conquer, an XP team conquers and divides. First a small team writes a small system. Then they find the natural fracture lines and divide the system into relatively independent parts for expansion. The architects help choose the most appropriate fracture lines and then follow the system as a whole, keeping the big picture in mind as the groups focus on their smaller section."

- "Extreme Programming Explained" 2nd edition by Kent Beck

#Agile #SoftwareDesign #SoftwareArchitecture
Forwarded from Экспресс 42
Отчет о состоянии DevOps в России 2020

Компания Экспресс 42, совместно с конференциями Олега Бунина (Онтико), провели первое исследование состояния DevOps в России. Мы давно вынашивали эту идею, так как понимали, что исследования других компаний не дают ответов на вопросы, как DevOps развивается у нас в России. 

В течении августа 2020 мы опросили 889 специалистов и руководителей из разных регионов, отраслей и компаний.  В результате получили срез по текущему состоянию инженерных практик и инструментов, проверили гипотезы, как DevOps влияет на производительность и показатели компаний, сравнили результаты с предыдущими исследованиями, выявили тренды развития.

В отчете за 2020 год вы узнаете про следующие темы:

1. Использование ключевых DevOps метрик;
2. Сравнение ключевых метрик с показателями эффективности компаний;
3. Планы компаний на следующий год;
4. Популярные DevOps инструменты;
5. Применение DevOps практик:
1. Платформа как сервис;
2. Инфраструктура как код;
3. Непрерывная поставка и интеграция;
6. Как внедрять и развивать DevOps практики и инструменты;
7. Как связаны Agile и DevOps.
 

Скачайте отчет о состоянии DevOps в России 2020 прямо сейчас!
В последнее время часто поднимаются вопросы на тему Роль vs. Должность, Знания vs. Титулы. И мне, почему-то, вспоминается отрывок из фильма "Доктор Хаус", 3 сезон, эпизод 7:

"Когда мне было 14, мой отец был в Японии. Мы занимались скалолазанием с парнем из школы. Он упал и поранился, и мне пришлось отвезти его в больницу. Мы прошли не в тот вход, и попали в фойе. Там был уборщик. У моего друга была инфекция и... доктора не знали, что делать. И они привели... уборщика. Он был доктором. И Бураку. Одним из японских неприкасаемых. Его предки были... убийцами, копателями могил. И этот парень, знал, что его не примет персонал больницы. Он даже не пытался. Он не одевался хорошо. Он не притворялся одним из них. Люди, которые управляли этой больницей, они не знали, что у него было всё, что они хотели. Пока он не понадобился им. Потому что он был прав. Что означает, что ничто другое не имеет значения. И они должны были его слушать. Спасибо."

#Career
Craig Larman:

📝 "Первые две книги по LeSS подчеркивали: в продуктовой разработке нет такого понятия как “лучшие практики” - есть только практики, применение которых целесообразно в конкретном контексте.

Практики ситуационны, и беспечное объявление их “лучшими” отрывает их от мотивации и контекста. Они превращаются в ритуалы, и навязывание так называемых “best practices” убивает культуру обучения, задавания вопросов, вовлечения и непрерывных улучшений. Зачем людям искать чего-то лучшего, если все уже придумано за них?"
- "Знакомство с LeSS" by Craig Larman
https://less.works/ru/less/framework/introduction

См. также: "Серебряной пули нет".

#Agile #SoftwareDesign
В одном из архитекторских чатах поднимался вопрос автоматизации архитектурного надзора. Есть надежда, что эти ребята реализуют его в обозримом будущем:

"Ability to control drift between reality and diagrams: Static code analysis allows writing tools that compare the software models with actual code to detect discrepencies (this repo does not provide such a tool at this time)."
- https://github.com/goadesign/model

Вообще, у ребят неплохая экосистема для описания архитектуры и генерации кода по описанию:
"Goa is a Go framework for writing microservices that promotes best practice by providing a single source of truth from which server code, client code, and documentation is derived."
- https://goa.design/learn/introduction/

#Golang #SoftwareArchitecture
"The Difference Between a Story and a Task" by Mike Cohn
https://www.mountaingoatsoftware.com/blog/the-difference-between-a-story-and-a-task

Если кому некогда читать, то Ron Jeffries уже дал краткий "пересказ" 🙂:

📝 "the difference between a story and a task is like the difference between pants and underpants: only one of them is a public matter."
https://twitter.com/RonJeffries/status/1314273610148777985?s=19

#Agile
На DotNext 2020 Moscow выступит Владимир Хориков (@vkhorikov) — эксперт и автор курсов по Domain Driven Design.
В своем докладе он разберет самые важные аспекты DDD и поможет глубже его понять.

Подробности и билеты: https://t.co/aojAA87L7C

https://dotnext-moscow.ru/2020/msk/talks/23lzgqtlrzsf5b23becvyn/

#DDD