﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Software People</title>
	<atom:link href="http://softwarepeople.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://softwarepeople.ru</link>
	<description>Software People</description>
	<pubDate>Sat, 20 Mar 2010 06:39:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Интервью с автором книги “Балдеющие от адреналина и зомбированные шаблонами”</title>
		<link>http://softwarepeople.ru/blog/2010/03/20/arseneva-interview-adrenalin-junkies/</link>
		<comments>http://softwarepeople.ru/blog/2010/03/20/arseneva-interview-adrenalin-junkies/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 06:39:33 +0000</pubDate>
		<dc:creator>elena</dc:creator>
		
		<category><![CDATA[Peopleware]]></category>

		<category><![CDATA[Project Management]]></category>

		<category><![CDATA[Другое]]></category>

		<category><![CDATA[Методологии]]></category>

		<guid isPermaLink="false">http://softwarepeople.ru/?p=1872</guid>
		<description><![CDATA[В начале прошлого года вышла книга &#8220;Adrenaline Junkies and Template Zombies&#8221;, которая очень быстро была переведена практически на все языки мира, а в конце 2009 года вышла и на русском. 
Авторы книги - Том ДеМарко, Тим Листер, Питер Хрущка, и други эксперты профессиональной организации Atlantic Systems Guild, проанализировали наиболее характерные черты, присущие поведению проектных команд [...]]]></description>
			<content:encoded><![CDATA[<p>В начале прошлого года вышла книга &#8220;Adrenaline Junkies and Template Zombies&#8221;, которая очень быстро была переведена практически на все языки мира, а в конце 2009 года вышла и на русском. </p>
<p>Авторы книги - Том ДеМарко, Тим Листер, Питер Хрущка, и други эксперты профессиональной организации Atlantic Systems Guild, проанализировали наиболее характерные черты, присущие поведению проектных команд (как в успешных, так и в провальных проектах), и представили их в форме 86 паттернов поведения. При этом книга не содержит никаких выводов, осталяя их читателю. </p>
<p>Мы предлагаем вашему вниманию интервью с <a href="http://softwarepeople.ru/sp2010/participants/speakers/hruschka/">Питером Хрущкой</a>.<br />
Питер - докладчик конференции Software People 2010, кроме того, он проведет прочитает <a href="http://softwarepeople.ru/sp2010/seminars/hruschka/">семинар</a> в Москве, Санкт-Петербурге и Минске.</p>
<p><strong>Как Вы встретились с Томом Демарко и Тимом Листером?</strong></p>
<p>В 80-е годы мы с моей командой только завершили разработку инструмента моделирования для структурных методологий, в основу которого легла идея книги Тома ДеМарко «Структурный анализ».  Когда мы представили свою разработку на выставке на конференции в Орландо (Флорида) в 1984 году, Том подошел к нашему стенду, и мы разговорились. После этого я встречался со всеми членами профессиональной организации Atlantic Systems Guild на разных конференциях, и мы стали друзьями. Я перевел книгу Тома и Тима «Человеческий фактор» (Peopleware) на немецкий, мы организовывали конференции в Германии, куда я приглашал членов этой организации выступать с докладами. Таким образом, когда я уволился из моей предыдущей компании в 1994 году они пригласили меня стать членом этой профессиональной организации. С этого момента мы работаем вместе уже свыше 10 лет.</p>
<p><strong>Кто был автором идеи книги о паттернах поведения?</strong></p>
<p>Члены проффессиональной ассоциации встречаются раз в год в каком-то уголке мира, чтобы обсудить новые идеи и проекты. На нашей встрече в октябре 2004 в Нью Хампшире целью было создать «продукт Ассоциации». Будет ли это книга, аудио-записи, веб-сайт или что-то еще? Этот вопрос долго оставался открытым. После пары мозговых штурмов мы пришли к идее написать серию эссе о хороших и плохих вещах, которые мы видели по всему миру. Мы быстро набросали более 100 тем, собранных на маленьких белых карточках (фото Сьюзанны Робертсон). Мы распределили работу, назначили автора и одного или двух соавторов к каждому эссе и разъехались по домам работать над книгой.  </p>
<p><strong>Как вы работали над книгой при такой распределенной команде?</strong></p>
<p>Как я упомянул раньше, мы разделили работу на нашей первой встрече по проекту (kickoff-meeting), таким образом каждый был первым автором около 15 эссе и у каждого была пара назначенных соавторов. Мы следовали простой модели: первый автор предлагал текст, затем это представлялось соавторам для предложения дополнений и изменений, которые отправлялись обратно автору. Когда автор и соавторы соглашались с текстом, он отправлялся всем для комментариев (или наложения вето). Все шесть из нас должны были согласиться с каждым отдельным эссе до того, как оно будет закончено. Книга писалась на трех континентах, в Европе, США и в Австралии – там, где мы работали в это время. Я добавил фотографию во время путешествия на лодке в северной Германии, где я использовал час для коктейля, чтобы написать больше глав.</p>
<p><strong>Использовали ли вы Agile во время работы над книгой?</strong></p>
<p>На самом деле мы вынуждены были начать использовать Agile методы. В первые 12 месяцев после того, как мы создали короткий список эссе, которые мы хотели написать, каждый был так занят на своей работе, что никто не нашел времени писать. Поэтому мы встретились в моем доме в Аахене для нового старта. За ту неделю мы создавали первые главы вместе на основе ежедневных итераций. У каждого было 2 часа после завтрака, чтобы написать черновик, и затем мы использовали остаток дня, чтобы прочитать то, что написано другими, прокомментировать, обсудить и улучшить. Через 4 дня мы получили наброски более чем 20-ти глав. Затем мы согласились что мы будем делать ежемесячные спринты а-ля SCRUM. Каждый пообщал писать главы каждый месяц. Мы договорились о долгих Skype-звонках, чтобы обсуждать наброски. Организовать Skype-звонки было непросто, так как мы жили в разных временных зонах, и иногда находились на так далеко, что кто-то был в Новой Зеландии, кто-то в США на западном побережье, кто-то на восточном побережье и в Европе. Из-за этого кому-то приходилось оставаться допоздна, а кому-то вставать рано. Но использование ежемесячных спринтов двигало проект вперед, так как мы ожидали.</p>
<p>Мы провели несколько дополнительных встреч в Бостоне и Лондоне, чтобы навести последний лоск, выбрать названия и порядок глав, отобрать фотографии и т.д. Как мы упоминали в нашей книге: особенно распределенные проекты очень нуждаются в личных встречах время от времени.На фотографии наша встреча в Бостоне.</p>
<p><strong>Почему, как Вы считаете, люди должны принять участие в Вашем семинаре?</strong></p>
<p>В книге мы описали, какое поведение мы наблюдали во всем мире в IT проектах. Но как лучше реагировать, если вы наблюдаете нежелательное поведение, описанное в книге? И что вы делаете, если думаете, что какие-то поведенческие паттерны очень выгодны для ваших проектов? На семинаре мы коснемся этих вопросов подробно. Вместе с участниками мы попытаемся разобрать лучшие варианты.</p>
<p><strong>Если бы Вы могли дать только 3 совета руководителью проекта, что бы вы сказали?</strong></p>
<p>Номер один: относитесь к вашей команде как к людям, а не взаимозаменяемым частям. Проекты только выиграют от сплоченной команды.</p>
<p>Во-вторых: Попытайтесь назначить каждому участнику команды работу, где она или он может лучше всего используйте свои сильные стороны и навыки.</p>
<p>И последнее в списке, но не последнее по значению: следите за «Манана-горизонтом» каждого участника команды. О том, почему это так важно, вы узнаете на семинаре.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwarepeople.ru/blog/2010/03/20/arseneva-interview-adrenalin-junkies/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SWP-дайджест №16</title>
		<link>http://softwarepeople.ru/blog/2010/03/17/swpdigest-16/</link>
		<comments>http://softwarepeople.ru/blog/2010/03/17/swpdigest-16/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 14:12:26 +0000</pubDate>
		<dc:creator>Software People Team</dc:creator>
		
		<category><![CDATA[SWP Дайджест]]></category>

		<guid isPermaLink="false">http://softwarepeople.ru/?p=1890</guid>
		<description><![CDATA[

Мы уже писали про мульт Максима Дорофеева о появлении водопадной модели разработки. Макс очень хотел, чтобы его мультик увидел Ройс Уокер. История получила неожиданное продолжение – Ройс Уокер приезжает в Москву (!) и 26 марта выступит с пленарным докладом на конференции Enterprise Developers Conference. Интересно, видел ли он уже мультик Макса? Если нет, мы обязательно [...]]]></description>
			<content:encoded><![CDATA[<table width="640" border="0" cellspacing="0" cellpadding="13" align="center">
<tr>
<p>Мы уже писали про <a href="http://softwarepeople.ru/blog/2010/02/09/mdorofeev-the-rise-and-fall-of-waterfall/?utm_source=digest16" target="_blank" onclick="return cfm(this);" ><font color="#094B6A">мульт</font></a> Максима Дорофеева о появлении водопадной модели разработки. Макс очень хотел, чтобы его мультик увидел Ройс Уокер. История получила неожиданное продолжение – <strong>Ройс Уокер приезжает в Москву (!)</strong> и 26 марта выступит с пленарным докладом на конференции <a href="http://www.edconf.ru/?utm_source=digest16" target="_blank" onclick="return cfm(this);" ><font color="#094B6A">Enterprise Developers Conference</font></a>. Интересно, видел ли он уже мультик Макса? Если нет, мы обязательно покажем ему на конференции, чтобы узнать его реакцию.</p>
<hr color="#EDEDED" size="2">
<p>Что делать, если в вашей жизни наступает полоса неудач? Если раз за разом вы не достигаете какой-то важной для вас цели? Чтобы справиться с такой ситуацией, нужно определить причину ваших поражений. О том, как это можно сделать, читайте в статье Натальи Желновой &#8220;Five &#8220;Why&#8221;s как средство анализа вашего поражения&#8221;.<br />
        <em><a href="http://softwarepeople.ru/blog/2010/03/10/five-whys/?utm_source=digest16" target="_blank" onclick="return cfm(this);" ><font color="#094B6A">Читать статью</font></a></em></p>
<hr color="#EDEDED" size="2">
<p>Тем, кто занимается web-разработкой, адресована статья Дмитрия Mezya &#8220;12 полезных дополнений Firefox для Web-разработчиков&#8221;. Эти 12 дополнений - своеобразный &#8220;швейцарский нож&#8221; каждого web-разработчика, который окажется полезен как при разработке небольшого сайта, так и при работе с большим проектом. Если вы еще не знакомы со всеми широкими возможностями плагинов для Firefox, обязательно прочитайте статью.<br />
        <em><a href="http://softwarepeople.ru/blog/2010/03/10/12-useful-firefox-tools/?utm_source=digest_16" target="_blank" onclick="return cfm(this);" ><font color="#094B6A">Читать статью</font></a></em></p>
<hr color="#EDEDED" size="2">
<p>Заключительная часть статьи Роджера Сешнса &#171;Оптимальный путь к корпоративным архитектурам&#187; посвящена обзору существующих корпоративных архитектур и анализу лучших практик их построения.</p>
<p>        <em><a href="http://softwarepeople.ru/blog/2010/03/09/optimal_way_to_corp_arch_3/?utm_source=digest_16" target="_blank" onclick="return cfm(this);" ><font color="#094B6A">Читать статью</font></a></em></p>
<hr color="#EDEDED" size="2">
<p>В своей статье &#8220;Обширная практика как тормоз мышления&#8221; Денис Петелин предостерегает нас от шаблонного мышления, формирующегося у специалистов на основе анализа негативного опыта – и своего, и (преимущественно) чужого.<br />
        <em><a href="http://softwarepeople.ru/blog/2010/03/06/practice_is_a_brain_brake/?utm_source=digest_16" target="_blank" onclick="return cfm(this);" ><font color="#094B6A">Читать статью</font></a></em></p>
<hr color="#EDEDED" size="2" />
<p><strong>События:</strong></p>
<p>Конференция <a href="http://softwarepeople.ru/sp2010/?utm_source=digest16" target="_blank" onclick="return cfm(this);" ><font color="#094B6A">Software People 2010</font></a> и <a href="http://softwarepeople.ru/sp2010/seminars/hruschka/?utm_source=digest16" target="_blank" onclick="return cfm(this);" ><font color="#094B6A">семинар Питера Хрущки</font></a> (Минск, Санкт-Петербург, Москва)</p>
<p>На конференции Software People 2010 вы сможете не только пообщаться с коллегами и собрать кучу визиток, но и услышать интересных докладчиков из США, Великобритании, России, Эстонии, Белоруси. В частности, вы услышите доклад Дона Сайма, автора языка F#, который впервые приедет в Россию. Дон Смит, архитектор из команды Patterns and Practice Microsoft специально для нашей конференции пообщался с 70 архитекторами разных компаний, чтобы подготовить доклад о конфликтах в команде.</p>
<p>Кроме того, Питер Хрущка, автор новой книги о шаблонах поведения в команде проекта&#171;Балдеющие от адреналина и зомбированные шаблонами&#187;, которая вызвала огромный интерес во всем мире (что и неудивительно, когда в числе авторов легендарные Том ДеМарко и Тим Листер), не только выступит с <a href="http://softwarepeople.ru/sp2010/participants/speakers/hruschka/?utm_source=digest16" target="_blank" onclick="return cfm(this);" ><font color="#094B6A">докладом</font></a>, но и проведет 8 часовой семинар в трех городах:</p>
<p>19 апреля, <strong>Минск</strong><br />
        21 апреля, <strong>Санкт-Петербург</strong></p>
<p>        24 апреля, <strong>Москва</strong></p>
<p>Все семинары и доклады западных спикеров пройдут с синхронным переводом на русский язык.</p>
<p>До конца марта действуют специальные условия – не пропустите!</p>
<p>Основные дни конференции.+ Семинар (Москва/СПб) 15000 руб.</p>
<p>Основные дни конференции.++ Семинар (Минск) 1 400 000 бел.руб.</p>
<hr color="#EDEDED" size="2" />
<p><strong>Новость от Спанч Боба</strong></p>
<p>Недавно я решил вспомнить былые времена и заглянул на форум программистов C++. Программисты C++ обожают задавать друг другу задачи. В одной из них (несложной) было предложено отгадать, каким будет код завершения такой программы:</p>
<p>      <code>struct S {<br />
    static int i;<br />
    S()         { ++i; }<br />
    S(const S&#038;) { ++i; }<br />
};<br />
int S::i = 0;<br />
int main() {<br />
    S v(S());<br />
    return S::i;<br />
}</code></p>
<p>Я подумал и сказал, что из общих соображений - ноль (правда, на &#8220;пять почему&#8221; относительно этого кода я вряд ли отвечу). Но наш ведущий программист посмотрел и сказал, что единица.</p>
<p>Тогда я решил воспользоваться <a href="http://codepad.org" target="_blank" onclick="return cfm(this);" ><font color="#094B6A">онлайн-компилятором</font></a> и посмотреть, что получится в итоге.</p>
<p>В итоге получилось: <br />
        No errors or program output</p>
<p>Что-то тут не так. Может быть, кто-нибудь объяснит мне, кто прав: я, наш ведущий программист или компилятор?</p>
]]></content:encoded>
			<wfw:commentRss>http://softwarepeople.ru/blog/2010/03/17/swpdigest-16/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ПМ и аналитик</title>
		<link>http://softwarepeople.ru/blog/2010/03/17/pm-and-analys/</link>
		<comments>http://softwarepeople.ru/blog/2010/03/17/pm-and-analys/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 11:35:38 +0000</pubDate>
		<dc:creator>Илья Корнипаев</dc:creator>
		
		<category><![CDATA[Project Management]]></category>

		<category><![CDATA[Другое]]></category>

		<category><![CDATA[Методологии]]></category>

		<category><![CDATA[Управление требованиями]]></category>

		<guid isPermaLink="false">http://softwarepeople.ru/?p=1881</guid>
		<description><![CDATA[Рекомендации в виде размышлений о методах контроля работы аналитика на ранних этапах выполнения проекта и оценке качества работы аналитика.
Очень часто в работе я сталкиваюсь с ситуациями, когда руководитель проекта (ПМ) пытается исполнять роль аналитика. Также бывают проекты, где есть один аналитик, а ПМ пытается играть роль второго аналитика – участвует в интервью, рецензирует документы и [...]]]></description>
			<content:encoded><![CDATA[<p><em>Рекомендации в виде размышлений о методах контроля работы аналитика на ранних этапах выполнения проекта и оценке качества работы аналитика</em>.</p>
<p>Очень часто в работе я сталкиваюсь с ситуациями, когда руководитель проекта (ПМ) пытается исполнять роль аналитика. Также бывают проекты, где есть один аналитик, а ПМ пытается играть роль второго аналитика – участвует в интервью, рецензирует документы и т.п. Люди, несомненно, бывают разными. В этих случаях ПМ полностью владеет ситуацией на проекте на этапе анализа и может достаточно точно, хотя и субъективно сразу оценить работу аналитика. Некоторым ПМам удается такое совмещение ролей, а некоторым не очень (что по моему опыту случается чаще).</p>
<p>Однако давайте рассмотрим проект, где ПМ не пытается играть роль аналитика (ни первого номера, ни второго), а занимается исключительно функциями, свойственными роли руководителя. Каким же образом ПМ может убедиться, что работа на этом этапе проекта идет по плану и дела идут в целом хорошо?</p>
<p>Первое   это собственно план. Планировать начальные фазы проекта очень сложно, ввиду высокой неопределенности и недостатка объективной информации. План может содержать некоторое количество интервью, встреч, и других активностей, которые легко контролировать по факту. Сходил аналитик на встречу, зафиксировал результаты в протоколе (или другом документе)   закрываем задачу и т.д. Другие задачи в плане, связанные с разработкой документов контролировать сложнее. План помимо задач по разработке документов должен содержать достаточно точек контроля и соответствующих задач по проверке документов и их согласованию. Также необходимо запланировать заранее задачи по исправлению недочетов найденных в процессе проверок и согласований.</p>
<p>Однако это никак не гарантирует того, что собственно сам план хорош, и все необходимые активности в нем были предусмотрены. Состав и структура плана работ для ранних фаз разработки ПО зависит от многих факторов. Единого рецепта тут быть не может, поскольку проекты могут начинаться в условиях очень сильно отличающихся друг от друга.</p>
<p>Второе   это собственно контроль хода выполнения длинных задач, например, написание документов, являющихся результатами  работы аналитиков. Это такие документы, которые пойдут на согласование к заказчику, в контракт, в разработку, в тестирование и т.п. </p>
<p>ПМы, не желающие вдаваться в подробности содержания документов (требований, спецификаций и т.п.) и доверяющие аналитикам, приходят и спрашивают: «сколько тебе еще осталось писать требования?», «успеешь к пятнице?», «сколько ты уже написал?». Ответы практически всегда бывают положительны и оптимистичны, что, естественно, не гарантирует того, что документ будет полностью завершен к запланированному сроку.</p>
<p>ПМы, которые думают, что они хорошо разбираются в работе аналитика, или не доверяют своим подчиненным, делают полную проверку документа – т.е. читают его от начала и до конца. Это, несомненно, метод, хотя не очень быстрый и не единственный.</p>
<p>На мой взгляд, разработка любого документа из постановочной части проектной документации должна начинаться со <strong>структур</strong>ы. Хорошая структура документа так же важна для проекта, как и хорошая архитектура решения. Если у вас есть структура документа, то вы можете очень быстро контролировать ее наполнение. В отличие от полного чтения, анализ наполнения хорошей структуры дает вам больше шансов для оценки процента выполнения полного объема работ, и выявления пробелов в документе.</p>
<p>Второй объективный фактор контроля хода работы – это <strong>анализ покрытия</strong>. Этот метод работает только в случае, если:</p>
<ol>1. на входе в начале проекта вы получили от заказчика требования (или другой подобный документ)</ol>
<ol>2. импортировали исходный документ в систему управления требованиями</ol>
<ol>3. отдельно от исходного документа начали разработку вашей версии детальных требований/спецификации в той же системе</ol>
<ol>4. проставляете <strong>связи</strong> от требований в вашем документе к требованиям в исходном документе</ol>
<p>В этом случае, выполнив анализ покрытия можно увидеть, какие требования из исходного документа еще не раскрыты/уточнены в вашем документе.</p>
<p>Дальше уже можно проверять собственно сам документ целиком. Для приблизительной оценки готовности документа и качества работы аналитика можно считать ошибки и замечания, сделанные в процессе проверки. А можно использовать атрибуты – например, в системе управления требованиями добавить новый атрибут и назвать его «статус проверки». В ходе проверки заполнять этот статус для каждого требования, и после проверки смотреть, какой процент требований в документе не прошел проверку, а какой нет. Такие статусные атрибуты можно также добавить для согласований с заказчиком, разработчиками и тестировщиками.</p>
<p>Если говорить о ретроспективной оценке качества работы аналитиков в проекте, то тут несомненное лидерство за таким показателем, как количество запросов на изменения, поступивших в ходе работы надо проектом и после него. Можно измерять в штуках, а можно и в затратах на доработку связанных с этими запросами на изменения. Конечно, у части из таких запросов может быть причина, лежащая за пределами возможностей предсказания вашей команды (например, мировой финансовый кризис). Но при прочих равных, чем больше запросов на изменения поступает в ходе проекта и после него, тем хуже сработали аналитики.</p>
<p>На мой взгляд, все эти рекомендации могут помочь ПМам в правильной оценки степени состояния работ на проекте и качества работы аналитиков. Начинают они работать, естественно, только с определенного объема. Если у вас проект с 20ю требованиями, то ни связи, ни статусы, ни структура вам  как руководителю проекта существенной помощи не окажут. Если требований на порядок больше, то, полагаю, эти рекомендации могут оказаться полезными.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwarepeople.ru/blog/2010/03/17/pm-and-analys/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Five &#8220;Why&#8221;s как средство анализа вашего поражения</title>
		<link>http://softwarepeople.ru/blog/2010/03/10/five-whys/</link>
		<comments>http://softwarepeople.ru/blog/2010/03/10/five-whys/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 09:23:28 +0000</pubDate>
		<dc:creator>Наталья</dc:creator>
		
		<category><![CDATA[Peopleware]]></category>

		<category><![CDATA[Другое]]></category>

		<guid isPermaLink="false">http://softwarepeople.ru/?p=1507</guid>
		<description><![CDATA[Думаю, что каждый из читающих мою заметку хотя бы раз в жизни столкнулся с такой проблемой: хотел что-то сделать - не получилось. Неважно, что это было и когда это было: устроиться на Работу Вашей Мечты, научиться кататься на коньках или наконец-то перекрыть протекающую крышу на даче. Главное - изначально поставленная цель не была достигнута.
Если достижение [...]]]></description>
			<content:encoded><![CDATA[<p>Думаю, что каждый из читающих мою заметку хотя бы раз в жизни столкнулся с такой проблемой: хотел что-то сделать - не получилось. Неважно, что это было и когда это было: устроиться на Работу Вашей Мечты, научиться кататься на коньках или наконец-то перекрыть протекающую крышу на даче. Главное - изначально поставленная цель не была достигнута.</p>
<p>Если достижение этой цели не было для вас жизненно важно, то, скорее всего, вы просто забыли об этом и спокойно живете дальше. Однако если цель, поставленная вами, все же достаточно важна, то, скорее всего, вы задумаетесь о том, что же помешало вам ее достичь. Еще больше поводов задуматься было у тех, кто неоднократно ставил перед собой определенные цели и регулярно их проваливал. Например, начинал новую жизнь с понедельника.</p>
<p>Победителей, как известно, не судят. А вот если мы побеждены - что делать дальше? С чего начать, чтобы понять свои ошибки и извлечь из них полезный опыт?</p>
<p>Тем, кто успел поработать в крупных корпорациях (особенно в азиатских) наверняка знакома методика, которую называют Five Whys. Это методика, изначально придуманная инженерами для того, чтобы наверняка добраться до причины или источника какой-нибудь проблемы. А менеджеры часто использует ее для отказа в какой-нибудь просьбе или &#8220;отфутболивания&#8221; новой идеи. Принцип действия очень прост. Вы обращаетесь с просьбой или предложением к начальству, и оно просит вас обосновать необходимость того, что вы просите или предлагаете. И далее, слушая ваши ответы, задает вам пять вопросов &#8220;зачем&#8221; или &#8220;почему&#8221;, чтобы выяснить, насколько хорошо обоснованы ваша просьба или ваше предложение. Как правило, большинство людей теряет терпение уже где-то на третьем вопросе.</p>
<p>Выглядит это примерно так:<br />
- Нам нужно приобрести 4 дополнительных монитора для этого проекта.<br />
- Зачем?<br />
- Мы хотим, чтобы на рабочих местах у всех, кто принимает участие в разработке продукта, было установлено по 2 монитора.<br />
- Почему?<br />
- Это удобно.<br />
- Почему?<br />
- Разработчику не нужно сворачивать и вновь разворачивать окна во время написания и исполнения кода.<br />
- Почему это так важно?<br />
- Потому что мы живем в XXI веке, и переключение между окнами нереально раздражает!</p>
<p>Скорее всего, четырех мониторов нам не видать, ибо потерявший терпение проигрывает в этой игре. Но не отчаивайтесь: хоть мы и потерпели поражение на этот раз, я покажу вам, как эту методику можно применить для анализа собственных ошибок и причин неудач в задуманном деле.</p>
<p>Давайте рассмотрим простой пример. Я - прикладной программист в IT-компании, и я не справилась сегодня с порученной мне задачей, хотя по плану эта задача должна была быть завершена именно сегодня. Я знаю, что отставание от намеченного графика - мое слабое место. Нас пока не штрафуют за срывы сроков, и увольнение мне еще не грозит. Но я хочу понять причину того, почему я регулярно опаздываю.</p>
<p>Итак, я сегодня не доделала этот отчет.<br />
- Почему?<br />
- Потому что отвлекалась.<br />
- Почему?<br />
- Ну&#8230; сначала был митинг, а потом мы праздновали день рождения А., поздравляли именинника, а потом я начала заниматься отчетом, но не закончила.<br />
- Почему?<br />
- Потеряла время, а потом поняла, что все равно не закончу задачу в срок.<br />
- Почему?<br />
- Потому что на митинг и празднование дня рождения ушло много времени.<br />
- Почему?<br />
- Ну&#8230; на митинг пригласило начальство. А не отметить день рождения как-то не очень здорово&#8230; Но и отчет не доделать тоже.</p>
<p>Итак, сегодня причины моего опоздания по срокам - митинг и праздник. Запишем время, которое было потеряно, чтобы посмотреть, правду ли я сказала самой себе. Теперь нужно посмотреть, как дело пойдет завтра.</p>
<p>На следующий день отчет все-таки был доделан.</p>
<p>Но следующая задача, которой я занялась вскоре после отчета, снова была просрочена.</p>
<p>- Почему?<br />
- Добавленный мной код выдавал ошибку, на исправление которой у меня ушло лишних 4 часа.<br />
- В чем причина ошибки?<br />
- Я плохо понимаю, как работают методы классов BLL.<br />
- Почему?<br />
- Не понимаю, в каком порядке нужно вызывать эти методы в данном случае.<br />
- Почему?<br />
- Плохо ориентируюсь в исходном коде всего проекта в целом.<br />
- Почему?<br />
- Нет необходимой документации.<br />
Записываем потерю времени на исправление ошибок, отмечаем как пожелание: документирование системной архитектуры. Сравниваем мои &#8220;рекорды&#8221; с такими же досадными потерями моих коллег. Если затраты времени на исправление ошибок превышают время, которое нужно потратить на документирование, решение напрашивается само собой.</p>
<p>Итак, просто отвечая на пять вопросов, я могу достаточно точно установить причины задержек с выполнением задач. Если эти причины будут повторяться (например, вторая), то скорее всего, мы имеем дело с систематическим риском, причину которого необходимо устранить.</p>
<p>Метод five whys применим не только в рабочей обстановке. Что там у нас с личными целями?<br />
- У меня была заветная мечта - съездить отдохнуть в Черногорию. Но увы, она так и не сбылась.<br />
- Почему?<br />
- Да срок действия загранпаспорта истекает, а новый сделать некогда&#8230;<br />
- Почему?<br />
- Никак не соберу все нужные документы.<br />
- Почему?<br />
- У них ограниченный срок действия, а дойти до паспортного стола вовремя я все равно не соберусь&#8230;<br />
- ПОЧЕМУ?</p>
<p>Волшебная техника, trust me.<br />
Главное - отвечать честно.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwarepeople.ru/blog/2010/03/10/five-whys/feed/</wfw:commentRss>
		</item>
		<item>
		<title>12 полезных дополнений Firefox для Web-разработчиков</title>
		<link>http://softwarepeople.ru/blog/2010/03/10/12-useful-firefox-tools/</link>
		<comments>http://softwarepeople.ru/blog/2010/03/10/12-useful-firefox-tools/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 04:10:24 +0000</pubDate>
		<dc:creator>Mezya!</dc:creator>
		
		<category><![CDATA[Другое]]></category>

		<category><![CDATA[Технологии]]></category>

		<guid isPermaLink="false">http://softwarepeople.ru/?p=1826</guid>
		<description><![CDATA[В этой статье я решил собрать популярные и полезные для Web-разработчиков дополнения с кратким описанием.
Конечно, большинство разработчиков знают об их существовании, но я нацеливаюсь на остальную часть. А также на тех, кто использует альтернативные браузеры. Быть может, это подтолкнёт их к переходу на Огнелиса. Ну и вообще, просто хочется собрать всё в одном месте.
1. Начнём, [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">В этой статье я решил собрать популярные и полезные для Web-разработчиков дополнения с кратким описанием.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Конечно, большинство разработчиков знают об их существовании, но я нацеливаюсь на остальную часть. А также на тех, кто использует альтернативные браузеры. Быть может, это подтолкнёт их к переходу на Огнелиса. Ну и вообще, просто хочется собрать всё в одном месте.</p>
<h3>1. Начнём, конечно же, с прекрасного плагина под названием <a href="https://addons.mozilla.org/ru/firefox/addon/1843">FireBug</a></h3>
<img src="http://softwarepeople.ru/files/2010/03/b703li1.jpg" alt="FireBug" title="b703li1" width="483" height="219" class="size-full wp-image-1828" />
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Про этот аддон, наверное, знает каждый. Про него много писалось. Он по праву занимает первое место в этом списке.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">С ним вы сможете редактировать, выполнять отладку и просматривать CSS, HTML и Javascript в режиме реального времени на любой странице в сети. Аддон также позволяет анализировать запросы и проверять производительность Java-скриптов. В общем, must have.</p>
<h3>2. Вторым в списке идёт аддон <a href="https://addons.mozilla.org/ru/firefox/addon/60">Web Developer</a></h3>
<p><img src="http://softwarepeople.ru/files/2010/03/1g6rgx.png" alt="1g6rgx" title="1g6rgx" width="333" height="204" class="aligncenter size-full wp-image-1835" /></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Дополнение Web Developer добавляет в Firefox удобную и настраиваемую панельку с множеством различных функций.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">В перечне имеются: отключение и просмотр Java-скриптов, отключение и просмотр cookie, отключение CSS таблиц, просмотр стилей, просмотр детальной информации для форм, отключение вывода изображений, поиск неработающих изображений, редактирование HTML-кода, просмотр спрятанных элементов, проверка кода на валидность и многое многое другое.</p>
<h3>3. <a href="https://addons.mozilla.org/ru/firefox/addon/271">ColorZilla</a></h3>
<p><img src="http://softwarepeople.ru/files/2010/03/2h2iets.jpg" alt="2h2iets" title="2h2iets" width="200" height="103" class="aligncenter size-full wp-image-1839" /></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Вы, естественно, видели инструмент «Пипетка» в редакторах изображения? Так вот, это то же самое, но для Firefox. И даже больше. Плагин встраивается в строку статуса браузера. Щелкните иконку пипетки и наведите на нужный элемент страницы и узнаете его цвет. Цвет можно посмотреть как в RGB формате, так и в HEX. В плагине также имеется колёсико цветов, увеличение страницы и пара других функций.</p>
<h3>4. <a href="https://addons.mozilla.org/ru/firefox/addon/249">HTML Validator</a></h3>
<p><img src="http://softwarepeople.ru/files/2010/03/33wazw92.png" alt="33wazw92" title="33wazw92" width="300" height="300" class="aligncenter size-full wp-image-1844" /></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">HTML Validator подмигивает вам иконкой из строки статуса браузера. Он показывает количество ошибок HTML на загруженной странице. Вы можете отрыть HTML код в плагине и посмотреть, что же вызывает ошибки.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Да, кстати, аддон по ссылке в заголовке не работает под Mac и Linux. Однако, на сайте разработчиков есть версии и под эти ОС.</p>
<h3>5. На 5 месте FTP-клиент <a href="https://addons.mozilla.org/ru/firefox/addon/684">FireFTP</a></h3>
<p><img src="http://softwarepeople.ru/files/2010/03/2v7ugyq.png" alt="2v7ugyq" title="2v7ugyq" width="690" height="520" class="aligncenter size-full wp-image-1847" /></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Куда же разработчику без FTP-клиента? Этот плагин добавляет возможность использования клиента прямо в браузере. Клиент открывается в отдельном окне. Функции не ограничены только базовыми — есть сравнение директорий и их синхронизация при навигации, SFTP, SSL защита, поиск и фильтры, удалённое управление, drag and drop, проверка хэша файла и многое другое.</p>
<h3>6. Измерялка <a href="https://addons.mozilla.org/ru/firefox/addon/539">MeasureIt</a></h3>
<p><img src="http://softwarepeople.ru/files/2010/03/308ieq01.jpg" alt="308ieq01" title="308ieq01" width="200" height="75" class="aligncenter size-full wp-image-1850" /></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Часто появляется нужда измерить какой-нибудь элемент на странице. С помощью MeasureIt можно просто выделить элемент и сразу же узнать, какова его высота, а какова ширина. Похожий функционал предлагает и ColorZilla, однако, если вам нужно только измерять, то лучше использовать MeasureIt.</p>
<h3>7. Эмулятор Internet Explorer&#8217;а <a href="https://addons.mozilla.org/ru/firefox/addon/10909">Coral IE Tab</a></h3>
<p><img src="http://softwarepeople.ru/files/2010/03/swtizl.jpg" alt="swtizl" title="swtizl" width="700" height="482" class="aligncenter size-full wp-image-1852" /></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">В связи с последними тенденциями отказа от вёрстки и поддержки IE многими разработчиками, плагин может показаться бесполезным. Но всё же, не все хотят терять кусочек аудитории, а возможно и потенциальных клиентов/партнёров, потому сохраняют поддержку IE своими сайтами. Этим разработчикам и пригодится аддон — он запускает Internet Explorer прямо в Firefox. Теперь можно проверить вёрстку своего сайта, не открывая другой браузер. И да, плагин работает только под Windows, с установленным IE.</p>
<h3>8. Ближе к концу списка, но не менее важный <a href="https://addons.mozilla.org/ru/firefox/addon/748">Greasemonkey</a></h3>
<p><img src="http://softwarepeople.ru/files/2010/03/avwr8.jpg" alt="avwr8" title="avwr8" width="176" height="133" class="aligncenter size-full wp-image-1853" /></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Я так думаю, что плагин не нуждается в долгих описаниях и представлении. Greasemonkey — расширение, позволяющее добавить на любую страницу пользовательский Javascript, записанный в формате этого расширения. C февраля 2009 года нативно работает в Google Chrome. Имеет за пазухой сотни скриптов, которые можно найти на сайте <a href="http://userscripts.org/">userscripts.org</a>.</p>
<h3>9. <a href="https://addons.mozilla.org/ru/firefox/addon/655">View Source Chart</a></h3>
<p><img src="http://softwarepeople.ru/files/2010/03/1824oz.png" alt="1824oz" title="1824oz" width="143" height="150" class="aligncenter size-full wp-image-1854" /></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Просматривать исходный код сайта стандартными средствами Firefox довольно-таки неудобно — код плохо организован. С аддоном View Source Chart делать это станет намного проще — код страницы разбит на блоки, подсвеченные разными цветами. Поэтому вы визуально видите границы тегов и DOM структуры, в которой легче разобраться.</p>
<h3>10. Не сильно популярный, но полезный инструмент <a href="https://addons.mozilla.org/ru/firefox/addon/4111">Aardvark</a></h3>
<p><img src="http://softwarepeople.ru/files/2010/03/f9njw6.jpg" alt="f9njw6" title="f9njw6" width="200" height="150" class="aligncenter size-full wp-image-1855" /></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Хорошая утилита для чистки страницы от лишних элементов, например для печати. Также, удобно использовать для анализа структуры страницы. Наведя курсор на элемент страницы, вы увидите его id, ярлык (если он есть), класс и присвоенный ему стиль. Используя некоторые кнопки клавиатуры, например R, можно удалить элемент со страницы или V для того, чтобы увидеть исходный код.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">И ещё пара полезных плагинов…</p>
<h3>11. Аддон для упрощения однотипных действий <a href="https://addons.mozilla.org/ru/firefox/addon/3863">iMacros</a></h3>
<p><img src="http://softwarepeople.ru/files/2010/03/2copmkh.png" alt="2copmkh" title="2copmkh" width="526" height="226" class="aligncenter size-full wp-image-1856" /></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Аддон, как вы поняли, создаёт макросы для однотипных простых действий. Например — заполнение форм и запоминание паролей, автоматическая выгрузка и загрузка изображений, файлов или целых страниц (с картинками или без картинок), функциональное, нагрузочное и регрессионное тестирование Веб-приложений и многое другое. Более подробная информация на странице аддона.</p>
<h3>12. Последний на сегодня: это <a href="https://addons.mozilla.org/ru/firefox/addon/2464">FoxyProxy</a></h3>
<p><img src="http://softwarepeople.ru/files/2010/03/4rvk29.png" alt="4rvk29" title="4rvk29" width="471" height="288" class="aligncenter size-full wp-image-1857" /></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Это дополнение является расширением стандартного функционала Firefox для управления настройками использования прокси. С ним вы сможете на-лету переключать прокси-сервера, быстро включать и отключать прокси, использовать шаблоны для прокси.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Вот и всё на сегодня. Надеюсь, данная подборка поможет вам в упрощении работы и достижении нужных результатов. <img src='http://softwarepeople.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://softwarepeople.ru/blog/2010/03/10/12-useful-firefox-tools/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Оптимальный путь к корпоративным архитектурам (Часть 3)</title>
		<link>http://softwarepeople.ru/blog/2010/03/09/optimal_way_to_corp_arch_3/</link>
		<comments>http://softwarepeople.ru/blog/2010/03/09/optimal_way_to_corp_arch_3/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 19:13:48 +0000</pubDate>
		<dc:creator>microsoft</dc:creator>
		
		<category><![CDATA[ALM]]></category>

		<category><![CDATA[Другое]]></category>

		<category><![CDATA[Технологии]]></category>

		<category><![CDATA[Enterprise Architecture]]></category>

		<guid isPermaLink="false">http://softwarepeople.ru/?p=1739</guid>
		<description><![CDATA[Роджер Сешнс (Roger Sessions)
Это продолжение статьи Роджера Сешнса “Оптимальный путь к корпоративным архитектурам”. Рекомендуем прочитать первую и вторую части.
Существующие инфраструктуры корпоративной архитектуры
История существующих стандартных инфраструктур корпоративной архитектуры (включая TOGAF, FEAF и модель Захмана) имеет много общего. Все эти архитектуры подверглись значительному влиянию парадигмы объектно-ориентированного проектирования и анализа (OODA).
Тот факт, что эти модели принадлежат к поколению [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-left:1cm; font-size: 12pt; color: black; font-family: Tahoma;"><strong>Роджер Сешнс (Roger Sessions)</strong></p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Это продолжение статьи Роджера Сешнса “Оптимальный путь к корпоративным архитектурам”. Рекомендуем прочитать <a href="http://softwarepeople.ru/blog/2010/02/09/optimal_way_to_architecture/">первую</a> и <a href="http://softwarepeople.ru/blog/2010/02/25/optimal_way_to_architecture2/">вторую</a> части.</p>
<h3>Существующие инфраструктуры корпоративной архитектуры</h3>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">История существующих стандартных инфраструктур корпоративной архитектуры (включая TOGAF, FEAF и модель Захмана) имеет много общего. Все эти архитектуры подверглись значительному влиянию парадигмы объектно-ориентированного проектирования и анализа (OODA).</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Тот факт, что эти модели принадлежат к поколению OODA, очень важен, поскольку он означает, что все эти модели были созданы до появления сервис-ориентированных архитектур (SOA). Сегодня большинство крупных систем основано на концепции взаимодействия автономных приложений с использованием стандартов веб-служб (таких как SOAP, WS-Security и им подобных). Эта концепция тесно связана с парадигмой сервис-ориентированных архитектур, которая не была известна при создании разрабатываемых ранее моделей архитектуры.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Объектные технологии предназначены для создания приложений, а не корпоративных архитектур. Их основной недостаток в том, что невозможно управлять сложностью. </p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">В 2004 году в крупномасштабном исследовании, посвященном сложности ИТ-систем, академия Royal Academy of Engineering и сообщество British Computer Society отметили следующее:</p>
<p style="margin-left:1cm; background-color:#eeeeee; font-size: 10pt; color: black; font-family: Tahoma;">&#8220;&#8230;существующие рекомендации и методы разработки ПО не обеспечивают масштабирование, которое позволило бы управлять все более сложными, глобальными распределенными системами с сохранением приемлемого уровня затрат или проектных рисков. Поэтому реагирование на непрекращающееся развитие вычислительных технологий и технологий связи является важнейшей задачей разработчиков ПО&#8221;. [Roy]</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Проблемы, которые необходимо разрешить для крупных и сложных корпоративных архитектур, относятся к взаимодействию приложений, а не к реализации приложений как таковых. Концепция создания больших систем, состоящих из взаимодействующих автономных приложений, представляет собой технический эквивалент декомпозиции; она получила развитие спустя длительное время после окончания эры Объектов и фактически знаменовала наступление эры SOA.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Использование SOA помогает управлять сложностью на техническом уровне. Техническую архитектуру, как и коммерческую, необходимо подвергать декомпозиции, чтобы уменьшить сложность до уровня, на котором можно осуществлять управление. На сегодняшний день архитектуры SOA, безусловно, представляют собой лучшее средство технической декомпозиции.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">В инфраструктурах OODA зачастую декларировалась поддержка концепции итераций, однако между итерациями и итерациями с декомпозицией существует значительная разница. Концепция итераций, реализованная в OODA, больше похожа не на итерации, а на рекурсию, как показано на рис. 8. При использовании этой концепции сложность системы обрабатывается путем выделения небольших составляющих. Однако это не делает систему проще, а лишь уменьшает ее сложность в каждый конкретный момент времени.</p>
<div id="attachment_1742" class="wp-caption aligncenter" style="width: 619px"><img src="http://softwarepeople.ru/files/2010/03/pic03_01.png" alt="Рис. 8. OODA-подход к корпоративным архитектурам" title="Рис. 8. OODA-подход к корпоративным архитектурам" width="609" height="377" class="size-full wp-image-1742" /><p class="wp-caption-text">Рис. 8. OODA-подход к корпоративным архитектурам</p></div>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Итерации с декомпозицией имеют два существенных отличия от OODA-подхода. Первое (и самое главное) отличие состоит в том, что этот метод уменьшает сложность путем использования декомпозиции, а не пытается управлять сложностью, используя рекурсию. Второе отличие заключается в том, что при выполнении итераций с декомпозицией основное внимание уделяется скорости итераций, а не всеобъемлющему планированию. При этом мы исходим из предположения, что получим больше информации при выполнении действий, а не при их планировании. Этот подход показан на рис. 9.</p>
<div id="attachment_1743" class="wp-caption aligncenter" style="width: 284px"><img src="http://softwarepeople.ru/files/2010/03/pic03_02.png" alt="Рис. 9. Создание корпоративной архитектуры с использованием итераций с декомпозицией" title="Рис. 9. Создание корпоративной архитектуры с использованием итераций с декомпозицией" width="274" height="328" class="size-full wp-image-1743" /><p class="wp-caption-text">Рис. 9. Создание корпоративной архитектуры с использованием итераций с декомпозицией</p></div>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Работа со сложностью системы с помощью декомпозиции принципиально отличается от использования рекурсии, применяемой в OODA. OODA пытается разрешать проблемы, вызванные сложностью, разделяя ее на управляемые составляющие, в то время как метод итераций с декомпозицией призван не просто обеспечить управление сложностью (как в подходе OODA), а уменьшить сложность в целом, используя математический метод, рассмотренный нами ранее при изучении кубиков (снижение сложности путем декомпозиции).</p>
<h3>Преимущества подхода на основе итераций с декомпозицией</h3>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Применение подхода на основе итераций с декомпозицией позволяет получать коммерческую выгоду от проекта на более ранних этапах, чем при использовании OODA-подхода. Это становится возможным благодаря тому, что система создается по частям. Поскольку мы создаем вертикальные сегменты, каждый из которых имеет коммерческую ценность, итерации позволяют уменьшить время достижения положительного эффекта (TTV).</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">В мире бизнеса TTV это важнейшая характеристика. Даже более важная, чем уровень возврата инвестиций (ROI). ROI — это цель, которая ставится в долгосрочной перспективе. Для любого проекта, даже очень плохо организованного, разработанного со значительным превышением бюджета и не соответствующего требованиям бизнеса, можно по истечении длительного времени добиться высокого значения ROI, когда затраты на проект будут амортизированы. Вопрос в том, проработает ли компания столько времени?</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">TTV — это характеристика, ориентированная на более близкую перспективу. Хотя существует несколько определений TTV, я использую следующее: TTV — это промежуток времени между утверждением бюджета проекта и моментом, когда руководство убеждается, что проект оказывает положительное влияние на работу организации. Другими словами, это промежуток времени между расходованием средств и получением положительного эффекта. Значение ROI с TTV почти не связано.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Например, предположим, что руководство утвердило расходы в размере 20 млн долларов на реорганизацию службы поддержки заказчиков. Если использовать традиционный рекурсивный OODA-подход, положительный эффект будет получен только после того, как 20 млн будут полностью потрачены (и только если вам повезет). Однако вместо этого можно использовать итерационный подход с декомпозицией и разбить проект на вертикальные подсистемы, каждая из которых сама по себе является ценной с коммерческой точки зрения.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Предположим, что первая подсистема — это интерактивная библиотека, содержащая полезную информацию для заказчиков и обеспечивающая удобный доступ. Эта подсистема позволяет организации получать коммерческую выгоду задолго до завершения остальной части проекта и даже до достижения положительных значений ROI. Например, если вы сможете продемонстрировать, что в первый месяц библиотека на 20 % уменьшила время, которое затрачивала служба поддержки на решение вопросов заказчиков по телефону, вы докажете наличие положительного эффекта, даже если для достижения положительного значения ROI по проекту в целом необходимо несколько лет.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Как вы считаете, выполнение каких проектов организации чаще всего прерывают, не доводя до конца? Проектов, которые уже через несколько месяцев позволяют получить положительный эффект (итерации с декомпозицией), или проектов, не дающих положительного эффекта даже через два года работы и траты средств (рекурсивный OODA-подход)?</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Быстрое получение положительного эффекта помогает проекту находиться «на виду» у руководства. С глаз долой, из сердца вон — именно это зачастую происходит с ИТ-проектами.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Вторым преимуществом итерационного подхода с декомпозицией является повышение вероятности удачного завершения проекта в целом, поскольку этот подход позволяет использовать опыт, полученный при выполнении предыдущих итераций.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Вернемся к примеру с центром обработки обращений заказчиков. Предположим, что задача текущей итерации — разработка нового пользовательского интерфейса для заказчиков, а при выполнении одной из последующих итераций нужно будет разработать пользовательский интерфейс центра обработки вызовов. Предположим также, что вы считаете, что сможете разработать новый пользовательский интерфейс для заказчиков за шесть человеко-месяцев, а новый пользовательский интерфейс центра обработки вызовов — за восемь. Однако, завершив создание пользовательского интерфейса для заказчиков, вы обнаруживаете, что его разработка потребовала девять человеко-месяцев вместо шести. Становится ясно, что вы неверно оценили объем работ по созданию пользовательских интерфейсов.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Однако теперь вы можете извлечь уроки из своих ошибок. Предположим, вы определили, что неверно оценили время, необходимое для обучения разработчиков. В таком случае при создании интерфейса центра обработки вызовов вы сможете выделить более квалифицированных разработчиков. Если средства разработки оказались сложнее, чем вы предполагали, вы можете рассмотреть вариант смены используемых средств. Если разработка просто длилась дольше, чем было запланировано, вы можете изменить расписание дальнейшей работы над проектом.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Очень важно, что при использовании итераций с декомпозицией организация может обнаружить проблемы на ранних этапах, прежде чем они приведут к серьезным негативным последствиям для всего проекта, и даже если не сможет их разрешить, то возникшие задержки не станут неожиданностью для руководства. Руководству могут не нравиться задержки, но неожиданности оно просто ненавидит.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Эффективное управление ожиданиями — важная составляющая практически всех проектов. Итерационный подход с декомпозицией упрощает реагирование на возможные проблемы и позволяет более эффективно сообщать руководству о реальных ожидаемых результатах. </p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Третьим преимуществом итерационного подхода с декомпозицией является то, что он отнимает меньше времени у сотрудников, занимающих наиболее высокие должности и выполняющих наиболее важную работу (за наиболее высокую зарплату). Так происходит, поскольку проектирование каждой подсистемы требует согласования мнений лишь тех сотрудников, которые непосредственно работают с этой подсистемой. Если же использовать при работе над проектом рекурсивный OODA-подход, для принятия почти всех решений необходимо участие большинства сотрудников, что зачастую превращает принятие даже самого простого решения в трудоемкий процесс.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Четвертым преимуществом итерационного подхода с декомпозицией является представление результатов в виде проекта, структура которого похожа на структуру SOA. В отличие от огромных, неделимых монстров, зачастую порождаемых применением OODA-подхода, сервис-ориентированные архитектуры ?— это набор взаимодействующих между собой небольших автономных служб, которые являются более гибкими и которые намного проще применять для повторного использования, взаимодействия и совместной работы, чем системы, полученные с помощью OODA.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">И последнее. Итерационный подход с декомпозицией значительно упрощает дальнейшее расширение возможностей системы по сравнению с OODA-подходом. Это происходит в силу следующих трех факторов:</p>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Использование итераций с декомпозицией позволяет создать значительно больше подсистем, чем при OODA-подходе. Это уменьшает психологическую склонность людей считать, что какая-то подсистема является уникальной и единственной для них, как и предоставляемая ею возможность внести желаемые изменения.</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> В проектирование каждой из этих подсистем вовлечено меньше людей, чем при использовании OODA-подхода. Это означает, что на каждой итерации необходимо узнать мнение меньшего числа людей о новых возможностях.</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> При использовании этого подхода основное внимание уделяется времени достижения положительного эффекта (TTV), а не коэффициенту возврата инвестиций (ROI), который является одной из основных характеристик при использовании OODA. Большинство людей думают, что для получения положительных значений ROI необходимы широкие функции приложения. Они полагают, что наличие большего числа функций означает, что приложением сможет воспользоваться больше людей, а чем больше людей им пользуются, тем больше от него «отдачи». Поэтому чрезмерная увлеченность ROI заставляет постоянно наращивать возможности систем. </span></li>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">При использовании итерационного подхода с декомпозицией основной характеристикой является время достижения положительного эффекта, а основное внимание уделяется быстрой реализации. Сегодня никто не спорит с тем, что для быстрой реализации системы необходимо использовать тайм-боксинг (ограничение набора функций, при котором остаются только критически важные функции и те, которые могут быть реализованы в оговоренные сроки). Это приводит нас к необходимости рассмотреть идеологию организации, то есть более тщательно проанализировать функции и отбросить те, без которых можно обойтись.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Как видим, переход от методик создания корпоративной архитектуры на основе OODA-подхода к методикам на основе итераций с декомпозицией предоставляет организациям значительные преимущества. В том числе:</p>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> более быстрое получение заметной коммерческой выгоды;</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> повышение вероятности успешного завершения проекта;</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> более широкие возможности использования опыта, полученного в результате предыдущих успехов и неудач;</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> повышение точности планирования проектов;</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> повышение уровня соответствия техническим сервис-ориентированным архитектурам;</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> естественное противодействие необоснованному наращиванию возможностей</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"></span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"></span></li>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Это и есть те самые важные преимущества, которые должны заинтересовать любую организацию в ее стремлении получить реальную отдачу от усилий по созданию архитектуры.</p>
<h3>Слагаемые успеха</h3>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Теперь, когда мы рассмотрели теоретические и практические основы методики создания корпоративной архитектуры путем итераций с декомпозицией, я изложу несколько правил, которые, на мой взгляд, помогут достичь успеха при использовании этого подхода.</p>
<h4>Правило 1. Сначала используйте простое решение</h4>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Выполнив &#8220;первый проход&#8221; и определив состав проекта и подсистем, вы должны решить, что нужно делать в первую очередь. Многие рекомендации советуют начинать с проектов с высоким риском, поскольку это позволит на ранних этапах обнаружить проблемы, с которыми вы можете столкнуться при работе над проектом. Я не согласен с этим подходом.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Первое, что вам нужно сделать при разработке корпоративной архитектуры, — показать успешность своей работы, чтобы сформировать стимул для достижения более крупной цели. Это правило особенно эффективно действует в организациях, которые ранее столкнулись с неудачными попытками создания корпоративной архитектуры на основе методологии OODA. </p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Таким образом, вашей первоочередной задачей на начальных итерациях является завоевание доверия. А лучший способ завоевать доверие — продемонстрировать хорошо заметные успешные результаты, которые может оценить каждый сотрудник организации.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">В таблице 2 перечислены наиболее важные критерии, влияющие на определение приоритета подсистем, лучшие методы анализа каждого критерия и влияние соответствующего критерия на общий приоритет. </p>
<div id="attachment_1747" class="wp-caption aligncenter" style="width: 601px"><img src="http://softwarepeople.ru/files/2010/03/pic03_03.png" alt="Таблица 2. Критерии выбора приоритета подсистем" title="Таблица 2. Критерии выбора приоритета подсистем" width="591" height="447" class="size-full wp-image-1747" /><p class="wp-caption-text">Таблица 2. Критерии выбора приоритета подсистем</p></div>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Удобным средством определения приоритетов подсистем может стать схема приоритетов, показанная на рис. 10. На этой схеме каждая ось соответствует одному из критериев, перечисленных в таблице 2. При этом положительному влиянию соответствует зона, расположенная ближе к центру, а отрицательному — ближе к краям схемы.</p>
<div id="attachment_1748" class="wp-caption aligncenter" style="width: 377px"><img src="http://softwarepeople.ru/files/2010/03/pic03_04.png" alt="Рис. 10. Схема приоритетов" title="Рис. 10. Схема приоритетов" width="367" height="246" class="size-full wp-image-1748" /><p class="wp-caption-text">Рис. 10. Схема приоритетов</p></div>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Нарисовав схему приоритетов, расположите отметки «попаданий» вдоль каждой оси. Если, например, рассматриваемая подсистема имеет средний риск, поместите отметку на оси рисков в желтую зону. Завершив размещение отметок, вы увидите, какие проекты (подсистемы) следует разрабатывать в первую очередь.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Например, предположим, что вы выделили два проекта: проект разработки базы знаний, к которой смогу обращаться заказчики, и проект создания процедуры единого входа, которая повысит безопасность. Вы нарисовали схему приоритетов для каждого из этих проектов и получили результат, показанный на рис. 11. По этому рисунку сразу ясно, какой из проектов больше соответствует определению &#8220;простого решения&#8221;.</p>
<div id="attachment_1750" class="wp-caption aligncenter" style="width: 467px"><img src="http://softwarepeople.ru/files/2010/03/pic03_05.png" alt="Рис. 11. Сравнение схем приоритетов двух проектов" title="Рис. 11. Сравнение схем приоритетов двух проектов" width="457" height="325" class="size-full wp-image-1750" /><p class="wp-caption-text">Рис. 11. Сравнение схем приоритетов двух проектов</p></div>
<h4>Правило 2. Используйте возможности для экономии &#8220;в мелочах&#8221;</h4>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Распространенное заблуждение относительно корпоративных архитектур состоит в том, что экономия достигается при выполнении операций в широких масштабах. Теория говорит, что если над крупным проектом работает достаточное число исполнителей, результаты работы неизбежно будут содержать избыточность. Устранение этой избыточности позволяет уменьшить затраты на разработку и сопровождение. Чем крупнее проект, тем выше уровень избыточности. Чем больше избыточности, тем больше возможностей для ее устранения. Чем больше избыточности будет устранено, тем меньше будут конечные затраты на проект.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">К сожалению, эта теория не учитывает основополагающий закон управления проектами: закон снижения эффективности ресурсов. Чем больше людей участвует в работе над проектом, тем ниже эффективность проекта в целом. Этот закон является следствием известного закона Брукса. Более 30 лет назад Фред Брукс (Fred Brooks) был первым, кто заметил, что выделение дополнительных ресурсов для проекта, выполнение которого задерживается, лишь увеличивает задержку [Bro]. В 1999 году за открытие этого закона и другие достижения ему была присуждена Премия Тьюринга</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Относительно небольшая группа, работающая над четко очерченной подсистемой корпоративной архитектуры, может выполнить приемлемую работу в приемлемые сроки. Большая группа, работающая над архитектурой, не разбитой на подсистемы, обнаружит избыточность. Однако затраты на выявление избыточности, поиск оптимальных методов ее устранения и попытки согласовать проект унифицированного метода решения практически во всех случаях будут значительно больше, чем затраты, связанные с самой избыточностью.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Безусловно, с увеличением масштабов мы можем добиться экономии. Однако настоящую экономию можно обеспечить при работе над небольшими, а не над крупномасштабными задачами.</p>
<h4>Правило 3. Централизуйте взаимодействие, децентрализуйте реализацию</h4>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Многие организации разрабатывают излишне централизованные корпоративные архитектуры. Зачастую они создают отдел корпоративной архитектуры и предоставляют ему право принимать широкий круг решений. Подобная высокая централизация может вызвать рост бюрократизма и завести проект в тупик. </p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Централизованная организация корпоративной архитектуры нужна. Однако централизация должна быть направлена на решение важных проблем, а не на бесконечное решение мелких вопросов.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Практический совет состоит в том, что взаимодействие должно быть централизовано, а решения, влияющие на реализацию, должны приниматься децентрализовано. Типичной ошибкой отделов корпоративной архитектуры является попытка выбирать решение, не зная его особенностей.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Давайте рассмотрим некоторые типичные ошибки при создании корпоративных архитектур. </p>
<p style="margin-left:2cm; font-size: 10pt; color: black; font-family: Tahoma;"> <strong>Платформа.</strong> Многие организации пытаются выбрать стандартную платформу ПО и нередко ведут бесконечные споры, обсуждая, к примеру, Microsoft .NET, IBM&#8217; WebSphere или BEA WebLogic. Это бесполезная трата сил. Выбор платформы — это решение, которое касается реализации и не влияет на то, как будут организованы совместная работа и взаимодействие приложений на этой платформе. Если платформа удовлетворяет потребности организации в обеспечении взаимодействия, разработчики должны иметь возможность самостоятельно выбирать платформу</p>
<p style="margin-left:2cm; font-size: 10pt; color: black; font-family: Tahoma;"><strong>Данные.</strong> Многие организации пытаются создать единый уровень данных, который будет использоваться всеми приложениями в организации. Эти попытки обычно требуют значительных затрат и редко бывают успешными. Методы хранения данных — это вопросы реализации приложения.</p>
<p style="margin-left:2cm; font-size: 10pt; color: black; font-family: Tahoma;"><strong>Бизнес-анализ.</strong> Большинство организаций использует и данные, и результаты бизнес-анализа. Однако данные (например, хранящиеся в базе данных сведения о заказчике) — это особенности реализации, в то время как результаты бизнес-анализа (такие как информация о сделках нашей компании с конкретным заказчиком) — это активы компании. Поэтому необходимо решить, каким образом будут использоваться эти сведения. Однако на уровне организации не следует принимать решения о том, как приложения будут контролировать данные, на основе бизнес-анализа.</p>
<p style="margin-left:2cm; font-size: 10pt; color: black; font-family: Tahoma;"><strong>Совместное использование кода.</strong> Многие организации считают, что повторное использование компонентов обеспечивается благодаря совместному использованию кода. Удивительно, что это мнение существует, несмотря на неудачные попытки добиться желаемого результата в течение десятков лет. Лучший способ уменьшить объем кода в проекте — делегирование функций (например, с помощью веб-служб), а не совместное использование кода.</p>
<p style="margin-left:2cm; font-size: 10pt; color: black; font-family: Tahoma;"><strong>Интерфейсы API веб-служб</strong>. Многие организации обоснованно полагают, что использование веб-служб является важнейшим условием обеспечения взаимодействия. При этом нередко считается, что это означает обязательную стандартизацию методов использования приложениями интерфейсов API веб-служб. Однако на самом деле интерфейсы API веб-служб лежат намного «ниже» той области, с которой работают приложения. Как правило, приложения используют предоставляемый поставщиком промежуточный уровень (например, предоставляемый платформой Microsoft .NET уровень Windows Communications Framework), избавляющий приложения от необходимости обращаться к сложным интерфейсам API веб-служб. Поскольку каждая платформа использует собственный промежуточный уровень, этот уровень является особенностью реализации приложения.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Из всего вышесказанного можно сделать вывод: корпоративная архитектура и архитектура приложений — это разные понятия. Архитектура приложений определяет возможности приложения, которые должны соответствовать требованиям пользователей этого приложения. Это один из способов, позволяющих добиться экономии в малых масштабах (см. <em>Правило 2. Используйте возможности для экономии &#8220;в мелочах&#8221;</em>). А корпоративная архитектура описывает, каким образом эти приложения работают вместе, позволяя организации получать коммерческую выгоду.</p>
<h3>Заключение</h3>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Корпоративная архитектура может быть важным ресурсом, помогающим организациям находить более эффективные способы применения технологий для поддержки основных бизнес-процессов. К сожалению, многие организации тратят гигантские суммы денег на создание корпоративной архитектуры, а в результате обнаруживают, что их усилия привели лишь к ограниченному эффекту или даже дали отрицательный эффект. Неудачные проекты ценой в сотни миллионов долларов регулярно встречаются и в государственном, и в частном секторе. </p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Ниже перечислены три основные причины столь частого повторения подобных дорогостоящих неудач. Первая причина — чрезмерное увлечение рекурсивными методиками создания архитектуры на основе объектно-ориентированного проектирования и анализа (OODA). Вторая причина — ошибочная уверенность в том, что создание корпоративной архитектуры означает создание подробного плана всей организации. Третья причина — неумение разбить сложные структуры на проекты меньшего размера, которыми можно более эффективно управлять.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Как и любой рекурсивный подход, методологии OODA предоставляют лишь ограниченные возможности управления сложностью. Сложность — это основная проблема, с которой сталкиваются современные организации с высоким уровнем изменчивости. </p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">В этой статье предложен новый подход к созданию корпоративной архитектуры, основанный на вертикальном позиционировании процессов организации, определении их приоритетов и выполнении итераций, при которых основное внимание уделяется времени достижения положительного эффекта (TTV). Такой подход можно назвать итерациями с декомпозицией. В отличие от рекурсивных методик данный подход снижает сложность системы в целом.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">В статье приведены следующие три правила, помогающие добиться успеха при использовании описанной выше стратегии:</p>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">Сначала используйте простое решение, уделяя основное внимание быстрому достижению положительного эффекта.</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">Используйте возможности для экономии «в мелочах», уделяя основное внимание гибкости процессов.</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">Централизуйте взаимодействие, децентрализуйте реализацию, уделяя основное внимание уменьшению сложности путем декомпозиции и ускорению итераций благодаря высокой гибкости.</span></li>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Применение итераций с декомпозицией предоставляет ряд преимуществ по сравнению с рекурсивными методиками. В том числе:</p>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">более эффективное применение технологий для разрешения актуальных проблем бизнеса;</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">значительное уменьшение затрат на создание сложных систем;</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">ускоренная реализация технических проектов, обеспечивающих значительную коммерческую выгоду;</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">более эффективное управление совокупными затратами на создание системы;</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">более точное прогнозирование сроков завершения проекта;</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">значительное повышение вероятности успешного завершения проекта.</span></li>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Итерации с декомпозицией — это наиболее эффективный с экономической точки зрения метод описания целей организации, способов достижения этих целей с помощью бизнес-процессов и методик повышения эффективности обслуживания бизнес-процессов с использованием различных технологий.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Другими словами, применение итераций с декомпозицией позволяет в минимальные сроки и с минимальными затратами реализовывать сложные технические проекты, обеспечивающие значительную коммерческую выгоду. Большая выгода. Минимальное время. Минимальные затраты. Таков результат применения итераций с декомпозицией.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwarepeople.ru/blog/2010/03/09/optimal_way_to_corp_arch_3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Обширная практика как тормоз мышления,</title>
		<link>http://softwarepeople.ru/blog/2010/03/06/practice_is_a_brain_brake/</link>
		<comments>http://softwarepeople.ru/blog/2010/03/06/practice_is_a_brain_brake/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 20:56:17 +0000</pubDate>
		<dc:creator>Денис Петелин</dc:creator>
		
		<category><![CDATA[Peopleware]]></category>

		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://softwarepeople.ru/?p=1706</guid>
		<description><![CDATA[
&#8230;или почему порядка никогда не будет, а КПД всегда будет низким

— Голубчики, — сказал Фёдор Симеонович озабоченно, разобравшись в почерках. — Это же проблема Бен Бецалеля. Калиостро же доказал, что она не имеет решения.
— Как-то странно ты рассуждаешь, Кристо… Как же искать решение, когда его нет? Бессмыслица какая-то…
— Извини, Теодор, но это ты очень странно [...]]]></description>
			<content:encoded><![CDATA[<p></br></p>
<h3><strong>&#8230;или почему порядка никогда не будет, а КПД всегда будет низким</strong></h3>
<p></br></p>
<p style="margin-left:3cm; font-size: 10pt; color: black; font-family: Tahoma;">— Голубчики, — сказал Фёдор Симеонович озабоченно, разобравшись в почерках. — Это же проблема Бен Бецалеля. Калиостро же доказал, что она не имеет решения.</p>
<p style="margin-left:3cm; font-size: 10pt; color: black; font-family: Tahoma;">— Как-то странно ты рассуждаешь, Кристо… Как же искать решение, когда его нет? Бессмыслица какая-то…</p>
<p style="margin-left:3cm; font-size: 10pt; color: black; font-family: Tahoma;">— Извини, Теодор, но это ты очень странно рассуждаешь. Бессмыслица — искать решение, если оно и так есть. Речь идёт о том, как поступать с задачей, которая решения не имеет. Это глубоко принципиальный вопрос…</p>
<p style="margin-left:9cm; font-size: 10pt; color: black; font-family: Tahoma;">Аркадий и Борис Стругацкие<br />
&#8220;Понедельник начинается в субботу&#8221;</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Это предисловие – прямо-таки квинтэссенция дискуссий, апогей которых пришелся в четвертом квартале. В связи с этим могу сообщить следующее:</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Дорогие камрады! Когда вы начинаете работать в определенной предметной области, вы очень быстро становитесь в ней специалистами. “Стать специалистом” – это значит впитать набор знаний, навыков и культурных особенностей этой предметной области (“дОбыча нефти”, ага). Одна из вещей, которые вы впитаете – это набор “традиционно нерешаемых проблем”. То есть их нерешаемость дается как аксиома -хотя на самом деле она когда-то была доказана, но со временем доказательства настолько заездили, что доказанная теорема перешла в область аксиом. И часто новичкам она дается уже в форме аксиомы – мол, смотри, мы всегда делаем так – считай это аксиомой (ну вот “нету ресурсов” – типа типичная аксиома).</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">А тут на самом деле не лишне вспомнить начало – откуда аксиома взялась? Так она теорема? А как она доказывалась? А что бралось за основу? А сработает ли она на другой основе? А что если она из лемм или аксиом в основе неверна? И представить свой проект/отдел как систему – со входами и выходами, функциями преобразования, метриками. И взять текущие данные, и спросить “а почему так? а как можно сделать лучше?”</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">И вы удивитесь – многие проектные и компанейские проблемы (включая самовары известной субстанции) окажутся решаемыми. Но для этого надо чуть-чуть приподнять голову из постоянного пожаротушения – забарывания бесконечных типовых проблем которые “из-практики-мы-знаем-есть-на-каждом-проекте-так-что-надо-просто-писать-код” и подумать - “почему так? в чем причина? как сделать по-другому?”. Искоренение причин – позволяет делать больше с меньшим напрягом. Практика – это не про то чтобы быстро орудовать лопатой, практика – это как построить экскаватор из лопаты и бензопилы “Дружба”.</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Но тут конечно есть большой негативный момент: страдает имидж. Если до этого ты был Супер-Занятой-МегаМенеджер, У Которого Длина Списка Задач 5 Экранов и Который Приходит на Работу в 8ам Утра(ТМ) – то теперь ты выглядишь как расслабленный парень, который ходит и всех хвалит.  Не каждое начальство способно это перенести - это факт: раньше у тебя было открыто 10 позиций, и на очередной встрече с Главным ты докладывал - “10 позиций так и не закрыты, и я вот один, ОДИН! все делаю!”. Ну и было понятно – пацан впахивает! А теперь ты говоришь “ну я вот подумал – не надо мне 10 позиций, нужно 2 и вообще про другое” – тогда вообще непонятно, как тебя оценивать. Видимо, расслабился чувак – за что поощрять? Ну и самооценка опять же страдает – раньше как мерялись: вот у Васи 100 подчиненных, а у меня – 120 – все в порядке! А теперь – даже чем меряться непонятно: показатели эффективности у всех разные, КПД абсолютный не посчитаешь… Имхо вот это как раз и есть главный тормоз решения проблем – ежели побороть источники, думают менеджеры, то чем мы заниматься будем?</p>
<p style="margin-left:1cm; font-size: 10pt; color: black; font-family: Tahoma;">Не волнуйтесь, господа, проблем найдется! Но это уже будет совсем другая история – история про другую галактику <img src='http://softwarepeople.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://softwarepeople.ru/blog/2010/03/06/practice_is_a_brain_brake/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SWP Дайджест № 15</title>
		<link>http://softwarepeople.ru/blog/2010/02/25/swp-15/</link>
		<comments>http://softwarepeople.ru/blog/2010/02/25/swp-15/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 13:06:37 +0000</pubDate>
		<dc:creator>Software People Team</dc:creator>
		
		<category><![CDATA[SWP Дайджест]]></category>

		<guid isPermaLink="false">http://softwarepeople.ru/?p=1696</guid>
		<description><![CDATA[Знаете ли вы, почему все процессы «на бумаге» выглядят совсем иначе, нежели «в жизни»? Почему мы бываем вынуждены говорить одно, а делать совсем другое, когда речь заходит о таком, на первый взгляд, простом и ясном деле, как разработка программного обеспечения и управление IT-проектами? Секрет в «серой логике», мастерство владения которой должен продемонстрировать любой менеджер проекта. [...]]]></description>
			<content:encoded><![CDATA[<p>Знаете ли вы, почему все процессы «на бумаге» выглядят совсем иначе, нежели «в жизни»? Почему мы бываем вынуждены говорить одно, а делать совсем другое, когда речь заходит о таком, на первый взгляд, простом и ясном деле, как разработка программного обеспечения и управление IT-проектами? Секрет в «серой логике», мастерство владения которой должен продемонстрировать любой менеджер проекта. О «серой логике» и о скрытой мощи этого оружия рассказывает Алексей Дробнич. «Используй серую логику, Люк!»<br /><a href="http://softwarepeople.ru/blog/2010/02/24/dobrych-grey-logic/?utm_source=digest15&#038;utm_medium=site" target="_blank"><font color="#094B6A">Читать статью</font></a></p>
<p>Почему некоторые автоматизированные системы причиняют людям столько всяких неудобств? Почему большое количество ИТ-систем создается не для того, чтобы максимально облегчить жизнь пользователям, а с какой-то другой целью? Об этом уже было рассказано много историй. Об очередном опыте неравной борьбы человека с машиной рассказывает Михаил Острогорский: «Автоматизированные системы кусают людей»<br /><a href="http://softwarepeople.ru/blog/2010/02/24/automated-systems-bite/?utm_source=digest15&#038;utm_medium=site" target="_blank"><font color="#094B6A">Читать статью</font></a></p>
<p>В статье Алексея Янчука «О культурных различиях и «профессиональных стандартах»» рассказывается о различии моделей, по которым строится профессиональный стандарт в разных странах, в частности, в России и в западных странах. Автор статьи полемизирует с разработчиками проекта российских профессиональных стандартов в области ИТ <br /><a href="http://softwarepeople.ru/blog/2010/02/25/yanchuk-cultural-differences/?utm_source=digest15&#038;utm_medium=site" target="_blank"><font color="#094B6A">Читать статью</font></a></p>
<p>Говоря об эффективной корпоративной архитектуре, нельзя не принимать во внимание такой аспект, как сложность системы. Во второй части статьи “Оптимальный путь к корпоративным архитектурам”   Роджер Сешнс дает определение сложности системы и показывает, каким образом декомпозиция и итерации помогают бороться со сложностью систем.<br /><a href="http://softwarepeople.ru/blog/2010/02/25/optimal_way_to_architecture2/?utm_source=digest15&#038;utm_medium=site" target="_blank"><font color="#094B6A">Читать статью</font></a></p>
<hr color="#CCCCCC" />
<p><strong>События:</strong></p>
<p>12 марта <a href="http://careerlab.ru/education/guru-academy/certified-usability-professional/?utm_source=digest15&#038;utm_medium=site" target="_blank"><font color="#094B6A"><strong>Certified Usability Professional: «Анализ пользователей и задач бизнеса»</strong></font></a></p>
<p>Приняв участие в CUP, вы получите все необходимые знания о юзабилити в одной учебной программе. Теоретические блоки программы созданы в формате онлайн-курсов, а значит, Вы можете учиться в удобное для Вас время и в удобном месте. После успешной сдачи экзамена выдается сертификат. <br />
        <em>Стоимость 12 000 рублей</em> </p>
<p>
      </p>
<p>26 марта, Москва <a href="http://edconf.ru/?utm_source=digest15&#038;utm_medium=site" target="_blank"><font color="#094B6A"><strong>Enterprise Developers Conference</strong></font></a></p>
<p>Enterprise Developers Conference — первая конференция для технических директоров, руководителей разработки, архитекторов и разработчиков крупных компаний о технологиях и решениях для эффективной поддержки бизнеса. Вы узнаете о MDD от одного из его авторов Кейта Шорта, о том, как организовать распределенную Agile разработку, о том, как уже завтра в 8:05 положить на стол руководства детальный отчет по прогрессу разрабатываемой системы и о многом другом.<br />
        <em>Стоимость 10 000 рублей. Специальное пакетное предложение для организаций.</em></p>
<hr color="#CCCCCC" />
<p><strong>Новость от Спанч Боба</strong></p>
<p>Недавно я задумался о том, что такое тестирование, как, когда и зачем оно должно проводиться и кто должен искать «баги».<br />
        Я расспросил об этом своих друзей. Друзья прислали мне ссылку на <a href="http://rutube.ru/tracks/2921945.html?v=f733e8197644d4d0095dee39769b3d29" target="_blank"><font color="#094B6A">ролик</font></a>. Я вообще очень люблю ролики, а в этом ролике все очень подробно рассказано. И даже показано. А какой там перевод! Мне показалось, что он чем-то напоминает знаменитого Гоблина.<br />
        Однако мне так и не удалось понять одного: о какой методологии рассказывал в этом ролике докладчик? В прошлый раз, просмотрев ролик про waterfall, я все понял, и даже ответил на несколько вопросов. А вот сейчас я – увы – затрудняюсь отвечать на вопросы, и поэтому решил обратиться за помощью к аудитории. Помогите мне, пожалуйста, и объясните, что это за методология и каковы ее основные преимущества. Я поговорил с организаторами конференции <a href="http://msqadays.ru/?utm_source=digest15&#038;utm_medium=site" target="_blank"><font color="#094B6A">Microsoft Quality Assurance Day</font></a>, и они сказали, что первый, кто пришлет мне краткий и точный ответ, сможет участвовать в конференции бесплатно! Ответы можно отправить на <a href="mailto:info@careerlab.ru"><font color="#094B6A">info@careerlab.ru</font></a>. В комментариях к этому дайджесту на сайте я назову победителя.</p>
</tr>
</table>
<p></font><br />
</body><br />
</html></p>
]]></content:encoded>
			<wfw:commentRss>http://softwarepeople.ru/blog/2010/02/25/swp-15/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Оптимальный путь к корпоративным архитектурам (Часть 2)</title>
		<link>http://softwarepeople.ru/blog/2010/02/25/optimal_way_to_architecture2/</link>
		<comments>http://softwarepeople.ru/blog/2010/02/25/optimal_way_to_architecture2/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 09:43:19 +0000</pubDate>
		<dc:creator>microsoft</dc:creator>
		
		<category><![CDATA[ALM]]></category>

		<category><![CDATA[Другое]]></category>

		<category><![CDATA[Методологии]]></category>

		<category><![CDATA[Технологии]]></category>

		<guid isPermaLink="false">http://softwarepeople.ru/?p=1605</guid>
		<description><![CDATA[Роджер Сешнс (Roger Sessions)
Это продолжение статьи Роджера Сешнса &#8220;Оптимальный путь к корпоративным архитектурам&#8221;. Рекомендуем прочитать первую часть

Сложность
Чтобы определить причины неудач при использовании различных методик создания корпоративных архитектур, нужно понять, что общего между всеми неудачными попытками создания корпоративных архитектур. Что же общего у столь разных систем — у системы управления финансами Налогового управления, системы управления бизнесом [...]]]></description>
			<content:encoded><![CDATA[<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;"><strong>Роджер Сешнс (Roger Sessions)</strong></span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Это продолжение статьи Роджера Сешнса &#8220;Оптимальный путь к корпоративным архитектурам&#8221;. Рекомендуем прочитать <a href="http://softwarepeople.ru/blog/2010/02/09/optimal_way_to_architecture/">первую часть</a></span></p>
<hr noshade color="eeeeee">
<h3>Сложность</h3>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Чтобы определить причины неудач при использовании различных методик создания корпоративных архитектур, нужно понять, что общего между всеми неудачными попытками создания корпоративных архитектур. Что же общего у столь разных систем — у системы управления финансами Налогового управления, системы управления бизнесом Министерства обороны, системы управления действиями в чрезвычайных ситуациях Министерства национальной безопасности, системы управления ФБР Virtual Case File, системы управления бизнесом компании Макдоналдс, системы закупок компании Форд и системы управления каналом поставок компании KMart?</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">У всех этих систем только одна общая характеристика — <em>сложность</em>. Все эти системы обладают высокой сложностью. Я считаю, что основным недостатком архитектур FEAF и TOGAF и архитектуры Захмана является невозможность управления сложностью систем.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">К сожалению, сложность — это не сиюминутная помеха. Можно с уверенностью сделать три предположения о будущем ИТ-отрасли:</span></p>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">Сложность будет только возрастать.</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Если мы не найдем методы управления сложностью, мы обречены на неудачу.</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">Существующие методы не работают.</span></li>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">В недавней статье, опубликованной в InformIT, Ричард Мур (Richard Murch) охарактеризовал положение дел следующим образом:</span></p>
<p style="margin-left:1cm; background-color:#eeeeee; font-size: 10pt; color: black; font-family: Tahoma;">&#8220;Ничего не предпринимать, чтобы помешать дальнейшему повышению сложности ИТ-инфраструктур и архитектур — неприемлемо и безответственно. Если мы просто бросим на решение этой проблемы новых квалифицированных программистов и других специалистов, настанет хаос &#8230; Пока пользователи и поставщики ИТ-систем решают проблему сложности похожим образом, подобные проблемы будут возникать снова и снова, мешая работе отрасли&#8221;. [Mur]</p>
<h3>Моделирование сложности</h3>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Чтобы управлять сложностью, необходимо вначале понять ее особенности. Научившись моделировать сложность, мы сделаем большой шаг к ее пониманию.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Лучшая модель сложности, которая мне известна, — это игральный кубик. Она интуитивно понятна, наглядна, предсказуема и математически обоснована. Я изложил основные положения этой модели в виде закона сложности Сешнса: <strong>сложность системы является функцией числа возможных состояний системы</strong></span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Для понимания этого закона воспользуемся кубиком. Я буду сравнивать сложность двух случайных систем: системы А и системы Б, показанных на рис. 1. Система А состоит из одной двусторонней фигуры (т. е. &#8220;монеты&#8221;). Система Б состоит из одного кубика с шестью гранями (стандартный игральный кубик).</span></p>
<div id="attachment_1626" class="wp-caption aligncenter" style="width: 443px"><img src="http://softwarepeople.ru/files/2010/02/pic011.png" alt="Рис. 1. Система А и система Б" title="pic011" width="433" height="259" class="size-full wp-image-1626" /><p class="wp-caption-text">Рис. 1. Система А и система Б</p></div>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Система А имеет два возможных состояния: орел и решка. Система Б имеет шесть возможных состояний: 1, 2, 3, 4, 5 и 6. В соответствии с законом сложности Сешнса система Б в 6/2 раз (т. е. в 3 раза) сложнее системы А. Даже если не вникать в математическое обоснование, это интуитивно понятно.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">В общем случае число состояний системы, состоящей из D кубиков, каждый из которых имеет S сторон, равно SD. С помощью этой формулы мы можем определять сложность других систем.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Теперь давайте сравним системы Б и В. Система Б, как и ранее, состоит из одного кубика с шестью гранями, а система В — из трех кубиков с шестью гранями, как показано на рис. 2.</span></p>
<div id="attachment_1629" class="wp-caption aligncenter" style="width: 781px"><img src="http://softwarepeople.ru/files/2010/02/pic02.png" alt="Рис. 2. Система Б и система В" title="pic02" width="771" height="258" class="size-full wp-image-1629" /><p class="wp-caption-text">Рис. 2. Система Б и система В</p></div>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Число состояний системы Б по-прежнему равно 6<sup>1</sup> (или 6), а число состояний системы В равно 6<sup>3</sup> (т. е. 216). В соответствии с законом сложности Сешнса система В в 216/6 раз (т. е. в 36 раз) сложнее системы Б.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Если вы захотите предсказать результат броска кубиков в системе В, у вас будет 1 шанс из 216 угадать правильную комбинацию. Если вы захотите предсказать результат броска кубиков в системе Б, у вас будет 1 шанс из 6 угадать правильную комбинацию. Если вы сделаете серию предсказаний относительно обеих систем, в среднем вы сможете правильно предсказать состояние системы Б в 36 раз чаще, чем системы В. Поскольку система Б менее сложная, чем система В, она легче поддается прогнозированию</span></p>
<h3>Декомпозиция</h3>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Используя эту базовую модель сложности, мы можем найти методы, позволяющие усовершенствовать организацию сложных систем.<br />
Сравним две системы — систему В и систему Г, — каждая из которых состоит из трех шестигранных кубиков. В системе В кубики, как и ранее, находятся вместе, а в системе Г разделены на три подсистемы. Эти системы показаны на рис. 3.</span></p>
<div id="attachment_1629" class="wp-caption aligncenter" style="width: 781px"><img src="http://softwarepeople.ru/files/2010/02/pic03.png" alt="Рис. 3. Система В и система Г" title="Рис. 3. Система В и система Г" width="581" height="182" class="aligncenter size-full wp-image-1659" /><p class="wp-caption-text">Рис. 3. Система В и система Г</p></div>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Предположим, мы можем использовать каждую из трех подсистем независимо (т. е. каждая подсистема будет представлять собой систему, подобную системе Б).</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Мы знаем, что сложность системы В будет равна 216. Совокупная сложность системы Г определяется как сумма сложностей подсистем 1, 2 и 3. В соответствии с правилом S<sup>D</sup>, сложность каждой подсистемы будет равна 6<sup>1</sup>, или 6. Таким образом, сложность системы Г будет равна 6+6+6, или 18.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Если вас это не убеждает, представьте себе, что вам надо проверить правильность работы систем В и Г. При проверке системы В вам придется проверить правильность 216 различных состояний, а при проверке системы Г — только 6 различных состояний при проверке работы первой подсистемы, еще 6 — при проверке работы второй подсистемы и еще 6 — при проверке работы третьей.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Таким образом, сложность системы, состоящей из P подсистем, каждая из которых имеет сложность C, составляет C*P. Если каждая подсистема будет состоять только из одного кубика, эта формула примет вид S<sup>1</sup>*D, что снижает сложность до S*D.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Теперь давайте обобщим полученный результат на все системы, прошедшие и не прошедшие декомпозицию. Чтобы упростить задачу, предположим, что подсистемы всегда состоят из одного кубика (как в случае с системой Г). При этом сложность системы, не проходившей декомпозицию (например, системы В) всегда равна S<sup>D</sup>, а сложность системы, прошедшей декомпозицию (например, системы Г), всегда равна S*D.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Таким образом, вопрос можно свести к следующему: как соотносятся между собой формулы (S*D) и (S<sup>D</sup>)? В таблице 1 приведены значения, вычисленные по формулам S*D (система с декомпозицией) и S<sup>D</sup> (система без декомпозиции) для различных значений величин S и D.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;"><strong>Таблица 1.</strong> Сложность систем с декомпозицией и без декомпозиции</span></p>
<p><img src="http://softwarepeople.ru/files/2010/02/pic04.png" alt="Таблица 1. Сложность систем с декомпозицией и без декомпозиции" title="Таблица 1. Сложность систем с декомпозицией и без декомпозиции" width="272" height="299" class="aligncenter size-full wp-image-1661" /></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Таблица 1 наглядно показывает, насколько система из 9 кубиков, не разбитая на подсистемы, сложнее, чем система, содержащая 9 кубиков, но прошедшая декомпозицию. Отношение сложностей этих систем составляет 10 077 696 к 52 (для неспециалистов: очень-очень(!) много).</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Вывод, который можно сделать на основании таблицы 1, понятен: чем выше совокупная сложность системы, тем сильнее ее можно уменьшить с помощью декомпозиции.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Итак, декомпозиция — это первый метод борьбы со сложностью.</span></p>
<h3>Итерации</h3>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Уменьшив сложность системы с помощью декомпозиции, мы сталкиваемся еще с одной проблемой. Как проанализировать оставшуюся сложность? Существует два подхода: итерационный (слева направо) и рекурсивный (сверху вниз). Чтобы понять отличия этих походов, давайте еще раз рассмотрим модель сложности системы из кубиков, прошедшей декомпозицию (см. рис. 4).</span></p>
<div id="attachment_1629" class="wp-caption aligncenter" style="width: 781px"><img src="http://softwarepeople.ru/files/2010/02/pic05.png" alt="Рис. 4. Система из кубиков после декомпозиции" title="Рис. 4. Система из кубиков после декомпозиции" width="297" height="154" class="aligncenter size-full wp-image-1662" /><p class="wp-caption-text">Рис. 4. Система из кубиков после декомпозиции</p></div>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">При использовании итерационного подхода мы анализируем каждую подсистему по отдельности. Например, сначала проанализируем подсистему 1, затем подсистему 2 и так далее.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Итерационный подход основан на анализе горизонтальных уровней каждой подсистемы. Например, сначала мы должны проанализировать ситуацию, в которой на всех кубиках выпало значение 1, затем — ситуацию, в которой на первом кубике выпала единица, а на остальных — двойки, и так далее, пока не переберем все возможные состояния для всех подсистем.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Какой метод лучше? Итерационный или рекурсивный?</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Для ответа на этот вопрос вернемся в 1950 год, к любознательному полковнику военно-воздушных сил по имени Джон Бойд (John Boyd) [Boy]. Бойда не интересовали вопросы создания сложных ИТ-систем. Скорее всего, он даже никогда не слышал ни про корпоративную архитектуру, ни вообще про ИТ-системы. Он хотел понять, как побеждать в воздушных дуэлях.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Воздушная дуэль — это воздушный бой между двумя пилотами истребителей, каждый из которых старается попасть в соперника раньше, чем соперник попадет в него. Теперь вы понимаете, почему полковник ВВС хотел научиться побеждать в таких боях.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Управление истребителем в воздушном бою — сложнейшая задача. Пилот должен анализировать информацию из множества источников. А в это время противник пытается его сбить. Чтобы понять, насколько сложную задачу должны были решать пилоты Бойда, посмотрите на рис. 5, на котором показана кабина истребителя</span></p>
<div id="attachment_1629" class="wp-caption aligncenter" style="width: 781px"><img src="http://softwarepeople.ru/files/2010/02/pic06.png" alt="Рис. 5. Кабина истребителя" title="Рис. 5. Кабина истребителя" width="298" height="248" class="aligncenter size-full wp-image-1664" /><p class="wp-caption-text">Рис. 5. Кабина истребителя</p></div>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Бойда интересовали не любые воздушные бои, а воздушные бои между самолетами МИГ-15С и F-86s. Бывший пилот и опытный авиаконструктор Бойд очень хорошо знал особенности этих самолетов. Он знал, что МИГ-15 был более совершенным самолетом, чем F-86: он быстрее набирал высоту, быстрее поворачивал и имел большую дальность обзора.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Однако существовала одна проблема. Хотя Бойд и большинство других авиаконструкторов считали МИГ-15 великолепным самолетом, пилоты предпочитали F-86. Причина была очень простой: в одиночных воздушных дуэлях F-86 выигрывал у МИГ-15 девять поединков из десяти.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Эта ситуация заинтересовала Бойда. Почему отличный самолет полностью проигрывает самолету с худшими характеристиками?</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Чтобы разрешить эту проблему, Бойду надо было понять, каким образом пилоты действуют в воздушном бою. У Бойда было существенное преимущество — в прошлом он был не только пилотом, но и одним из самых умелых мастеров воздушных дуэлей, и имел опыт ведения воздушных боев.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Давайте представим себе пилота, участвующего в воздушной дуэли. Назовем его Питом. Бойд предположил, что для Пита воздушный бой состоит из четырех этапов. На первом этапе Пит наблюдает за окружающей обстановкой, включая самолет противника. На втором этапе Пит ориентируется в соответствии с этой ситуацией. На третьем этапе Пит планирует дальнейшие действия, а на четвертом действует.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Таким образом, Пит сначала наблюдает, затем ориентируется, составляет план и действует. Бойд назвал эту последовательность OOPA (observe, orient, plan, act).</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Те, кто читал работы Бойда, могут заметить, что Бойд называл этот цикла OODA — observe, orient, deploy, act (наблюдение, ориентация, развертывание и действие, или НОРД). Однако в этой статье термин &#8220;развертывание&#8221; заменен термином &#8220;планирование&#8221;. Это сделано по двум причинам. Во-первых, чтобы не создавать путаницы для читателей, знающих, что аббревиатура OODA расшифровывается как &#8220;объектно-ориентированное проектирование и анализ&#8221;. Во-вторых, читая работы Бойда, я пришел к выводу, что используемый в ИТ-отрасли термин &#8220;план&#8221; по значению близок к тому, что Бойд называл &#8220;развертыванием&#8221;.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Однако, и это очень важно, Питу приходится выполнять эту последовательность действий снова и снова. То есть Пит все время циклически проходит этапы OOPA. И, разумеется, то же самое делает его противник. Кто же победит? Пит? Или анти-Пит? Мы знаем, что если Пит летает на F-86, он, вероятно, победит. Но почему?</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Кажется, что анти-Пит, управляющий МИГ-15, сможет выполнить этапы цикла OOPA лучше, чем Пит. Поскольку он дальше видит и может сделать более точные наблюдения, а поскольку он быстрее поворачивает и набирает высоту, он должен и быстрее реагировать. Однако анти-Пит проигрывает, а Пит побеждает!</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Бойд решил, что основным фактором, от которого зависит победа в воздушной дуэли, является не способность точнее наблюдать и лучше ориентироваться, планировать и действовать, а возможность выполнять эти этапы быстрее. Другими словами, насколько быстро пилот может выполнить тот или иной этап. Бойд предположил, что скорость выполнения важнее качества.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">После этого Бойд задал вопрос: «Почему пилоты F-86 выполняют эти этапы быстрее?» По мнению Бойда, причина крылась в факторе, которому никто не уделил особого внимания — на F-86 устанавливался штурвал с гидравлическим усилителем, а на МИГ-15 — ручной.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">В результате перемещение штурвала требовало от пилота МИГ-15 несколько больших усилий, чем от пилота F-86. Поэтому, хотя после движения штурвалом МИГ-15 мог быстрее поворачивать и набирать высоту, само перемещение штурвала давалось пилоту МИГ-15 труднее.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">При каждом повторении цикла пилот МИГ-15 уставал немного больше, чем пилот F-86. И чем сильнее он уставал, тем больше времени тратил на выполнения цикла OOPA. Таким образом, пилот МИГ-15 проигрывал не потому, что противник имел перевес, а потому, что отставал в выполнении цикла OOPA. </span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Я изложу открытие Бойда в виде закона повторений Бойда: <strong>в сложных условиях быстрые повторения почти всегда обеспечивают лучшие результаты, чем углубленный анализ</strong>.</span></p>
<h3>Итерации с декомпозицией</h3>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Итак, теперь мы знаем два принципа, позволяющих лучше управлять сложностью корпоративных архитектур. Изучая кубики, мы увидели, что декомпозиция — один из основных способов уменьшения сложности, а из работ Бойда, посвященных воздушным боям, узнали, что лучший способ анализа подсистем сложных систем — последовательные итерации, при выполнении которых необходимо уделять основное внимание скорости, а не полноте.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Теперь давайте посмотрим, как можно применить эти принципы к<br />
 сложным корпоративным архитектурам. Представьте себе крупномасштабную систему управления бизнесом (например, такую, на безуспешное создание которой компания Макдоналдс потратила 170 млн долларов). Я буду называть эту систему СКСУБ (сложная крупномасштабная система управления бизнесом). Предположим, что СКСУБ должна предоставлять следующие возможности:</span></p>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Управление персоналом</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Ведение платежных ведомостей</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Ведение общей бухгалтерской книги</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">Работа с кредиторской задолженностью</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Работа с дебиторской задолженностью</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Выставление счетов</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Работа с активами</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Ведение учета</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Осуществление финансового менеджмента</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;">Портал для сотрудников</span></li>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Как выполнить декомпозицию такой системы? Приведенный выше перечень уже содержит подсказку. Не надо создавать единый гигантский проект СКСУБ. Необходимо создать архитектуру управления кадрами, архитектуру ведения платежных ведомостей — и так далее. Другими словами, не пытайтесь разработать единую, сложную, крупномасштабную систему — создайте несколько небольших и простых систем. Спроектируйте одну систему, разработайте ее и переходите к следующей. <em>Декомпозиция</em> снижает общую сложность. <em>Итерации</em> повышают вероятность успеха.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Можно предположить, что в упомянутых выше неудачных попытках создания корпоративных архитектур (таких как разрабатываемая ФБР система управления виртуальными делами и создаваемая Макдоналдс система управления бизнесом) использовались стандартные методики разработки корпоративных архитектур (такие как FEAF , TOGAF и модель Захмана). Все этим методики не являются итерационными. Поэтому неудивительно, что эти попытки потерпели неудачу. Также неудивительно, что на эти проекты были потрачены очень большие средства.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Во всех методиках разработки корпоративных архитектур сказано, что процесс создания корпоративной архитектуры должен включать следующие этапы:</span></p>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Проектирование бизнес-архитектуры</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Проектирование технической архитектуры</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Реализация</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Тестирование</span></li>
<li><span style="font-size: 10pt; color: black; font-family: Tahoma;"> Развертывание</span></li>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Традиционные методики предполагают, что каждый этап выполняется один раз и полностью завершается до перехода к следующему этапу. Эта ситуация проиллюстрирована на рис. 6.</span></p>
<div id="attachment_1629" class="wp-caption aligncenter" style="width: 781px"><img src="http://softwarepeople.ru/files/2010/02/pic07.png" alt="Рис. 6. Подход на основе создания единого проекта" title="Рис. 6. Подход на основе создания единого проекта" width="504" height="264" class="aligncenter size-full wp-image-1669" /><p class="wp-caption-text">Рис. 6. Подход на основе создания единого проекта</p></div>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Как видно по рисунку 6, создание архитектуры в соответствии с традиционной методикой начинается с углубленного проектирования бизнес-архитектуры конечной системы (например, воображаемой системы СКСУБ, о которой говорилось выше). После этого создается техническая архитектура, а затем выполняются реализация, тестирование, отладка и развертывание. Обратите внимание, что пока полностью не завершится этап развертывания, проект не имеет никакой коммерческой ценности.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Данный пример позволяет также понять, что должны были сделать эти организации. Они должны были использовать итерационный подход с декомпозицией.</span></p>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Итерационный подход с декомпозицией в корне отличается от традиционного подхода. Действия при использовании этого подхода показаны на рис. 7. Обратите внимание, что приведенный выше порядок выполнения этапов не изменился, однако сейчас мы выполняем каждый этап с разбиением на подсистемы.</span></p>
<div id="attachment_1629" class="wp-caption aligncenter" style="width: 781px"><img src="http://softwarepeople.ru/files/2010/02/pic08.png" alt="Рис. 7. Итерации с декомпозицией" title="Рис. 7. Итерации с декомпозицией" width="489" height="335" class="aligncenter size-full wp-image-1670" /><p class="wp-caption-text">Рис. 7. Итерации с декомпозицией</p></div>
<p style="margin: 7.5pt 0cm;"><span style="font-size: 10pt; color: black; font-family: Tahoma;">Результатом такого подхода является постоянное расширение функциональности. Мы не начинаем работу над следующей подсистемой, пока не завершена работа над предыдущей. Хотя одновременное выполнение нескольких проектов — достаточно распространенная ситуация для крупных организаций со сложной структурой, число таких проектов необходимо свести к минимуму, поскольку их одновременное выполнение требует более эффективной координации.</span></p>
<p><strong>Анонс</strong>:<br />
26 марта в Москве пройдет первая <a href="http://edconf.ru">Enterprise Developers Conference</a>.<br />
Если вы архитектор предприятия или разработчик в крупной компании, не пропустите это событие.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwarepeople.ru/blog/2010/02/25/optimal_way_to_architecture2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>О культурных различиях и «профессиональных стандартах»</title>
		<link>http://softwarepeople.ru/blog/2010/02/25/yanchuk-cultural-differences/</link>
		<comments>http://softwarepeople.ru/blog/2010/02/25/yanchuk-cultural-differences/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 21:41:16 +0000</pubDate>
		<dc:creator>Алексей Янчук</dc:creator>
		
		<category><![CDATA[Peopleware]]></category>

		<category><![CDATA[Project Management]]></category>

		<category><![CDATA[Другое]]></category>

		<guid isPermaLink="false">http://softwarepeople.ru/?p=1640</guid>
		<description><![CDATA[Две недели тому назад Наталья Желнова выложила ссылку на российские профессиональные стандарты в области ИТ. За что ей огромное спасибо! Ознакомившись с материалом, был потрясен дважды. Первый раз – тем, что поддержка этому полезному начинанию есть на уровне аж двух министров! Второй раз – когда в должностных инструкциях прочитал, что программист 3го разряда всего с  двумя годами [...]]]></description>
			<content:encoded><![CDATA[<p>Две недели тому назад Наталья Желнова <a onclick="javascript:pageTracker._trackPageview('/outbound/article/softwarepeople.ru');" href="http://softwarepeople.ru/blog/2010/02/02/itspecifics/" target="_self">выложила ссылку</a> на <a onclick="javascript:pageTracker._trackPageview('/outbound/article/www.apkit.ru');" href="http://www.apkit.ru/committees/education/meetings/standarts.php" target="_blank">российские профессиональные стандарты в области ИТ</a>. За что ей огромное спасибо! Ознакомившись с материалом, был потрясен дважды. Первый раз – тем, что поддержка этому полезному начинанию есть на уровне аж двух министров! Второй раз – когда в должностных инструкциях прочитал, что программист 3го разряда всего с  двумя годами работы за плечами (если я правильно интерпретирую документ, конечно) обязан управлять персоналом. В 18+5+2=25 лет? Вспоминаю себя в этом возрасте и вздрагиваю. Интересно, сколько дров наломает среднестатистический программист 3го уровня, которому в 25 лет дали порулить персоналом?<span id="more-1640"></span></p>
<p>Всем, кто на практике работал с европейскими айтишниками, приходилось поначалу (уверен – не раз) сталкиваться с тем, что они просто 2+2 не могут сложить из того, что Вы им объясняете. Проще всего, конечно, окрестить европейцев необразованными, узко мыслящими тупицами. Отдельные работы российских юмористов способствовали укоренению этого стереотипа. Корень этого явления лежит в другом, и этот «Профессиональный Стандарт» показывает это как нельзя ярче.</p>
<p>В России и в Европе под одними и теми же терминами, описывающими организацию работы, зачастую понимают диаметрально противоположные вещи. Поэтому разницу в восприятии (а в некоторых случаях – зияющую пропасть) надо учитывать как при общении с европейцами, так и при адаптации европейского опыта для российских реалий. Я не хочу обидеть как заказчиков, так и уважаемый авторский коллектив российских «Профессиональных Стандартов». Однако этот «Стандарт», будучи переведенным на английский язык как есть и выданным европейскому менеджеру, последним будет воспринят скорее всего следующим образом:</p>
<ul>
<li>Это набор шаблонов должностных инструкций, который почему-то назван «Профессиональным Стандартом», хотя он таким не является;</li>
<li>Этот набор шаблонов был разработан в рамках государственной программы, которая не определила четких целей и, скорее всего, не достигнет реальных положительных результатов из-за плохой организации программы;</li>
<li>Набора шаблонов не имеет понятно определенного статуса;</li>
<li>Преимущества, внедрение, и оперирование этим набором шаблонов внятно не описаны;</li>
<li>Текст, которым написаны документы, включая сопроводительные, указывает на недостаточный трудовой стаж авторов для реализации задач такого рода.</li>
</ul>
<p>Итак, обо всем по порядку.</p>
<h1>Профессиональный Стандарт</h1>
<p>Что европеец хочет сказать фразой «Это не профессионально»? То, что предмет, о котором говорится, не соответствует писанным или неписанным ожиданиям поведения человека или результатов его работы. Т.е. с европейской точки зрения Профессиональный Стандарт обсуждает вопросы этики, ценностей, убеждений в том, что правильно, а что нет. Цель такого стандарта в развитии, продвижении, признании профессии – как коллективно, так и индивидуально. Немаловажно так же, что авторы Профессиональных Стандартов применяют их к себе в первую очередь и призывают всех остальных следовать их примеру.</p>
<h1>Государственная Программа и Ее Цели</h1>
<p>В предисловии Министра информационных технологий и связи буквально во втором параграфе находим следующий текст: «… Однако отрасли не хватает еще около 190 тысяч квалифицированных работников. Именно поэтому в июне 2006 го на заседании Совета по ИТ в Министерстве  информационных технологий и связи Российской Федерации было принято решение о разработке профессиональных стандартов.»</p>
<p>Постановка проблема и ее решение снесет европейцу крышу по самый фундамент. Как этика и ценности могут <strong>с толком</strong>заполнить 190К вакансий? Закидывание телами в краткосрочном периоде приводит еще к большим задержкам и, следовательно, к усугублению ситуации относительно текущей – об этом еще Брукс писал. В долгосрочном периоде возникает вопрос, что делать с людьми при очередных колебаниях рынка.</p>
<p>Как раз здесь полезным будет обратиться к Европейскому опыту. В начале 2000х Германия открыла программу «зеленой карты» для ИТ специалистов. Было определено, сколько рабочих мест в ИТ необходимо заполнить методом ввоза специалистов из-за рубежа <strong>для поддержания устойчивого экономического роста немецкой экономики</strong>. Разницу уловили? А вот результаты этой программы оказались достаточно неоднозначные, и в целом немецкое общество отнеслось к ней не очень позитивно.</p>
<h1>Статус «Профессионального Стандарта»</h1>
<p>В «инструкции по применению» находим , что «… каждый профессиональный стандарт – это нормативный документ рекомендательного характера…». У среднестатистического европейца на этом месте расплавляется мозг: так какой же статус имеет этот «стандарт» : он стандарт или рекомендация?</p>
<p>В работе над конкретным проектом мы руководствуемся тремя группами документов:</p>
<ol>
<li>Законы и контракты. Обязательны к исполнению – и точка;</li>
<li>Стандарты. Внедрение зависит от массы обстоятельств. Но если принято решение соответствовать стандарту, предписаниям стандарта следуют.</li>
<li>Рекомендации и лучшие практики. Полезны в качестве пищи для размышлений.</li>
</ol>
<p>Применение стандартов (кстати, слово «норма» является синонимом) невозможно без понятия «соответствие стандартам». Стандарт может содержать требования, от внедрения которых можно отказаться <strong>при определенных стандартом</strong> обстоятельствах. Стандарт может так же содержать и рекомендации, не обязательные к реализации. Что не меняет <em>предписывающего </em>характера стандарта: соответствуете стандарту означает соответствие <strong>всем</strong>предписаниям. Стандарт рекомендательного характера является <strong>рекомендацией</strong>.</p>
<h1>Преимущества от внедрения</h1>
<p>В заключении раздела «инструкции по применению», посвященному полезности «Стандарта» для работодателей, находим: «В заключение остается добавить, что какой бы подход к формированию своей модели компетенций ни использовала компания, хочется верить, что данные профессиональные стандарты будут ей полезны.» Европейский менталитет транслирует это маркетинговое бла-бла в следующее: «Я понятия не имею, как заставить это работать и что вам это даст.»</p>
<p>Допустим, что я владелец бизнеса. У меня есть проблемы; у меня <em>всегда </em>будут проблемы. Какие <em>мои </em>конкретные проблемы это «Стандарт» может решить? Получу ли я более качественных программистов? Найду внутренние резервы? Смогу удержать тех, кто думает о смене места работы? Улучшится климат в коллективе? Улучшится мотивация? Снизятся издержки? Европейский образ мышления не видит в этой «инструкции» ничего, что могло бы дать не заставляющий думать и догадываться ответ на простой вопрос: «Что это все даст<em>лично мне</em>?»</p>
<h1>А Вот Текст… Обнять и Плакать!</h1>
<p>В Европейских организациях не редкость такое явление как сотрудник-иностранец. Поскольку уровень владения языком у всех разный, существует простой способ быстро определить профессиональный уровень кандидата без скидки на трудности перевода. Он основан на глаголах, которые используются в CV. Когда кандидат пишет, что он:</p>
<ul>
<li><strong>участвовал </strong>в чем-то, то с высокой долей вероятности это начинающий специалист;</li>
<li><strong>делал </strong>что-то,  то с высокой долей вероятности это специалист среднего уровня;</li>
<li><strong>заделиверил </strong>(delivered) что-то, при этом указывает на смысл и место результата работы в проекте, то с высокой долей вероятности это топ-специалист.</li>
</ul>
<p>Начинающие же делятся на две категории: просто начинающие и продвинутые начинающие. Разница между ними в том, что продвинутый начинающий уже умеет делать все, что умеет специалист среднего уровня. Кроме одного: продвинутый начинающий не видит целостной картины того, что происходит.</p>
<p>Теперь сравните два описания одной и той же должностной обязанности:</p>
<ol>
<li>Участие в разработке различных типов требований к программному продукту</li>
<li>В состоянии разработать в течение 2х недель требования к программному продукту, не являющимся критическим для функционирования бизнеса заказчика, имеющего не больше 15ти ключевых функций, требующего не больше 3х человеко-лет трудозатрат при бюджете разработки не более $150,000.</li>
</ol>
<p>Уверен, все понимают, какой из этих вариантов лучше описывает, что конкретный ресурс может, а чего нет. В том числе для конкретного ресурса – дает ему SMART цель того, что он должен уметь, чтобы дотянуть до квалификационного уровня. Европейский менталитет поставит не задумываясь диагноз: текст шаблонов писали Advanced Beginners.</p>
<h1>Заключение</h1>
<p>Начинание в общем и целом хорошее. Получилось – как всегда. Если это первый блин, неудивительно, что он получился комом. Проводим работу над ошибками, выпускаем версию 2.0. Могут ли авторы этого блога что-то сделать в этом направлении? Разумеется, можем. Правительство РФ, обращайтесь!</p>
<p><strong><a href="http://blog.itrainings.ru/2010/02/19/cultural-differences-and-standards/" target="_blank">Источник</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://softwarepeople.ru/blog/2010/02/25/yanchuk-cultural-differences/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
