<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://lib.custis.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pavel.vinogradov</id>
		<title>CustisWiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="https://lib.custis.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pavel.vinogradov"/>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Pavel.vinogradov"/>
		<updated>2026-05-01T12:35:33Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.26.4</generator>

	<entry>
		<id>https://lib.custis.ru/index.php?title=%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D0%BE%D1%80_%D0%B2_Agile_(%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B0_AgileRussia.ru_2010-03-24)&amp;diff=16743</id>
		<title>Архитектор в Agile (встреча AgileRussia.ru 2010-03-24)</title>
		<link rel="alternate" type="text/html" href="https://lib.custis.ru/index.php?title=%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D0%BE%D1%80_%D0%B2_Agile_(%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B0_AgileRussia.ru_2010-03-24)&amp;diff=16743"/>
				<updated>2010-06-01T12:04:32Z</updated>
		
		<summary type="html">&lt;p&gt;Pavel.vinogradov: Fix Feature|Test DD link name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Собрание прошло успешно, хотя и несколько сумбурно — по всей компании  пришлось собирать стулья,&lt;br /&gt;
чтобы усадить всех желающих. В этот раз объявление о собрании было  опубликовано на http://habrahabr.ru,  оно вышло там «на главную» и получился «хабраэффект» зарегистрировалось более ста восьмидесяти  человек. &lt;br /&gt;
&lt;br /&gt;
Даже с  пессимистичной оценкой вероятности прихода в 50 %, получалось, что будет  около сотни человек и в нижний зал они не поместятся, а новый зал был  еще не готов (висел только один экран из двух, проекторов не было ни  одного, штор не было, кондиционеры не работали и было только 20 новых  стульев). Пришлось выкручиваться — забрали все стулья, принесли переносной проектор,  открыли окна и выключили солнце (собрание было слава-богу вечером).  По оценкам числа оставшихся стульев и вместимости подоконников,  участников было более сотни.&lt;br /&gt;
&lt;br /&gt;
В общем, были неудобства, к следующим встречам планируем сделать и кондиционеры, и два работающих проектора, и озвучивание зала микрофонами с колонками.&lt;br /&gt;
 &lt;br /&gt;
