Pull to refresh

Comments 19

Как по мне, архитекторы не нужны. У нас архитектуру сервисов пишут те же инженеры, которые будут ее имплементировать, вне зависимости от грейда - и это замечательно работает.

Более того, выскажу еще более непопулярное мнение - все это вертикальное разделение труда - на программистов, тестеров, админов, архитектов - не нужно и вредит.

Ну вот посмотрите, программист - он инженер, и тестировщик- он инженер. Архитектор - он тоже инженер. Когда у меня спрашивают, чем я занимаюсь - я гордо отвечаю что я инженер. Но термин 'архитектор' - он явно выделяет чем инженер занимается.

А будет ли писать архитектуру инженер который будет её имплементировать, или специально выделенный архитектор - уже зависит от масштаба компании, объёма задачи и вообще количества задач. Потому что программист все-таки должен программировать, а тестировщик тестировать, хотя оба умеют и то и другое.

Разделение труда должно быть.

Вертикальное разделение труда ведет к майндсету «к пуговицам претензии есть?». Архитектор плюет на всех из своей башни из слоновой кости, программисты не хотят думать о том, что когда приложение крашится из-за недоступной базы - это не очень удобно и так далее.

На моем опыте, вертикальный овнершип работал и на маленьком, и на большом масштабе. Конечно, требования к инженеру получаются выше, но и растет он быстрее.

Аналогично про универсального инженера и отсутствие выделенных ролей, реален такой диалог:

-нам нужна локументация по проекту;

-мне некогда, я программирую и тестирую.

И при выделении ролей речь в первую очередь идёт не про выстраивание вертикали, а про распределение обязанностей при совместной работе, командной работе.

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

Что значит «некогда»? Эти процессы не происходят одновременно, проектная документация предшествует имплементации, а пользовательская - пишется после.

И если это делается одним человеком или командой, меньше вероятность того что документация разойдется с реальностью, кстати

Ну а когда он все будет делать? Сегодня он спрограммировал, приступил к тестированию. К нему приходят с новой задачей, а он нашёл ошибки при тестировании, у него откладывается подготовка документации и ввод в эксплуатацию. А тут ещё какие-то дедлайны придумали. А тут следующая задача пришла ещё. Конечно при таком подходе инженер многому научится, особенно планированию своего времени, а ещё тому что неплохо было бы чтобы он не один все делал, а с коллективом.

Как говорил один мой знакомый преподаватель, конечно я умею все это делать, но в аутках только 24 часа, а мне бы ещё хотелось поспать!

Так что разделение труда придумали не зря

Что значит «приходят»? Работа включает в себя не только имплементацию, но и проектирование, тестирование и прочие доки. С тем же самым успехом можно аппелировать к тому, что люди и дедлайны приходят прям во время программирования, да.

И никто ж не говорит что над каждой задачей работает строго по одному инженеру, все точно так же работают командами, просто модель владения сервисами вертикальная, а не горизонтальная.

Всего две вещи.

Первая про вертикальную иерархию. Её не придумали люди в целом и менеджеры или архитекторы конкретно. Иерархии предусмотрены природой в пищевых цепочках, социальном устройстве стай и т.д.

Вторая про разделение труда. Крупнейшие промышленные корпорации имеют сложнейшую структуру с максимальной детализацией и жёстким регламентом. Ваш смартфон собран не одним инженером, к нему приложили руку десятки различных подразделений и внешних подрядчиков.

Когда кто-то говорит "мы справляемся без менеджмента" или "У нас в команде полная взаимозаменяемость", для меня это вернейший признак уровня хобби выходного дня или гаражной разработки. Насколько это релевантно в контексте размышлений о роли архитектора?

Ну, мой опыт относится к компаниям масштаба нескольких тысяч инженеров (не всего сотрудников, а инженеров). Это еще гаражная разработка?

