Forráskód Böngészése

Merge branch 'master' of u22kulago/ISRPO_Kulago into master

ypv 2 hónapja
szülő
commit
fe31295958

BIN
Лекции/Архитектор_ПО/Pic_1.png


BIN
Лекции/Архитектор_ПО/Pic_2.jpeg


+ 37 - 0
Лекции/Архитектор_ПО/Архитектор_ПО_Вопросы.md

@@ -0,0 +1,37 @@
+
+# Архитектор ПО
+
+Чем отличается работа инженера от работы архитектора ПО?
+
+* **Инженеры работают в одной команде и сосредоточены на реализации, тогда как архитекторы работают на несколько команд и сосредотачиваются на дизайне**.
+* Инженеры отвечают за дизайн, а архитекторы за реализацию.
+* Инженеры и архитекторы выполняют одинаковые функции.
+* Нет различий между инженером и архитектором ПО.
+
+Какие роли может выполнять архитектор ПО в стартапе?
+
+* **В стартапе архитектор ПО часто совмещает свою роль с функциями старшего разработчика или основателя компании**.
+* В стартапе обязательно выделяется отдельная роль архитектора ПО.
+* стартапе нет нужды в архитекторе ПО.
+* хитектор ПО в стартапе занимается только техническими аспектами.
+
+Каковы основные задачи архитектора ПО?
+
+* **Разработка архитектурного решения, анализ требований, риск-менеджмент, коммуникация со стейкхолдерами**.
+* Только разработка архитектурного решения.
+* Только анализ требований и риск-менеджмент.
+* Ни один из перечисленных вариантов не верен.
+
+Какие личные качества важны для архитектора ПО?
+
+* **Любовь к технологиям, предпринимательское мышление, лидерство, обучаемость, умение решать проблемы, коммуникабельность**.
+* Только любовь к технологиям и лидерство.
+* Только предпринимательское мышление и обучаемость.
+* Не имеет значения наличие каких-либо личных качеств.
+
+Как различаются роли архитектора ПО в компаниях разного масштаба?
+
+* **В стартапе архитектор ПО часто совмещает свою роль с другими обязанностями; в растущей компании появляется отдельный архитектор или отдел архитекторов; в корпорации создаются специализированные архитектурные подразделения**.
+* В любой компании независимо от размера роль архитектора одинакова.
+* В корпорациях нет необходимости в архитекторе ПО.
+* В стартапах и растущих компаниях нет потребности в архитекторе ПО.

+ 95 - 0
Лекции/Архитектор_ПО/Архитектор_ПО_Кулаго.md