Далее приведем краткое резюме обсуждение, и как обычно — майндмап-конспект и видео (видео можно [[Видеотека#2010-03-24 «Архитектор в Agile»|скачать]]).&lt;br /&gt;
&lt;br /&gt;
Сумбур также усугубился, что основной модератор дискуссии — Асхат Уразбаев, к сожалению, заболел, &lt;br /&gt;
и ведением дискуссий пришлось заняться Андрею Бибичеву с Никитой Филипповым, и им было нелегко &lt;br /&gt;
управляться с опытными спорщиками из зала.&lt;br /&gt;
&lt;br /&gt;
== Архитектор в Agile: Кто он и зачем? ==&lt;br /&gt;
Сначала дискуссий крутилась вокруг самого определения «[Software] Архитектора». &lt;br /&gt;
Он виделся одновременно как&lt;br /&gt;
* шейпер возможностей: задающий ограничения на техническое решение с одной стороны, и указывающий возможные решения (СУБД-библиотеки-фреймворки-протоколы-интеграция) с другой.&lt;br /&gt;
* фасилитатор, который&lt;br /&gt;
** помощник команды в выборе технологий и в нахождении оптимальных решений;&lt;br /&gt;
** «разводящий» конфликты на стыках &lt;br /&gt;
*** Бизнеса и технологии, хотя является не бизнес-аналитиком, а скорее представителем технической команды;&lt;br /&gt;
*** Функциональных и нефункциональных требований (по сути, опять «business vs. технологии»);&lt;br /&gt;
*** Концептуального видения и командно-тактического.&lt;br /&gt;
&lt;br /&gt;
Судя по репликам из зала, представление об архитекторе плавало от практически «верхнеуровнего» бизнес-аналитика, рисующего ARIS/BPMN-диаграммы (ну или хотя бы набрасывающего очень крупноблочную архитектуру), до &lt;br /&gt;
«микроархитектора» занимающегося иерархией классов и вообще структурами данных.&lt;br /&gt;
&lt;br /&gt;
С другой стороны — его то нагружали функциями управления (или по крайней мере, координации команды), &lt;br /&gt;
то отсаживали отдельно, в элитную «башню мудрецов».&lt;br /&gt;
&lt;br /&gt;
Но все сходились, что архитектор должен быть всесторонне опытным &lt;br /&gt;
* и в разработке;&lt;br /&gt;
* и в руководстве;&lt;br /&gt;
* и в коммуникации;&lt;br /&gt;
* понимать предметные области бизнеса (ну или хотя бы, успешно общаться с бизнес-аналитиками и быстро въезжать в новые темы);&lt;br /&gt;
&lt;br /&gt;
Какова же специфика архитектора именно в Agile&amp;lt;ref&amp;gt;В RUP-то роль архитектора прописана явно, а вот в Agile есть спектр мнений, включая то, что выделенный архитектор — не нужен&amp;lt;/ref&amp;gt;, в agile-координатах ответственности и команды?&lt;br /&gt;
&lt;br /&gt;
И вообще, когда (в Agile) появляется: &lt;br /&gt;
* Необходимость в архитекторе? — от размера команды это, похоже, напрямую не зависит, а зависит именно от размера проекта. &lt;br /&gt;
* И какая на нем будет личная ответственность, выпадающая «за сферу» коллективной ответственности команды?&lt;br /&gt;
&lt;br /&gt;
Кстати, практически сразу выдвинулся представитель, скажем так, RUP-подхода, &lt;br /&gt;
[http://dbezuglyy.moikrug.ru/ Дима Безуглый], заявлявший &lt;br /&gt;
* о неизбежном интеллектуальном неравенстве членов команды; &lt;br /&gt;
* о принципиально индивидуальном процессе творчества («мысли рождаются в одной голове»); &lt;br /&gt;
* что минимум потерь будет, если выбор компромиссов доверят только ответственным экспертам;&lt;br /&gt;
* о том, что целостность архитектуры при всех бушующих изменениях, можно поддерживать только если эта архитектура полностью погружена в одну (ну, по крайней мере минимум) голов, а не размазана слухами по всей команде(ам).&lt;br /&gt;
&lt;br /&gt;
Оппонировали ему с позиций Agile-ценностей, о максимальной кроссфункциональности&amp;lt;ref&amp;gt;Поднимите руки у кого есть совместное владение кодом? — лес рук…&amp;lt;/ref&amp;gt;, &lt;br /&gt;
и с позиций, что ответственность в Agile может быть только коллективной, а значит, роль Архитектора — менторская, он должен давать советы и наблюдать за командой, чтобы она не попала в технологический тупик, стараясь передать при этом свои знания &lt;br /&gt;
(понятная метафора — обучение детей, когда без самостоятельности и ответственности обучаемых, &lt;br /&gt;
эффективность будет весьма низка), впрочем, об этом ниже будет подробней.&lt;br /&gt;
&lt;br /&gt;
Соответственно точки обсуждения были:&lt;br /&gt;
* возможно ли коллективное творчество?&lt;br /&gt;
* нужна ли индивидуальная ответственность избранных?&lt;br /&gt;
&lt;br /&gt;
Аргументировали не только личным опытом и представлениями, а также к свежим метологическим статьям,&lt;br /&gt;
как таких зубров, как Мартин Фаулер, так и менее известным [http://www.infoq.com/news/2008/01/agile-architect Are You An Agile Architect?]&lt;br /&gt;
&lt;br /&gt;
В качестве «прорезающего» примера, рассматривали случай больших проектов, когда приходится использовать практики маштабирования (''Scrum-of-Scrum'')&amp;lt;ref&amp;gt;Забавный момент — ключевые спорщики, Никита и Дима, в разное время оба были ''партнерами'' Асхата по внедрению ''Scrum-of-Scrum''. Звучит это несколько пикантно.&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Путь «кроссфункциональщиков» — общие архитектурные решения принимаются на SoS-митингах, куда команды делегируют своих представителей, причем возможно каждый раз разных (это зависит скорее от актуальной функциональности, чем от «крутизны»).&lt;br /&gt;
&lt;br /&gt;
RUP-оппозиция контратаковала:&lt;br /&gt;
;Ошибка Резидента Брукса: единственная ошибка в которой (якобы) признался Фредерик Брукс — «нельзя делать информацию доступной для всех команд».&lt;br /&gt;
;Core Team: Как дополнение/оппозиция для классических Feature Team,  отвечает за «стержневые» библиотеки («ядра») проекта[ов].&lt;br /&gt;
;[http://www.opengroup.org/architecture/togaf7-doc/arch/p4/board/ab.htm Architecture Board]: Выделенный Совет Архитекторов (не «Архитектурная Доска», как думают привыкшие к пробковым SCRUM-доскам), жестко следящий за целостностью проекта, получающий от ''Feature Teams'' списки пожелания и проблем текущей архитектуры и пытающийся найти компромиссное решение (реализуемое ''core team'').&lt;br /&gt;
;Architecture Description: увязка нефункциональных требований (производительность, безопасность, юзабилити), и интересов всех стейкхолдеров (включая пользователей, заказчиков, команду и т.п.).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Контр-контр-атака аджайлистов (Андрей Бибичев, Павел Афанасенков): &lt;br /&gt;
* Максимальная мотивация — дать самостоятельность, дать право принимать важные решения, это круче чем деньги. А регуляция, бюрократия, регламенты — все это убивают.&lt;br /&gt;
* Разные люди в роли архитектора — убирается предвзятость, ''biases'', устраняются перекосы в приоритетах требований.&lt;br /&gt;
* «Патернализм» избранных архитекторов убивает обучение (вышеупомянутый кейс с обучением детей), а рулит маевтика;&lt;br /&gt;
* Архитектор близок к техлиду, а лидерство суть руление коммуникацией, фасилитация общения, иногда даже принуждение;&lt;br /&gt;
* Персональная ответственность — это миф (иначе, ибо ставки архитектурных ошибок высоки, нужно увольнять после пары ошибок, а безошибочных людей не бывает);&lt;br /&gt;
* Да, цена ошибок велика, но персонализация решений — не серебряная пуля, ничего не гарантирует и вообще далека от оптимальность. И вообще, когда цена ошибок велика, нужно применять стандартные методы — управление рисками, привлечение экспертов.&lt;br /&gt;
* Но с Бруксом можно согласится — архитектор должен следить за концептуальной целостностью. Следить, но не запрещать.&lt;br /&gt;
* Резюме — с архитектором можно жить, он полезен, но мешать он не должен ни в коем случае.&lt;br /&gt;
&lt;br /&gt;
== Конспект-майндмап ==&lt;br /&gt;
[[Файл:Архитектор   в Agile.mm]]&lt;br /&gt;
&lt;br /&gt;
=== Видео ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;object width=&amp;quot;640&amp;quot; height=&amp;quot;640&amp;quot;&amp;gt;&amp;lt;param name=&amp;quot;allowfullscreen&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;allowscriptaccess&amp;quot; value=&amp;quot;always&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;movie&amp;quot; value=&amp;quot;http://vimeo.com/moogaloop.swf?clip_id=10577075&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=0&amp;amp;amp;show_portrait=0&amp;amp;amp;color=00ADEF&amp;amp;amp;fullscreen=1&amp;quot; /&amp;gt;&amp;lt;embed src=&amp;quot;http://vimeo.com/moogaloop.swf?clip_id=10577075&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=0&amp;amp;amp;show_portrait=0&amp;amp;amp;color=00ADEF&amp;amp;amp;fullscreen=1&amp;quot; type=&amp;quot;application/x-shockwave-flash&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; allowscriptaccess=&amp;quot;always&amp;quot; width=&amp;quot;640&amp;quot; height=&amp;quot;640&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;object width=&amp;quot;640&amp;quot; height=&amp;quot;640&amp;quot;&amp;gt;&amp;lt;param name=&amp;quot;allowfullscreen&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;allowscriptaccess&amp;quot; value=&amp;quot;always&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;movie&amp;quot; value=&amp;quot;http://vimeo.com/moogaloop.swf?clip_id=10577896&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=0&amp;amp;amp;show_portrait=0&amp;amp;amp;color=00ADEF&amp;amp;amp;fullscreen=1&amp;quot; /&amp;gt;&amp;lt;embed src=&amp;quot;http://vimeo.com/moogaloop.swf?clip_id=10577896&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=0&amp;amp;amp;show_portrait=0&amp;amp;amp;color=00ADEF&amp;amp;amp;fullscreen=1&amp;quot; type=&amp;quot;application/x-shockwave-flash&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; allowscriptaccess=&amp;quot;always&amp;quot; width=&amp;quot;640&amp;quot; height=&amp;quot;640&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Архитектура в Agile ==&lt;br /&gt;
Тут был достаточно беглый обзор новые веяния, сговорившихся иметь схожие до степени смешения аббревиатуры:&lt;br /&gt;
;DDD: [[EnPedia:Domain-driven design|Domain Driven Design]];&lt;br /&gt;
;BDD: [[EnPedia:Behavior Driven Development|Behavior Driven Development]];&lt;br /&gt;
;TDD: [[EnPedia:Test Driven Development|Test Driven Development]];&lt;br /&gt;
;FDD: [[EnPedia:Feature Driven Development|Feature Driven Development]];;&lt;br /&gt;
;VDD: Value Driven Development (по большому счету это маркетинговый  bullshit, но тоже затесался за компанию).&lt;br /&gt;
&lt;br /&gt;
Глупо пересказывать добротную лекцию, но замечу, что техники DDD и FDD в споре предыдущей части об Agile-архитекторе скорее лили воду на мельницу «RUP-партии».&lt;br /&gt;
&lt;br /&gt;
А для тех, кто заинтересовался более подробно, рекомендуем &lt;br /&gt;
* [[Тренинг Андрея Бибичева по  «DDD» (2010-03-03)]].&lt;br /&gt;
* [[AgileDays-2009 (Technical  excelence)#Обзор  Feature-Driven  Development и  Domain-Driven Design|«Обзор Feature-Driven  Development и  Domain-Driven Design»  на AgileDays-2009]] &lt;br /&gt;
*  «Проектирование больших ИС в Agile» на SECR-2009: [http://www.slideshare.net/biBIGine/agile-2382913 статья],  [http://www.slideshare.net/biBIGine/agile-2382889 слайды].&lt;br /&gt;
&lt;br /&gt;
=== Видео ===&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;object width=&amp;quot;640&amp;quot; height=&amp;quot;640&amp;quot;&amp;gt;&amp;lt;param name=&amp;quot;allowfullscreen&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;allowscriptaccess&amp;quot; value=&amp;quot;always&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;movie&amp;quot; value=&amp;quot;http://vimeo.com/moogaloop.swf?clip_id=10578348&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=0&amp;amp;amp;show_portrait=0&amp;amp;amp;color=00ADEF&amp;amp;amp;fullscreen=1&amp;quot; /&amp;gt;&amp;lt;embed src=&amp;quot;http://vimeo.com/moogaloop.swf?clip_id=10578348&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=0&amp;amp;amp;show_portrait=0&amp;amp;amp;color=00ADEF&amp;amp;amp;fullscreen=1&amp;quot; type=&amp;quot;application/x-shockwave-flash&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; allowscriptaccess=&amp;quot;always&amp;quot; width=&amp;quot;640&amp;quot; height=&amp;quot;640&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Выбор тем для следующей встречи AgileRussia ==&lt;br /&gt;
&lt;br /&gt;
Демократичный процесс выбора темы для следующей встречи сообщества.&lt;br /&gt;
&lt;br /&gt;
Спойлер — победила тема «Инструменты в/для Agile».&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;object width=&amp;quot;640&amp;quot; height=&amp;quot;512&amp;quot;&amp;gt;&amp;lt;param name=&amp;quot;allowfullscreen&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;allowscriptaccess&amp;quot; value=&amp;quot;always&amp;quot; /&amp;gt;&amp;lt;param name=&amp;quot;movie&amp;quot; value=&amp;quot;http://vimeo.com/moogaloop.swf?clip_id=10457833&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=0&amp;amp;amp;show_portrait=0&amp;amp;amp;color=00ADEF&amp;amp;amp;fullscreen=1&amp;quot; /&amp;gt;&amp;lt;embed src=&amp;quot;http://vimeo.com/moogaloop.swf?clip_id=10457833&amp;amp;amp;server=vimeo.com&amp;amp;amp;show_title=1&amp;amp;amp;show_byline=0&amp;amp;amp;show_portrait=0&amp;amp;amp;color=00ADEF&amp;amp;amp;fullscreen=1&amp;quot; type=&amp;quot;application/x-shockwave-flash&amp;quot; allowfullscreen=&amp;quot;true&amp;quot; allowscriptaccess=&amp;quot;always&amp;quot; width=&amp;quot;640&amp;quot; height=&amp;quot;512&amp;quot;&amp;gt;&amp;lt;/embed&amp;gt;&amp;lt;/object&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категория:Собрания AgileRussia.ru]]&lt;br /&gt;
{{replicate-from-custiswiki-to-lib}}&lt;/div&gt;</summary>
		<author><name>Pavel.vinogradov</name></author>	</entry>

	</feed>