Менеджмент тут совершенно не при чем, я говорил исключительно про техническую часть работы. Все это разделение - это кмк вредная сверхспециализация, которая мешает, во-первых, холистическому, системному взгляду на продукт, а во-вторых, размывает овнершип.

Я работал в обеих моделях и по разные стороны баррикад (и кодером, и админом), и вот такая модель, когда человек или команда владеет всем жизненным циклом своего продукта, от проектирования до эксплуатации - на мой взгляд, наиболее здоровая и продуктивная. По сути, на это можно даже с определенной натяжкой смотреть как продолжение идей (оригинального, а не того, во что это в итоге вылилось) девопса и прочих «-опсов», когда стены между отделами совсем разрушились и все смешались.

Интересно, какой процент программистов может между делом active directory поадминить, ну или маршрутизацию правильно прописать?

Если им никогда не было надобности - то никто и не научится. А было бы очень неплохо если бы современные программисты хоть немножечко понимали, как работает сеть :)

• корпоративные архитекторы («enterprise»),

Как по мне, так корпоративный архитектор, т.е. тот который про Enterprise Architecture, вообще может не знать про существование ИТ, поэтому вопрос:

Gregor Hohpe задается в статье: «Должен ли архитектор программировать?»

не имеет смысла. Или тогда нужно всегда и везде уточнять, что речь не про архитектора предприятия, а про ИТ-архитектора предприятия.

Простая Enterprise Architecture. Архитектура компании садоводов

git

EA как минимум общаются с управлением ИТ, знают какие системы есть вообще и эксплуатируются, а также знают сколько стоит внедрение той или иной системы. Т.е. тоже работают непосредственно с ИТ, но больше с бизнес-уклоном.

А про уточнение про какой вид архитектора идёт речь - это да

EA как минимум общаются с управлением ИТ, знают какие системы есть вообще и эксплуатируются,

На предприятии может быть ровно нуль из ИТ, см. мою ссылку выше. ЕА для таких предприятий (которые вообще без ИТ) концептуально мало чем будет отличаться от предприятий с ИТ.

Кроме того: информационная система предприятия – это не только ИТ-технологии в привычном понимании, но и вся (не только ИТ-шная) информационная составляющая предприятия, в том числе, которая (информация) существует исключительно в виде бумажных документов и циркулирует в неавтоматизированных процессах. 

конечно же, зачем небольшому ООО "Какая-то фирма" нужен EA. То, что уже сейчас становится видно на отечественном рынке, это то что EA нужен крупным организациям, имеющим большой реестр ИТ, бизнес-процессов, если говорить еще более приближенно - то это компании, которые строят свои экосистемы, возможно те, которые переходят с ПО западных вендоров на отечественные разработки.

Если честно, что значит "нуль из ИТ" не очень понял, как вообще такое возможно, что это за предприятия которые вручную работают в такое время, как они еще существуют на рынке (если, конечно, это коммерческие организации подразумевались в примере).

конечно же, зачем небольшому ООО "Какая-то фирма" нужен EA. То, что уже сейчас становится видно на отечественном рынке, это то что EA нужен крупным организациям,

Основная мысль, которую я пытаюсь донести в т.ч. в Простая Enterprise Architecture. Архитектура компании садоводов - чтобы научиться делать что-то сложное (ЕА крупным организациям) нужно вначале научиться делать простые вещи, например, ЕА для простых предприятий. При этом, наличие в компании ИТ не влияет на общий подход (концепцию архитектуры, EA framework) к построению ЕА.

мысль получена, статью прочитал, отличное донесение идеи ))

Следующая статья будет - популярность EA VS популярность SA

Следующая статья будет - популярность EA VS популярность SA

Следующая - авто построение схем ЕА. Заполнил репозитарий ЕА (БД или табличку Excel), нажал кнопку и картинки ЕА сами нарисовались: по щучьему велению по архитекторову велению

И ещё добавлю, что и книгу читал, и рассуждения строю с точки зрения Solution. Именно в нем мне видится определённая романтика ИТ

Sign up to leave a comment.

Articles