@@ -0,0 +1,95 @@
+# Кто такой архитектор ПО и как им стать
+
+**Архитектор ПО** — это специалист, ответственный за проектирование структуры и организацию системы или продукта. Роль архитектора в IT-компании включает в себя не только технические задачи, но часто и коммуникационные и организационные обязанности. Также архитектор является промежуточным звеном между бизнес-процессами и технологическими решениями.
+
+Пока что индустрия не может чётко определить эту деятельность как профессию. В общероссийском классификаторе профессий ОКПДТР архитектор встречается скорее ландшафтный, чем программного обеспечения. В вузах вы не сможете найти специальность «*Архитектура программного обеспечения*». 
+
+Границы профессии достаточно размытые, и часто это не профессия и должность, а скорее роль. Задачи разнятся: архитектор должен уметь писать код и документировать его для коллег, в то же время он может коммуницировать с бизнесом и заказчиками, выстраивать стратегию развития компании на годы вперед. 
+
+## Виды архитекторов ПО 
+
+На виды архитекторов можно посмотреть в двух разрезах: 
+
+1. Технологический фокус. 
+
+2. Стратегический фокус. 
+
+Давайте рассмотрим график для наглядности.
+
+![Image](Pic_1.png "Рисунок 1 – график")
+
+### технический архитектор
+
+Начнём с правого нижнего угла — здесь наиболее глубокий технический фокус. Значит, этот архитектор является экспертом в одной или нескольких технологиях. Он действует скорее тактически, чем стратегически, работает над текущими задачами и не смотрит далеко в будущее.
+
+Это может быть техлид или архитектор нескольких выделенных команд. Например, роль архитектора может занимать человек, который долго работал с системой платежей и всё про неё знает. Он разрабатывает архитектурные решения исключительно для небольшого спектра команд — для одной-двух.
+
+### архитектор решений
+
+Если двигаться дальше и добавлять больше стратегического фокуса, получится архитектор решений. Данная роль сочетает в себе технологическую и бизнесовую составляющую и оперирует в широком временном диапазоне. Это значит, что архитектор решений может действовать и тактически, и стратегически: работать над текущими задачами и смотреть в будущее.
+
+При таком сочетании навыков и гибкости фокус смещается, постепенно практические инженерные навыки начинают теряться. Чаще всего архитектор решений работает с большим количеством продуктов и команд.
+
+### корпоративный архитектор
+
+Корпоративный архитектор действует на стратегическом уровне, обеспечивая компанию долгосрочным планом. Он помогает компании уверенно оставаться на рынке и развиваться.  Типовой горизонт планирования составляет 3—5 лет. Фокус направлен на существующие тренды, фундаментальные основы построения организации и технологического ландшафта, а также на управление архитектурой в целом. 
+
+## Роли архитекторов ПО в компаниях разного масштаба
+Роли архитектора в разных компаниях отличаются — они зависят от условий бизнеса и набора задач. Давайте рассмотрим три типа компаний, отличающихся по масштабу.
+
+### Стартап
+Стартапом обычно занимается небольшая команда, которая располагает ограниченным бюджетом. Такие компании целятся на проведение небольших экспериментов и обычно мало беспокоятся о том, что в будущем продукт может измениться или резко получить большое количество пользователей. Из-за этого в стартапах редко встретишь архитектора ПО как выделенную роль — чаще вся команда выполняет эту функцию. Это может быть старший разработчик, основатель компании или сотрудник, который раньше всех начал работать с проектом. 
+
+### Компания на стадии роста
+Компании начинают выстраивать процессы, стабилизировать технологический ландшафт, но всё ещё сохраняют гибкость в принятии решений. Организация становится больше и сложнее на этом этапе, поэтому в ней появляется отдельный архитектор ПО или даже отдел архитекторов.
+
+Примером рядовых задач можно привести следующие: коммуникация с отделом корпоративных архитекторов, защита и пересмотр архитектурного плана, планирование ресурсов на реализацию проекта, выбор технологий, согласование бюджета, декомпозиция проекта в дорожную карту, разработка и поддержание архитектурного решения уровня С2 и С3(набор иерархических абстракций (программных систем, контейнеров, компонентов и кода), набор иерархических диаграмм (системный контекст, контейнеры, компоненты и код)).
+
+### Корпорация
+В крупных компаниях часто существует отдельный архитектурный департамент. В них появляются архитекторы различных специализаций (system, application, data, network, security и т.д.) и вырабатываются архитектурные практики исходя из потребностей организации. Например, архитектор может работать со стандартами, запускать новые направления, работать с сотрудниками и их профессиональными профилями, планировать наперёд необходимые компетенции сотрудников для развития продуктов. 
+
+## Отличия между инженерами и архитекторами ПО
+Хорошего архитектора от хорошего инженера будет отличать mindset — образ мышления, мировоззрение, набор жизненных установок. Чтобы рассмотреть отличия в mindset’е между инженерами и архитекторами, давайте применим ситуационное мышление и разберём на примерах, как себя будут проявлять эти специалисты. 
+
+### Реализация vs Дизайн
+Инженер обычно работает в одной команде, а архитектор работает на несколько команд. Инженер мыслит в терминах реализации, удобства кода, иногда даже его красоты. Архитектор же фокусируется на выявлении исходной проблемы и формировании решения, чтобы её закрыть. Он рассматривает код как результат работы инженера и инструмент в достижении цели.
+
+Другими словами, инженер что-то делает руками, а архитектор находит решения, которые нужно внедрить. 
+
+## Задачи архитектора
+
+* Разработка архитектурного решения — это основная задача и артефакт работы архитектора ПО. Причём решение может разрабатываться как с нуля, так и дорабатываться уже существующее. Если смотреть реальности в глаза, то часто бывает и так, что в работающем продукте не существует решения, и нужно его создать исходя из доступных артефактов (текущих сотрудников, существующего кода, его документации). 
+
+* Анализ требований является первостепенной задачей, которую выполняет архитектор и которая обычно предшествует разработке архитектурного решения. В неё включается сбор требований, таких как функциональные и нефункциональные, их уточнение и приоритизация. Обычно это происходит через коммуникацию с бизнес-аналитиками и другими стейкхолдерами продукта. 
+
+* Риск-менеджмент необходим, чтобы решение получилось надёжным. Мы всегда находимся в неидеальном мире, и случиться может что угодно. Необходимо предусмотреть разные сценарии развития событий, ожидаемых и негативных, и разработать стратегии, посчитав необходимые ресурсы, время, стоимость их реализации. 
+
+* Коммуникация со стейкхолдерами. Архитектор общается с большим количеством разных людей на разных уровнях иерархии компании, собирая требования, разрабатывая решение и внедряя его в команду. Пожалуй, весомая часть работы архитектора — это коммуникация. От качества этой коммуникации во многом зависит успех работы архитектора. Как мы говорили выше, результат его работы — это документация и архитектурное решение, а его внедрение происходит другими коллегами.  
+
+![Image](Pic_2.jpeg "Рисунок 2 – схема")
+
+## Персональные качества архитектора
+
+###  любовь к технологиям
+Человек, имеющий это качество, будет увлекаться технологиями, любить, экспериментировать, что-то пробовать у себя локально. Постоянно делать какие-то проекты, работать с технологиями в свободное время, расширять кругозор. 
+
+### предпринимательское мышление
+
+Архитектор подходит к проекту не только с технической точки зрения, но ещё и с бизнес-подходом. Он понимает, какие сроки реализации проекта, сколько на это нужно денег, как и кого нанимать в команду. 
+
+Обычно в IT две основные траты — это персонал и серверные мощности. Что дешевле и лучше: *закупить высокие мощности* или *«закупить» более скиловую команду разработки*, которая всё заоптимизирует? Это решает архитектор.
+
+### лидерство
+
+**Лидерство** — это про *ответственность* за людей, ответственных за результат. Лидер создает окружение вокруг себя, позволяющее иметь доступ к самой важной и актуальной информации. Вокруг него собираются люди, которые готовы поддержать и которым он со спокойной уверенностью делегирует задачи. Это напрямую влияет на качество принятия решений и на скорость их согласования.
+
+### обучаемость
+
+Существует много смежных областей, включая те, которые напрямую к архитектуре не относятся. Архитектору иногда нужно в них погружаться, поэтому он должен уметь быстро загружать в себя знания, чтобы так же быстро начать их применять.
+
+### умение решать проблемы
+Архитектор умеет подходить к задачам нестандартно. Например, не всегда задачу «разработать систему облачных вычислений» нужно решать через реализацию нового сервиса. Если это корпорация со множеством отделов и технологий, может оказаться, что некоторые департаменты разработали такие системы для себя. Кто-то написал с нуля, кто-то внедрил Open Source и допилил. Тогда хорошим решением может быть адаптация и объединение этих сервисов.
+
+### коммуникабельность
+Архитектор общается с большим количеством других ролей: стейкхолдерами, product-менеджерами, аналитиками, разработчиками и другими. Он со всеми находит общий язык: с технарями общается на техническом языке, с бизнесом — оперирует цифрами, безопасникам рассказывает о том, какие классные стандарты будут внедряться. Под каждую специальность людей у архитектора будет свой язык. Сюда же можно включить культурные аспекты, если мы работаем в международных компаниях: тот же small talk и другие культурные нюансы.
+