<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' gd:etag='W/&quot;DEUGRH8yfyp7ImA9WhJQEko.&quot;'><id>tag:blogger.com,1999:blog-6720813213272639052</id><updated>2012-07-26T08:17:05.197+04:00</updated><category term='Белгород'/><category term='DVCS'/><category term='отзывы'/><category term='gidBelgorod'/><category term='планирование'/><category term='tools'/><category term='Git'/><category term='stratoplan'/><category term='XP'/><category term='TeamCity'/><category term='книги'/><category term='uneta'/><category term='itvillage'/><category term='CI'/><category term='Харьков'/><category term='DDD'/><category term='стандарты кодирования'/><category term='конференции'/><category term='uplus'/><category term='MSBuild'/><category term='личное'/><category term='StyleCop'/><category term='.NET'/><category term='экстремальное программирование'/><title>Записки около IT</title><subtitle type='html'>Около IT-шные темы (разработка, управление проектами, личностное развитие и карьерный рост)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.iteamlead.net/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default?redirect=false&amp;v=2'/><link rel='alternate' type='text/html' href='http://www.iteamlead.net/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Игорь Сидоров</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-9UiLV4epbFY/AAAAAAAAAAI/AAAAAAAABFY/0Fxt3g0ELCg/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry gd:etag='W/&quot;CkUBQnk_fyp7ImA9WhRaFUU.&quot;'><id>tag:blogger.com,1999:blog-6720813213272639052.post-1650554834685618817</id><published>2012-02-18T19:48:00.000+04:00</published><updated>2012-02-18T19:50:53.747+04:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2012-02-18T19:50:53.747+04:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='Git'/><category scheme='http://www.blogger.com/atom/ns#' term='DVCS'/><category scheme='http://www.blogger.com/atom/ns#' term='Белгород'/><title>DVCS Распределенные системы контроля версий</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;В рамках встреч белгородского сообщества «ИТ завтрак» в Пыж кафе прочитал доклад по распределенным системам контроля версий.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Пришло семь человек, в следующий раз будем активнее проводить агитационные работы. &amp;nbsp;Это уже второе по счету выступление, первым был Максим Гладких с темой «Микроформаты – зачем?». Следите за анонсами будущих встреч в &lt;a href="https://www.facebook.com/groups/327107150634759/" target="_blank"&gt;группе на facebook&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Презентация и план выступления.&lt;/span&gt;&lt;br /&gt;
&lt;div id="__ss_11404240" style="width: 425px;"&gt;
&lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/11404240?rel=0" width="425"&gt;&lt;/iframe&gt; &lt;br /&gt;
&lt;b style="font-family: Verdana, sans-serif;"&gt;DVCS Distributed Version Control Systems&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;1. Обзор&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Что такое DVCS&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Преимущества&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Ветвление/Слияние&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Недостатки&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Hg vs. Git&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;2.&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: Verdana, sans-serif;"&gt;DVCS за 5 минут&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Центральный репозиторий&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Гибкий рабочий процесс&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Развертывание&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Иерархия доверия&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;3.&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Преимущества&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Работаем offline&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;У каждого своя полная копия&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Это быстро!&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Ветвления/слияния&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;4.&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Слияние в SVN&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;5.&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Слияние в DVCS&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;6.&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Недостатки&lt;/span&gt;&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Потеря простоты модели&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Более, чем один путь сделать одно и тоже&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Нельзя взять часть репозитория&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Надо читать доки :)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;7. Mercurial vs. Git: Who the FUCK cares? Use what YOU like&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;8. Спасибо! Вопросы?&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;После похожего обсуждения DVCS в нашей компании, немного улучшил презентацию, добавил пару фото слайдов и ярких образов из презентации &amp;nbsp;&lt;/span&gt;&lt;a href="http://www.slideshare.net/skalinets/ss-8582389" style="font-family: Verdana, sans-serif;" target="_blank"&gt;«DVCS – будущее сегодня»&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;(автор &lt;/span&gt;&lt;a href="http://tdd4.net/" style="font-family: Verdana, sans-serif;" target="_blank"&gt;Сергей Калинец&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;).&amp;nbsp;Все-таки удачные фото воспринимаются аудиторией гораздо лучше, чем текст.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Ребята были весьма удивлены тому факту, что у нас в компании нет единого стандарта, а используемые инструменты выбирает руководитель проекта.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Что вынес для себя: есть над чем работать – во время выступления&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;не смотреть по сторонам, стараться&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;наладить зрительный контакт с аудиторией. Буду продолжать оттачивать навыки публичных выступлений. Добавил «Камасутру для оратора» в список на прочтение.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Пару ссылок на тему:&lt;/span&gt;&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;&lt;a href="http://www.rsdn.ru/article/tools/Git.xml" target="_blank"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Игорь Ткачев. Git в картинках (использование Git и GitExtensions в Windows)&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://help.github.com/win-set-up-git/" target="_blank"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Установка Git в Windows и первичная настройка аккаунта GitHub&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/progit/progit/tree/master/ru" target="_blank"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;Книга ProGit (перевод на русский язык)&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://cheat.errtheblog.com/s/git" target="_blank"&gt;Шпаргалка по основным командам консоли Git&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/support/wiki/DVCSAnalysis" style="background-color: white; font-family: Verdana, sans-serif; text-align: -webkit-auto;" target="_blank"&gt;Analysis of Git and Mercurial&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6720813213272639052-1650554834685618817?l=www.iteamlead.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.iteamlead.net/feeds/1650554834685618817/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.iteamlead.net/2012/02/dvcs.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/1650554834685618817?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/1650554834685618817?v=2'/><link rel='alternate' type='text/html' href='http://www.iteamlead.net/2012/02/dvcs.html' title='DVCS Распределенные системы контроля версий'/><author><name>Игорь Сидоров</name><uri>https://plus.google.com/107948812312433545255</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-9UiLV4epbFY/AAAAAAAAAAI/AAAAAAAABFY/0Fxt3g0ELCg/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry gd:etag='W/&quot;DUUERHg7eSp7ImA9WhRWEU4.&quot;'><id>tag:blogger.com,1999:blog-6720813213272639052.post-3803228312465888960</id><published>2011-12-29T09:40:00.000+04:00</published><updated>2011-12-29T09:40:05.601+04:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-12-29T09:40:05.601+04:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='личное'/><category scheme='http://www.blogger.com/atom/ns#' term='stratoplan'/><title>Итоги 2011 года</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/-fCw6fxDkxKE/Tvv2HShrtVI/AAAAAAAAA5I/542_gL1oeic/s1600/P1050069.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://3.bp.blogspot.com/-fCw6fxDkxKE/Tvv2HShrtVI/AAAAAAAAA5I/542_gL1oeic/s1600/P1050069.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/-fCw6fxDkxKE/Tvv2HShrtVI/AAAAAAAAA5I/542_gL1oeic/s200/P1050069.JPG" width="200" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Немного истории… 30 декабря 2010, последний рабочий день уходящего года. На ватмане А1 я рисую календарь с планами на год по заданию клуба ИТ-менеджеров «Стратоплан». &amp;nbsp;А там уже налито.. :)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Пост содержит информацию личного характера и обильное выражение эмоций.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Сегодня 29 декабря 2011г., новостные порталы встречают нас темами «5, 7, 10(?) будущих трендов, лучших приложений, &amp;nbsp;ожидаемых гаджетов», самое время подвести итоги 2011 года:&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Принял участие в четырех проектах:&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class="tr_bq" style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;•&amp;nbsp;Электронная очередь «Нотариус», руководитель проекта/разработчик. Т&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;еперь у меня есть знакомый нотариус.&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class="tr_bq" style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;•&amp;nbsp;Информационная система Единый Регистр Застрахованных г. Санкт-Петербург, «old school edition = Oracle + stored procs + JBoss AppServer », разработчик.&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class="tr_bq" style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;•&amp;nbsp;Типовая ИС ЕРЗ, &amp;nbsp;«new wave edition = MS SQL Server &amp;nbsp;+ NHibernate + WCF Services», разработчик. Распределенные системы контроля версий git, разработка через тестирование TDD.&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class="tr_bq" style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;•&amp;nbsp;Электронная очередь «МОТОТРЭР», руководитель проекта/разработчик.&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Каждый новый год мы с друзьями собираемся и внедряем электронную очередь.&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Провел 2 месяца в командировке в Питере.&lt;/b&gt; Питер волшебный, наверное, в России больше нет таких красивых городов. Люблю командировки :)&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Провел зимний отпуск в Карпатах.&lt;/b&gt; Съехал на сноуборде с черной трассы &lt;a href="http://bukovel.com/" target="_blank"&gt;Буковеля&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Был свидетелем на свадьбе четы &lt;a href="http://vkontakte.ru/kr1_s" target="_blank"&gt;Кришталь&lt;/a&gt;.&lt;/b&gt; Моя любимая пара!&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Провел летний отпуск в Гурзуфе. &lt;/b&gt;&amp;nbsp;Свадебное путешествие с &lt;a href="http://vkontakte.ru/id6104105" target="_blank"&gt;Кришталями&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Преодолел детский страх и узнал, как это - получать удовольствие от танца с девушкой. :)) &lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Спасибо партнерше Танюше и &lt;a href="http://vkontakte.ru/dirtydancing" target="_blank"&gt;тренеру Димке&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Влюбился и опять расстался. Надежды не теряю.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Прочитал/прослушал книги/аудиокниги:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Приемы объектно-ориентированного проектирования. Паттерны проектирования.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Глеб Архангельский.&amp;nbsp;Формулы времени. Тайм менеджмент на Outlook 007-2010.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Мартин Фаулер. Шаблоны корпоративных приложений.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Роберт Гласс.&amp;nbsp;Факты и заблуждения профессионального программиста.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Том Демарко, Тимоти Листер. Балдеющие от адреналина и зомбированные шаблонами. Паттерны поведения проектных команд.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Стивен Р. Кови.&amp;nbsp;Семь навыков высокоэффективных людей.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Джоэл о программировании.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Джоэл и снова о программировании.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Кент Бек, Мартин Фаулер.&amp;nbsp;Экстремальное программирование. Постановка процесса.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Roy Osherove. The Art of Unit Testing With Examples&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Кент Бек, Мартин Фаулер.&amp;nbsp;Экстремальное программирование. Планирование.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Эрик Синк.&amp;nbsp;Бизнес для программистов.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Этюды на тему быстрой разработки программного обеспечения.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;RTFM. Книга про ИТ-аутсорсинг. Как создать сервисную ИТ-компанию.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Rework. Бизнес без предрассудков.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;a href="http://motivateme.ru/book/" target="_blank"&gt;Стас Давыдов. Не мешайте мне работать.&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;a href="http://www.it4business.ru/mbb" target="_blank"&gt;Слава Панкратов. Черная книга менеджера.&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Эрик Эванс. Предметно-ориентированное проектирование. Структуризация сложных программных систем.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Глеб Архангельский. Тайм-драйв.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Бодо Шеффер. Искусство управлять своим временем.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Джек Уэлч. Победитель.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Ицхак Адизес. Идеальный руководитель.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;Ларри Кинг. Как разговаривать с кем угодно, когда угодно и где угодно.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="font-family: Verdana, sans-serif;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Посетил две конференции &lt;a href="http://www.iteamlead.net/2011/10/uneta-1-2011.html" target="_blank"&gt;UNETA+ &lt;/a&gt;и &lt;a href="http://network-ua.com/" target="_blank"&gt;NetWork&lt;/a&gt; в Харькове.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Завел блог.&lt;/b&gt; В подарок на НГ купил себе &lt;a href="http://www.iteamlead.net/" target="_blank"&gt;доменное имя&lt;/a&gt; и отпраздновал 1к посещений.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Завершил обучение в первом &lt;a href="http://www.stratoplan.ru/clubs/t2m/" target="_blank"&gt;клубе IT-менеджеров Стратоплан&lt;/a&gt;.&lt;/b&gt; Перед началом обучения в клубе ставилась амбициозная цель «в IT-менеджеры за 1 год». &amp;nbsp;Менеджером я, увы, не стал, получил наставление от тренеров «вам надо уезжать из города/переходить в другую компанию». Решил остаться в Белгороде, скорее по личным причинам. Тем не менее, участие в клубе дало огромнейший толчок в собственном развитии. Если бы не клуб, уверен, что многого из перечисленного здесь в моей жизни не произошло. Кому надо, могу помочь со скидкой.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Решил, что мне интересно в данный момент.&lt;/b&gt; Общаться с людьми, управлять проектами и командами, развиваться и измерять эффективность, осваивать новые практики и навыки, мотивировать и организовывать людей.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Взял ипотечный кредит.&lt;/b&gt; Теперь &lt;strike&gt;сижу на хлебе и воде&lt;/strike&gt; экономлю, почти как в чудесные студенческие годы. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Классный был год, приятно вспомнить. Пост написал на одном дыхании, &amp;nbsp;потом, правда, &amp;nbsp;еще долго ошибки исправлял.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;А чем вам запомнился уходящий год?&lt;/b&gt; Подведение итогов, кстати, залог успешного тайм-менеджмента. Буду очень рад вашим комментариям.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Ураа, ураа, улююлюю, парней уважаю, девчонок люблю!! :)) Всех с Новым Годом!!&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6720813213272639052-3803228312465888960?l=www.iteamlead.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.iteamlead.net/feeds/3803228312465888960/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.iteamlead.net/2011/12/2011.html#comment-form' title='Комментарии: 3'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/3803228312465888960?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/3803228312465888960?v=2'/><link rel='alternate' type='text/html' href='http://www.iteamlead.net/2011/12/2011.html' title='Итоги 2011 года'/><author><name>Игорь Сидоров</name><uri>https://plus.google.com/107948812312433545255</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-9UiLV4epbFY/AAAAAAAAAAI/AAAAAAAABFY/0Fxt3g0ELCg/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-fCw6fxDkxKE/Tvv2HShrtVI/AAAAAAAAA5I/542_gL1oeic/s72-c/P1050069.JPG' height='72' width='72'/><thr:total>3</thr:total><georss:featurename>Белгород, Белгородская область, Россия</georss:featurename><georss:point>50.6166667 36.5833333</georss:point><georss:box>50.5360662 36.4254048 50.697267200000006 36.7412618</georss:box></entry><entry gd:etag='W/&quot;Dk4NSH89eyp7ImA9WhRXGUo.&quot;'><id>tag:blogger.com,1999:blog-6720813213272639052.post-6140414883264011321</id><published>2011-12-25T15:56:00.001+04:00</published><updated>2011-12-27T12:36:39.163+04:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-12-27T12:36:39.163+04:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='XP'/><category scheme='http://www.blogger.com/atom/ns#' term='экстремальное программирование'/><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><category scheme='http://www.blogger.com/atom/ns#' term='отзывы'/><category scheme='http://www.blogger.com/atom/ns#' term='планирование'/><title>Экстремальное программирование XP: планирование</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;a href="http://www.extremeprogramming.org/images/xplogo.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" src="http://www.extremeprogramming.org/images/xplogo.gif" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Планирование&amp;nbsp;&lt;span class="Apple-style-span" style="background-color: white; line-height: 17px;"&gt;проекта разработки&amp;nbsp;&lt;/span&gt;- важнейший процесс взаимодействия между заказчиком и командой разработчиков. &lt;a href="http://www.extremeprogramming.org/" target="_blank"&gt;XP&lt;/a&gt;&amp;nbsp;определяет&amp;nbsp;принципы и ценность&amp;nbsp;планирования,&amp;nbsp;цели и  поведение участников этого процесса. Конечно, практика всегда внесет коррективы в любую методологию, но многие ошибки начинающих часто связаны с непониманием основ.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;План должен отражать реальный ход проекта&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Если реальные события не укладываются в рамки плана, человек начинает опасаться, что в случае неудачи именно он останется виновным. Страх заставляет его скрывать истинное положение вещей. Чем дальше, тем больше план становится недостижимой иллюзией.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Если все идет по плану, это тревожный признак. Самое худшее - отрыв плана от реальности.&amp;nbsp;В результате клиент приходит в ярость, он строил ожидания на основе этого плана, разработчики старались делать все как можно лучше, но не смогли сделать невозможное - превратить иллюзию в реальность.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Если вы перегружены работой, это не значит, что у вас слишком мало времени. Просто вы взвалили на себя слишком много дел. Время растянуть невозможно, а вот сократить количество дел по силам каждому.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Цели и задачи планирования&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Решить, стоит ли сейчас заниматься именно этой задачей.&lt;/span&gt;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Координировать деятельность команды и других людей.&lt;/span&gt;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Оценивать последствия возможных неожиданностей.&lt;/span&gt;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Расставить задачи по приоритетам.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Права заказчика&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Получить общий план работ, узнать, что может быть сделано, когда и за какие деньги.&lt;/span&gt;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Контролировать ход выполнения проекта.&lt;/span&gt;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Менять решения, менять требования и приоритеты.&lt;/span&gt;&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Остановить проект в любое время и получить работающую версию.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Права разработчика&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Знать, что делать и каков приоритет задачи.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Производить качественный программный продукт.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Самостоятельно оценивать объем трудозатрат по задачам, а потом вносить изменения в оценки.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Самостоятельно взять на себя ответственность за решение задачи.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Обязанности заказчика&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Высказывать пожелания относительно функциональности системы&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Определять важность каждого пожелания с точки зрения бизнеса&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Решать, какие именно задачи нужно будет выполнить уже в этой версии.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Обязанности разработчиков&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Определять трудозатраты по задачам&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Предупреждать о технических рисках&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Вычислять объем проделанной работы для оценки общего бюджета проекта.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Функциональные требования к системе оформляются в виде пожеланий.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Каждое пожелание должно представлять для клиента ценность и при этом быть небольшим, чтобы за одну итерацию разработчики могли реализовать 5-6 таких пожеланий.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Пожелание представляет собой соглашение между разработчиками и заказчиками о том, что они ещё вернутся к разговору об этом свойстве системы в ходе выполнения итерации.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Суть XP - поставить клиентам тот продукт, который в каждой своей версии отвечал бы требованиям и пожеланиям клиента. Им не нужна система, в которой реализованы неправильно истолкованные в начале проекта требования.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Планирование итерации&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Выбрать и детализировать пожелания заказчика на итерацию.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Разбить каждое пожелание на конкретные задачи.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Добавить необходимые технические задачи.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Оценка разработчиками времени выполнения задач согласно своей скорости работы. &amp;nbsp;Каждая задача не должна занимать более одного-трех дней работы.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Существует только два рычага для манипулирования: время и объем работ, качество системы должно оставаться неизменно высоким. Исправление ошибок в программе нужно планировать одновременно с планированием итерации. Клиент решит, что ему важнее - исправить ошибки или получить новую функциональность. Планирование должно показать, как отображается на сроках поставки системы всякое добавление в систему новых функциональных свойств.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Оценка хода работ&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Пару раз в неделю наблюдатель проверяет, что происходит в ходе текущей итерации. Никаких совещаний - просто беседует с каждым разработчиком. Задает два вопроса относительно тех задач, которые взял разработчик во время планирования итерации:&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Сколько идеальных дней ты уже потратил на эту задачу?&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Сколько идеальных дней тебе понадобится, чтобы ее закончить?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Важно почувствовать, как сам разработчик оценивает свой темп работы.&amp;nbsp;Если разработчик не выполняет собственные оценки, возможно, он помогает коллегам, или же существует некий отвлекающий фактор, пожирающий время.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Никогда не сдвигайте сроки!&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Пропуск сроков поставки - потеря контроля над проектом.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Работа в каждой итерации при этом протекает с некоторой долей неуверенности в конечном результате. Нельзя терять возможность ясно понять, на какой стадии находится проект.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Перенос сроков – привычка, от которой очень трудно избавиться. Из-за постоянных переносов заказчик потеряет доверие, или же назначит дату, которую никак нельзя пропустить. Необходимо заранее обговорить с заказчиком процедуру переноса задач.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Сроки выпуска версии системы всегда устанавливаются исходя из коммерческих интересов.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://piter.com/upload/covers_bitrix_b/31800111.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="200" src="http://piter.com/upload/covers_bitrix_b/31800111.jpg" width="143" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Подробнее в книге &lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;a href="http://www.ozon.ru/context/detail/id/1332101/" target="_blank"&gt;Экстремальное программирование: планирование&lt;/a&gt;&amp;nbsp;(&lt;a href="http://www.amazon.com/Planning-Extreme-Programming-Kent-Beck/dp/0201710919" target="_blank"&gt;Planning Extreme Programming&lt;/a&gt;) Кента Бека и Мартина Фаулера.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6720813213272639052-6140414883264011321?l=www.iteamlead.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.iteamlead.net/feeds/6140414883264011321/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.iteamlead.net/2011/12/xp.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/6140414883264011321?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/6140414883264011321?v=2'/><link rel='alternate' type='text/html' href='http://www.iteamlead.net/2011/12/xp.html' title='Экстремальное программирование XP: планирование'/><author><name>Игорь Сидоров</name><uri>https://plus.google.com/107948812312433545255</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-9UiLV4epbFY/AAAAAAAAAAI/AAAAAAAABFY/0Fxt3g0ELCg/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry gd:etag='W/&quot;CEEFRnkyfSp7ImA9WhRXGEw.&quot;'><id>tag:blogger.com,1999:blog-6720813213272639052.post-2689528256792935262</id><published>2011-11-25T11:06:00.001+04:00</published><updated>2011-12-25T15:30:17.795+04:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-12-25T15:30:17.795+04:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='itvillage'/><category scheme='http://www.blogger.com/atom/ns#' term='gidBelgorod'/><category scheme='http://www.blogger.com/atom/ns#' term='конференции'/><title>IT[Village]: Управление IT командами в компании HeadHunter</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
Вчера в офисе &lt;a href="http://gidbelgorod.ru/"&gt;gidBelgorod&lt;/a&gt;&amp;nbsp;прошла &lt;a href="http://itvillage.gidbelgorod.ru/"&gt;Skype-конференция IT[Village]&lt;/a&gt; с президентом Юрием Вировцом и техническим директором Сергеем Никулиным компании &lt;a href="http://hh.ru/"&gt;HeadHunter&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-y4MBwpA25YU/Ts9PdBmVeqI/AAAAAAAAA38/4bnmJcWA6zE/s1600/ad8064f937ceea2c94d223067bsh.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://2.bp.blogspot.com/-y4MBwpA25YU/Ts9PdBmVeqI/AAAAAAAAA38/4bnmJcWA6zE/s320/ad8064f937ceea2c94d223067bsh.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Пришли с морозу, &amp;nbsp;отогрелись вкусным чаем, кофе, печенюшками, уселись поудобнее перед проектором и вебкамерой.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Разговор начался &amp;nbsp;с истории становления и развития компании. Коллеги рассказали, как родился и вырос отдел разработки HeadHunter: &amp;nbsp;с трех разработчиков, способных выполнить любую задачу до нескольких распределенных команд в Москве и Минске.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Работа в HH выполняется автономными продуктовыми командами, работающими по Scrum. Во главе каждой команды стоит классический PM – связующее звено между разработчиками и заказчиками (не IT отделы HH). &amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Каждую неделю проводятся совещания ведущих разработчиков, на которых обсуждаются &amp;nbsp;технические детали и вопросы реализации с целью исключить изобретение «велосипедов», использование взаимоисключающих технологий, выработать единые подходы и принципы принимаемых решений в разработке.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
По каждому функциональному направлению (разработка серверной части, верстка, тестирование) выделены лидеры, определяющие единые для всех команд стандарты разработки и используемые инструменты.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Официально введены и используются при общении с заказчиками понятия технического долга и технического налога. Задачи рефакторинга, оптимизации, исправления компромиссных решений непосредственно включается в беклог. Четко установлено ограничение: долги не должны увеличиваться более чем на 30% в месяц.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
После этого обсуждение перешло к используемой в HeadHunter системе мотивации сотрудников.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Размер вознаграждения получаемого сотрудниками состоит из оклада(ставки) и бонусного фонда (премии) по умолчанию в равных размерах. Размер оклада фиксирован, размер бонуса может меняться.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
30% премии сотрудники получают за выполнение бюрократических ограничений, например таких как (!!!) все 8 рабочих часов должны быть расписаны по задачам в тайм-трекере JIRA - оценки затраченного времени используются при планировании задач.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Устанавливается оценки за техническую дисциплину: проверка кода на соответствие введенным стандартам качества. Оценка определяет коэффициент от -50% до + 20% для оставшихся 70 % премии. &amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Оценка проводится каждый месяц, работа команды оценивается в целом . &amp;nbsp;Бонусный фонд делится между командой пропорционально размерам ЗП. По результатам работы команды заказчик может внести необходимые коррективы.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Ответы на некоторые вопросы слушателей:&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
- Занимается ли HH инвестированием стартапов?&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
- HH заинтересован в перспективных проектах, но только в области основной компетенции компании - подбора и найма персонала. Например, не так давно HH инвестировал в стартап &lt;a href="http://%20itmozg.ru/"&gt;ITMOZG&lt;/a&gt;.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
- В чем успех HH? &amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
- Успех – угаданная потребность рынка, огромные инвестиции в offline рекламу и создание бренда. Проведена огромная работа над тем, чтобы, как только человек захотел сменить работу – он сразу же подумал про HeadHunter. HH уже в головах людей, а технологии легко скопировать.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
- Идеи и перспективные области с вашей точки зрения?&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
- Интересны продукты на стыке следующих областей: мобильный интернет, использование геолокальных &amp;nbsp;сервисов и социальных сетей. Например, еще никто не реализовал удачное приложение для Facebook для поиска работы внутри социальной сети.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
В завершении подчеркну важность проведения подобных встреч разработчиков и&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
IT специалистов, очень хочется создать в Белгороде сообщество активных людей.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Таких, как &lt;a href="http://iamsocial.ru/"&gt;Фёдор&lt;/a&gt;, например.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;a href="https://twitter.com/skuzzzi"&gt;Марине&lt;/a&gt;&amp;nbsp;салютую, выражаю благодарности, шлю приветы, все дела!&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Так держать, всячески продолжать, сиять улыбкой и собирать &amp;nbsp;нас всех вместе!!&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Всем, кто принимал участие, ребята, не спешите разбегаться сразу по завершению основной части встречи, общайтесь и поддерживайте контакты, обменивайтесь визитками, рассказывайте о себе.&amp;nbsp;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
А то в следующий раз придется запирать двери! :)&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
Следующую встречу организаторы обещают в январе.&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6720813213272639052-2689528256792935262?l=www.iteamlead.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.iteamlead.net/feeds/2689528256792935262/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.iteamlead.net/2011/11/itvillage-it-headhunter.html#comment-form' title='Комментарии: 5'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/2689528256792935262?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/2689528256792935262?v=2'/><link rel='alternate' type='text/html' href='http://www.iteamlead.net/2011/11/itvillage-it-headhunter.html' title='IT[Village]: Управление IT командами в компании HeadHunter'/><author><name>Игорь Сидоров</name><uri>https://plus.google.com/107948812312433545255</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-9UiLV4epbFY/AAAAAAAAAAI/AAAAAAAABFY/0Fxt3g0ELCg/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-y4MBwpA25YU/Ts9PdBmVeqI/AAAAAAAAA38/4bnmJcWA6zE/s72-c/ad8064f937ceea2c94d223067bsh.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry gd:etag='W/&quot;CEEAQX84eSp7ImA9WhRXGEw.&quot;'><id>tag:blogger.com,1999:blog-6720813213272639052.post-7059924619263321659</id><published>2011-10-17T21:22:00.000+04:00</published><updated>2011-12-25T15:30:40.131+04:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-12-25T15:30:40.131+04:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='DDD'/><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><title>Smart UI VS. Layered Architecture</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Случается так, что бизнес-логика предметной области часто реализуется прямо в элементах интерфейса пользователя и сценариях баз данных. Кроме того, код для реализации интерфейса пользователя, обращений к базе данных и других технических задач нередко вписывается напрямую в объекты предметной области.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;В литературе встречаются определения подобного подхода:&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;Интеллектуальный интерфейс пользователя (Smart UI) в&amp;nbsp;&lt;a href="http://www.williamspublishing.com/Books/978-5-8459-1597-9.html"&gt;«Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем»&lt;/a&gt;&amp;nbsp;Эрика Эванса&lt;/li&gt;
&lt;li style="text-align: justify;"&gt;Сценарий транзакции (Transaction Script) в&amp;nbsp;&lt;a href="http://www.williamspublishing.com/Books/5-8459-0579-6.html"&gt;«Шаблоны корпоративных приложений»&amp;nbsp;&lt;/a&gt;(Patterns of Enterprise Application Architecture) Мартина Фаулера&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Проще говоря, если у вас «скрипты в формочках» - это оно и есть. :)&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Когда код, относящийся к операциям предметной области, размазан по огромным объемам другого кода, его становится очень трудно разыскивать и анализировать. Поверхностные изменения в интерфейсе пользователя могут случайно затронуть операции алгоритмической части. Чтобы изменить какие-либо правила бизнес-логики, потребуется тщательная трассировка кода интерфейса, обращений к базе данных и других элементов программы. Автоматизированное тестирование становится фактически невозможным.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;К сожалению, нужно признать, что данный подход имеет &amp;nbsp;определенные преимущества.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;Преимущества:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Высокая производительность труда и мгновенный результат в простых приложениях. Возможность быстро реагировать на потребности рынка.&lt;/li&gt;
&lt;li&gt;«Возьмем на работу даже студентов.»&amp;nbsp;&amp;nbsp;Разработчикам практически не требуется дополнительное обучение, чтобы приступить к работе.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Даже недостатки в анализе технического задания можно преодолеть, выпустив прототип для пользователей, и затем быстро внести нужные изменения.&lt;/li&gt;
&lt;li&gt;Функции и операции отделены друг от другой, так чтобы можно более-менее точно спланировать сроки готовности небольших модулей. Расширение системы за счет дополнительных простых функций выполняется легко.&lt;/li&gt;
&lt;li&gt;«Сейчас мы это все по-быстрому перепишем.»&amp;nbsp;&amp;nbsp;При передаче приложения в другие руки новые разработчики смогут быстро переделать фрагменты кода, которых они не понимают, потому что эффект внесенных изменений должен локализоваться в каждом отдельном интерфейсе.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;b&gt;Недостатки:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Разработчики не чувствуют потребности в развитии, в результате работы получается код низкого качества. Системы с применением подобного подхода, как правило, характеризуются низкой стоимостью ошибки. В лучшем случае, разработчиками будет накоплен опыт в понимании предметной области.&lt;/li&gt;
&lt;li&gt;Развитие возможно только в сторону дополнительных простых приложений. Невозможно «изящно» реализовать сложные функции и сложное поведение системы.&lt;/li&gt;
&lt;li&gt;Невозможность перейти к другой методологии проектирования или фреймворку.&amp;nbsp;«Хотите веб&amp;nbsp;–&amp;nbsp;придется переписать все заново»&amp;nbsp;.&lt;/li&gt;
&lt;li&gt;Интеграция между различными приложениями возможна &amp;nbsp;разве что через базу данных.&lt;/li&gt;
&lt;li&gt;Отсутствует переносимость функциональных модулей и абстракция прикладных моделей. Правила прикладной модели приходится дублировать в каждой операции, связанной с ними.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Разработка программ, которые могут выполнять сложные задачи, требует разделения обязанностей, которое бы позволило сосредоточиться на принципиальных частях архитектуры в отдельности, в изоляции от других. Важнейший принцип &lt;i&gt;многоуровневой архитектуры&lt;/i&gt; состоит в том, что любой элемент какого-нибудь уровня зависит от работы только других элементов того же уровня или элементов более низких уровней.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Разработка программ с применением проектирования на основе модели возможна только, если четко отделен уровень предметной области. Код предметной области должен быть изолирован от кода интерфейса пользователя, прикладных операций и инфраструктуры.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Написано под впечатлением от просмотра исходного кода коллег, чтения великолепной книги Эрика Эванса, DDD (big blue book) и посещения самой крутой .NET конференции этой осени – &lt;a href="http://network-ua.com/"&gt;NETWork&lt;/a&gt;, &amp;nbsp;о ней в следующий раз.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6720813213272639052-7059924619263321659?l=www.iteamlead.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.iteamlead.net/feeds/7059924619263321659/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.iteamlead.net/2011/10/smart-ui-vs-layered-architecture.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/7059924619263321659?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/7059924619263321659?v=2'/><link rel='alternate' type='text/html' href='http://www.iteamlead.net/2011/10/smart-ui-vs-layered-architecture.html' title='Smart UI VS. Layered Architecture'/><author><name>Игорь Сидоров</name><uri>https://plus.google.com/107948812312433545255</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-9UiLV4epbFY/AAAAAAAAAAI/AAAAAAAABFY/0Fxt3g0ELCg/s512-c/photo.jpg'/></author><thr:total>0</thr:total><georss:featurename>М-2, город Белгород, Белгородская область, Россия</georss:featurename><georss:point>50.5966111 36.6092109</georss:point><georss:box>50.515976099999996 36.451282400000004 50.6772461 36.7671394</georss:box></entry><entry gd:etag='W/&quot;CEECQ3Y-eCp7ImA9WhRXGEw.&quot;'><id>tag:blogger.com,1999:blog-6720813213272639052.post-7183295560122796620</id><published>2011-10-05T22:56:00.000+04:00</published><updated>2011-12-25T15:31:02.850+04:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-12-25T15:31:02.850+04:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='uneta'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='uplus'/><category scheme='http://www.blogger.com/atom/ns#' term='конференции'/><category scheme='http://www.blogger.com/atom/ns#' term='Харьков'/><title>Отчет о конференции Uneta+, Харьков 1 октября 2011г.</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div style="text-align: justify;"&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/-l-uWb67KNh4/ToyhB7ChWAI/AAAAAAAAA2U/NkfPLVPbWaM/s1600/UnetaPlus-300x102.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="68" src="http://1.bp.blogspot.com/-l-uWb67KNh4/ToyhB7ChWAI/AAAAAAAAA2U/NkfPLVPbWaM/s200/UnetaPlus-300x102.png" width="200" /&gt;&lt;/a&gt;1 октября 2011г. я и мои коллеги посетили Харьковскую конференцию .NET разработчиков&amp;nbsp;&lt;a href="http://uneta.ua/"&gt;Uneta+&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
В метро доблестная украинская милиция (полиция?) решила проверить нас на наличие наркотических веществ, поэтому на начало мы немного опоздали. :)&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
Прошли регистрацию, попали в зал, где Дмитрий Никонов и
Сергей Байдачный уже во всю обсуждали нововведения &lt;span lang="EN-US"&gt;Microsoft&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Team&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Foundation&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Server&lt;/span&gt; 2011 и &lt;span lang="EN-US"&gt;Visual&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Studio&lt;/span&gt; 2011:&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&amp;nbsp;обновленный web интерфейс TFS2011&lt;/li&gt;
&lt;li&gt;&amp;nbsp;обновленное окно Team Explorer&lt;/li&gt;
&lt;li&gt;&amp;nbsp;встроенные средства Code Review&lt;/li&gt;
&lt;li&gt;&amp;nbsp;новый test-runner , который будет поддерживать сторонние unit-test  фреймворки&lt;/li&gt;
&lt;li&gt;&amp;nbsp;анализатор дублирующихся участков кода&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;span lang="EN-US"&gt;TFS&lt;/span&gt;
традиционно обещает полную интеграцию средств разработчика, а поддержка &lt;span lang="EN-US"&gt;Code&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Review&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&amp;nbsp;является фичей, заслуживающей внимания. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-3GSIQiQHL5Y/ToyfxLHH1EI/AAAAAAAAA2Q/D-v7LbeMA8U/s1600/292044_169698256447840_100002229992995_364759_2085549791_n.jpg" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="213" src="http://4.bp.blogspot.com/-3GSIQiQHL5Y/ToyfxLHH1EI/AAAAAAAAA2Q/D-v7LbeMA8U/s320/292044_169698256447840_100002229992995_364759_2085549791_n.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Coffee break&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Далее&amp;nbsp; выступал
&lt;a href="http://xaoccps.habrahabr.ru/"&gt;Владимир Юнев&lt;/a&gt; с докладом «&lt;span lang="EN-US"&gt;ASP&lt;/span&gt;.&lt;span lang="EN-US"&gt;NET&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;MVC&lt;/span&gt; 4 Как светлое будущее
веб-разработки». Рассказал об истории развития фреймворка и поддержке последних
трендов &lt;span lang="EN-US"&gt;web&lt;/span&gt;-разработки
в &lt;span lang="EN-US"&gt;MVC&lt;/span&gt;:&amp;nbsp; мобильные платформы, &lt;span lang="EN-US"&gt;HTML&lt;/span&gt;5, интеграция с VSTS2011, &lt;span lang="EN-US"&gt;EF&lt;/span&gt; и т.д.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
Дальнейший выбор пал на доклад&amp;nbsp; &lt;a href="http://www.sql.ru/blogs/decolores"&gt;Дмитрия Костылева&lt;/a&gt; «Оптимизация запросов в &lt;span lang="EN-US"&gt;SQL&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Server&lt;/span&gt;».&amp;nbsp; В первой части Дмитрий изложил основы работы
оптимизатора запросов, анализа плана выполнения,&amp;nbsp; во второй части привел примеры оптимизации и
раскрыл техники написания быстрых запросов. Многие участники отметили, что это
был наиболее полезный доклад конференции. Презентация и запись выступления
Дмитрия доступны на &lt;a href="http://www.techdays.ru/videos/3677.html"&gt;TechDays&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
Затем в первой секции выступал &lt;span lang="EN-US"&gt;Diego&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Vega&lt;/span&gt;, Project Manager в команде
разработки Entity Framework с докладами «&lt;span lang="EN-US"&gt;Future&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;of&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Entity&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Framework&lt;/span&gt;» и «&lt;span lang="EN-US"&gt;Deep&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Dive&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;on&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Entity&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Framework&lt;/span&gt;».
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
В следующей версии &lt;span lang="EN-US"&gt;EF&lt;/span&gt; нас ждут &lt;span lang="EN-US"&gt;Data&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Migrations&lt;/span&gt;,
&amp;nbsp;будет сделан дальнейший упор на
разработку в стиле &lt;span lang="EN-US"&gt;Code&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;First&lt;/span&gt;,
поддержка типов &lt;span lang="EN-US"&gt;Enum&lt;/span&gt; и
многое другое. Проголосовать за любимую фичу можно на &lt;a href="http://ef.mswish.net/"&gt;портале&lt;/a&gt;.&lt;span lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;Доклад&lt;span lang="EN-US"&gt;&amp;nbsp; «Deep Dive on Entity Framework» &lt;/span&gt;оказался не
таким уж глубоким и страшным&lt;span lang="EN-US"&gt;. :) &lt;/span&gt;Практическое применение &lt;span lang="EN-US"&gt;EF &lt;/span&gt;при реализации различных типов наследования&lt;span lang="EN-US"&gt; (Table
per Hierarchy, Table per Type, Table per Concrete Type), &lt;/span&gt;лучшие практики использования паттерна &lt;span lang="EN-US"&gt;Repository:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style="margin-top: 0cm; text-align: left;" type="disc"&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Best Practices:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
&lt;ul style="margin-top: 0cm;" type="circle"&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Make the repository’s interface as simple
      as possible&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Create separate repositories for each &lt;b&gt;“aggregate”&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Keep other layers &lt;b&gt;“persistence
      ignorant”&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Multiple repositories can share same
      ObjectContext as &lt;b&gt;“unit of work”&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Popular additions:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
&lt;ul style="margin-top: 0cm;" type="circle"&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Query methods return IQueryable&amp;lt;T&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Using &lt;b&gt;“specification pattern”, &lt;/b&gt;e.g.
      repository.Find(c=&amp;gt;c.Id == id)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Repository&amp;lt;T&amp;gt; base class&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
В одном слайде Диего рассказал, как достичь высокого
покрытия репозиториев тестами:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;ul style="margin-top: 0cm;" type="disc"&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Best practices:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
&lt;ul style="margin-top: 0cm;" type="circle"&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Build simple repository interface&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Swap repository with in-memory test
      double&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Alternate route: define simple interface
      for context&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Still run tests against database often&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Things to avoid:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/li&gt;
&lt;ul style="margin-top: 0cm;" type="circle"&gt;
&lt;li class="MsoNormal" style="text-align: justify;"&gt;&lt;span lang="EN-US"&gt;Don’t try to mock the data access
      framework!&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
Последним выступал &lt;a href="http://bloggingabout.net/blogs/vagif/"&gt;Вагиф Абилов&lt;/a&gt; «Теория и практика сервисов OData».&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
Главный посыл: создание полноценного &lt;span lang="EN-US"&gt;RESTful&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;сервиса
на базе &lt;span lang="EN-US"&gt;OData&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;– это просто. Хотите создать сервис OData - смотрите исходники на &lt;a href="https://github.com/object/NorthwindOData"&gt;GitHub&lt;/a&gt;.&amp;nbsp;Вагиф – отличный докладчик, было очень приятно слушать. А
гимн &lt;span lang="EN-US"&gt;OData&lt;/span&gt; – превосходное
завершение всей конференции.&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
Завершил выступления круглый
стол, где каждый участник конференции мог задать свой вопрос докладчикам. Больше
всего украинских разработчиков&amp;nbsp; волнует
разработка в облаке.&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
Благодарю организаторов
конференции Владимира Лещинского, Дениса Резника, Бауман Эвелину. Давно слежу
за встречами группы &lt;span lang="EN-US"&gt;Uneta&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;(к сожалению, они проходят только по будням), наконец то
получилось принять участие во встрече сообщества. &amp;nbsp;Очень этому рад :)&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify; text-indent: 35.4pt;"&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;b&gt;До встречи на конференции &lt;a href="http://network-ua.com/"&gt;&lt;span lang="EN-US"&gt;NetWork&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;/a&gt;15-го октября. &lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6720813213272639052-7183295560122796620?l=www.iteamlead.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.iteamlead.net/feeds/7183295560122796620/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.iteamlead.net/2011/10/uneta-1-2011.html#comment-form' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/7183295560122796620?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/7183295560122796620?v=2'/><link rel='alternate' type='text/html' href='http://www.iteamlead.net/2011/10/uneta-1-2011.html' title='Отчет о конференции Uneta+, Харьков 1 октября 2011г.'/><author><name>Игорь Сидоров</name><uri>https://plus.google.com/107948812312433545255</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-9UiLV4epbFY/AAAAAAAAAAI/AAAAAAAABFY/0Fxt3g0ELCg/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-l-uWb67KNh4/ToyhB7ChWAI/AAAAAAAAA2U/NkfPLVPbWaM/s72-c/UnetaPlus-300x102.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry gd:etag='W/&quot;CEEDSHo8fyp7ImA9WhRXGEw.&quot;'><id>tag:blogger.com,1999:blog-6720813213272639052.post-3173144000372643116</id><published>2011-08-11T22:28:00.000+04:00</published><updated>2011-12-25T15:31:19.477+04:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-12-25T15:31:19.477+04:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='CI'/><category scheme='http://www.blogger.com/atom/ns#' term='tools'/><category scheme='http://www.blogger.com/atom/ns#' term='TeamCity'/><title>Read the Diffs – Сравни изменения</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Утро рабочего дня, вы уже выпили кофе и окончательно проснулись. &amp;nbsp;Но перед тем &amp;nbsp;как приступить к решению своих задач, стоит выполнить одно простое правило - сравнить изменения. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Используйте ваш любимый diff-tool, чтобы узнать обо всех изменениях в проекте, сделанных каждым участником команды за прошедший день.&lt;/span&gt;&lt;br /&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Ежедневное сравнение изменений имеет три явных преимущества:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;b&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: left;"&gt;
&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Код может быть улучшен.&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial;"&gt;Вы можете обнаружить проблемные места&amp;nbsp;&amp;nbsp;и ошибки еще до того, как сборка будет передана в тестирование.&amp;nbsp;&lt;/span&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: #343434; line-height: 18px;"&gt;Чем раньше обнаружена ошибка, тем дешевле стоимость ее исправления. При этом сам процесс проведения &amp;nbsp;инспекций обходится дешевле, чем тестирование, необходимое для обнаружения этих же ошибок.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Вы можете изучить что-то новое для себя.&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;blockquote&gt;
&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Возможно, кто-то и ваших коллег использует технику, которую вы еще не знаете.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial;"&gt;Вы сможете лучше понять специфику проекта, над которым вы работаете.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Вы можете поделиться опытом с командой.&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;span class="Apple-style-span" style="background-color: white; color: #343434; font-family: Verdana, sans-serif;"&gt;Ведущий разработчик, следя за ежедневными изменениями в коде, может подсказать младшему коллеге, как лучше реализовать тот или иной участок в коде с целью улучшения его качества. Подобный обмен информацией улучшает взаимодействие в команде.&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 6pt; text-align: justify;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="text-align: justify;"&gt;
&lt;span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; color: #343434; line-height: 115%;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;У лучших разработчиков это простое правило входит в привычку.&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; font-family: Verdana, sans-serif;"&gt;&lt;i&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; color: #4d4d4d; font-size: 10pt;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt; text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://www.ozon.ru/context/detail/id/3707281/"&gt;Р. Гласс, Факты и заблуждения профессионального программирования&lt;/a&gt;, Факт №37&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Times, 'Times New Roman', serif; font-style: italic;"&gt;: &lt;/span&gt;&lt;/span&gt;&lt;i style="font-family: Times, 'Times New Roman', serif;"&gt;&lt;span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;«Тщательные инспекции исходного кода - метод, в соответствии с которым весь программный код подвергается рассмотрению с целью обнаружения любых содержащихся в нем ошибок. Исследования, проводимые одно за другим, показали, что инспекции позволяют обнаружить до 90% ошибок в программном продукте до того, как будут запущены какие-либо эталонные тесты. А это показатель чрезвычайной эффективности процесса.»&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; color: #343434; font-family: Verdana, sans-serif;"&gt;Большинство систем контроля версий имеют встроенные утилиты просмотра изменений. Сервер непрерывной интеграции TeamCity позволяет осуществлять инспекции с привязкой не только к коммитам, но и к ежедневным сборкам проекта. Отлично работает с SVN и Git и имеет приятный интерфейс просмотра исходного кода с подсветкой изменений.&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; color: #343434; font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div style="text-align: justify;"&gt;
&lt;span class="Apple-style-span" style="background-color: white; color: #343434; font-family: Verdana, sans-serif;"&gt;Из win-приложений для сравнения двух версий файлов мне больше всего нравится &lt;a href="http://winmerge.org/about/screenshots/"&gt;WinMerge&lt;/a&gt;. Если ваши инструменты не позволяют вам быстро и просто смотреть проведенные изменения - выбросьте их на помойку!&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="background-color: white; color: #343434; font-family: Verdana, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class="Apple-style-span" style="background-color: white; color: #343434; font-family: Verdana, sans-serif; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #343434; font-family: Verdana, sans-serif; line-height: 18px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class="Apple-style-span" style="background-color: white; color: #343434; font-family: Verdana, sans-serif; line-height: 18px;"&gt;В завершение отмечу, правильное написание комментариев при коммите значительно облегчает проведение ревью. Об этом подробнее описано в отличной &lt;a href="http://habrahabr.ru/blogs/development/36973/"&gt;статье&lt;/a&gt;. &amp;nbsp;Всем разработчикам, кто еще пишет&amp;nbsp; комментарии, подобные &amp;nbsp;«», «багфикс» &amp;nbsp;и т.д. обязательно к прочтению!&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6720813213272639052-3173144000372643116?l=www.iteamlead.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.iteamlead.net/feeds/3173144000372643116/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.iteamlead.net/2011/08/read-diffs.html#comment-form' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/3173144000372643116?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/3173144000372643116?v=2'/><link rel='alternate' type='text/html' href='http://www.iteamlead.net/2011/08/read-diffs.html' title='Read the Diffs – Сравни изменения'/><author><name>Игорь Сидоров</name><uri>https://plus.google.com/107948812312433545255</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-9UiLV4epbFY/AAAAAAAAAAI/AAAAAAAABFY/0Fxt3g0ELCg/s512-c/photo.jpg'/></author><thr:total>2</thr:total><georss:featurename>Belgorod, Belgorodskaya oblast, Russia</georss:featurename><georss:point>50.5966111 36.609210899999994</georss:point><georss:box>50.5298611 36.505210899999994 50.663361099999996 36.71321089999999</georss:box></entry><entry gd:etag='W/&quot;CEAER3k5fCp7ImA9WhRXGEw.&quot;'><id>tag:blogger.com,1999:blog-6720813213272639052.post-127159962267877103</id><published>2011-08-04T12:13:00.000+04:00</published><updated>2011-12-25T15:31:46.724+04:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-12-25T15:31:46.724+04:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='стандарты кодирования'/><category scheme='http://www.blogger.com/atom/ns#' term='MSBuild'/><category scheme='http://www.blogger.com/atom/ns#' term='StyleCop'/><title>StyleCop + MSBuild: Принудительное соблюдение стандартов кодирования</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Стандарты кодирования&lt;/b&gt; – важная составляющая процесса разработки программ. Без них невозможно разработать хорошо сопровождаемый код. Качественный код должен быть простым и читабельным, не содержать ошибок, время на его изучение должно быть минимальным, его расширение и модификация – удобным.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Стандарты кодирования нужны по двум причинам:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Они позволяют избавить команду от пустых споров о вещах, которые не столь важны, сколько важно поддержание максимальной скорости работы.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Без стандартов кодирования сложнее выполнять рефакторинг. Чем большие усилия потребуются человеку для того, чтобы внести в систему изменение, тем больше он будет стараться избежать этого изменения.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;За основу стандарта кодирования для команды можно взять готовые примеры (например, в нашей организации были использованы &lt;a href="http://www.rsdn.ru/article/mag/200401/codestyle.XML"&gt;&lt;span style="color: windowtext; text-decoration: none;"&gt;соглашения по оформлению кода команды RSDN&lt;/span&gt;&lt;/a&gt;). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Но как показывает практика, &lt;b&gt;подобные документы носят рекомендательный характер&lt;/b&gt;, к тому же в конкретных ситуациях среди разработчиков сразу рождаются споры (о наименовании переменных и методов, использования различных префиксов "&lt;span lang="EN-US"&gt;m&lt;/span&gt;_", "_" и т.д.).&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Принудительная проверка (например, в&amp;nbsp;качестве одного из&amp;nbsp;этапов сборки на&amp;nbsp;build-сервере)&amp;nbsp;— единственный гарант соблюдения стандартов. Тут-то такие инструменты как StyleCop и&amp;nbsp;показывают себя во&amp;nbsp;всей красе.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span lang="EN-US"&gt;&lt;a href="http://stylecop.codeplex.com/"&gt;StyleCop&lt;/a&gt;&amp;nbsp;&lt;/span&gt;анализирует исходные коды проекта, контролирует стиль и форматирование кода, &lt;b&gt;вынуждая разработчиков соответствовать правилам и принятым стандартам&lt;/b&gt;. Предлагаемый StyleCop стиль используется некоторыми командами Microsoft. Проверка может быть запущена непосредственно из Visual Studio или выполняться при сборке проекта (интегрирована с MSBuild). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://www.thereforesystems.com/wp-content/uploads/2008/08/image6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.thereforesystems.com/wp-content/uploads/2008/08/image6.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Правила &lt;span lang="EN-US"&gt;StyleCop&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;включают требования к расположению скобок, наименованию полей, &amp;nbsp;методов и классов, &amp;nbsp;написанию комментариев, отсутствию ненужных пробелов и многие другие. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Подробнее о правилах &lt;span lang="EN-US"&gt;StyleCop&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;написано в &lt;a href="http://msug.vn.ua/Posts/Details/4185"&gt;статье&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 15.0pt; margin-bottom: 12.0pt;"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: black;"&gt;Интеграция &lt;/span&gt;&lt;span lang="EN-US" style="color: black;"&gt;StyleCop&lt;/span&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: black;"&gt;с &lt;/span&gt;&lt;span lang="EN-US" style="color: black;"&gt;MSBuild&lt;/span&gt;&lt;span lang="EN-US" style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: black;"&gt;позволяет осуществлять проверку при каждой сборке проекта. Для этого в csproj-файл проекта необходимо добавить соответствующий тег:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;pre style="background-image: URL(http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"&gt;&lt;code style="color: black; word-wrap: normal;"&gt; &amp;lt;Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"&amp;gt;  
 ...Contents Removed...  
 &amp;lt;Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /&amp;gt;  
 &amp;lt;Import Project="$(ProgramFiles)\MSBuild\StyleCop\v4.x\StyleCop.targets" /&amp;gt;  
 ...Contents Removed...  
 &amp;lt;/Project&amp;gt;  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: black; line-height: 115%;"&gt;&lt;/span&gt;В &lt;a href="http://habrahabr.ru/blogs/programming/111463/"&gt;статье&lt;/a&gt;&amp;nbsp;&lt;span style="color: black; line-height: 115%;"&gt;рассматривается интеграция &lt;/span&gt;&lt;span lang="EN-US" style="color: black; line-height: 115%;"&gt;StyleCop&lt;/span&gt;&lt;span lang="EN-US" style="color: black; line-height: 115%;"&gt; &lt;/span&gt;&lt;span lang="EN-US" style="color: black; line-height: 115%;"&gt;c&lt;/span&gt;&lt;span lang="EN-US" style="color: black; line-height: 115%;"&gt; &lt;/span&gt;&lt;span lang="EN-US" style="color: black; line-height: 115%;"&gt;SVN&lt;/span&gt;&lt;span style="color: black; line-height: 115%;"&gt;,&amp;nbsp; но все перечисленные достоинства справедливы для любого варианта автоматизированной проверки (в том числе интеграции с &lt;/span&gt;&lt;span lang="EN-US" style="color: black; line-height: 115%;"&gt;MSBuild&lt;/span&gt;&lt;span style="color: black; line-height: 115%;"&gt;):&lt;/span&gt;&lt;span style="color: black; line-height: 115%;"&gt; &lt;/span&gt;&lt;span style="color: black; line-height: 115%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal" style="line-height: 15.0pt; margin-bottom: .0001pt; margin-bottom: 0cm; margin-left: 31.8pt; margin-right: 12.0pt; margin-top: 0cm; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt; text-indent: -18.0pt;"&gt;
&lt;/div&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: black;"&gt;Категоричность требования качества кода и соблюдение принятых стандартов&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;Отсутствие отвлекающих споров на тему «как правильно расставить скобки» между разработчиками и концентрация на рабочих задачах&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span style="color: black;"&gt;Разгрузка старших программистов (нет необходимости объяснять младшим, как правильно оформлять код)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Совместное использование в паре с сервером непрерывной интеграции (мы используем TeamCity) позволяет достичь максимальных результатов.&lt;/span&gt;&lt;br /&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; margin-left: 31.8pt; margin-right: 12.0pt; margin-top: 0cm;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 19.05pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"&gt;
&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Конечно, попытки натравить StyleCop на существующий проект&amp;nbsp; обернутся двухдневным исправлением тысячи стилистических ошибок, но большинство из них Resharper может исправить автоматически (плагин для интеграции с Resharper вошел в официальную сборку StyleCop, начиная с версии 4.5 RTW). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 19.05pt; margin-left: 0cm; margin-right: 0cm; margin-top: 0cm;"&gt;
&lt;span style="color: black;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;А к использованию в новых проектах StyleCop настоятельно рекомендуется.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;span lang="EN-US"&gt;StyleCop&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://stylecop.codeplex.com/"&gt;&lt;span lang="EN-US"&gt;http&lt;/span&gt;://&lt;span lang="EN-US"&gt;stylecop&lt;/span&gt;.&lt;span lang="EN-US"&gt;codeplex&lt;/span&gt;.&lt;span lang="EN-US"&gt;com&lt;/span&gt;/&lt;/a&gt;&lt;span class="apple-style-span"&gt;&lt;b&gt;&lt;span style="color: #30332d; line-height: 115%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Были использованы материалы из статей:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://habrahabr.ru/blogs/net/111847/"&gt;http://habrahabr.ru/blogs/net/111847/&lt;/a&gt;&lt;span class="apple-style-span"&gt;&lt;span style="color: black; line-height: 115%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://msug.vn.ua/Posts/Details/4185"&gt;&lt;span lang="EN-US"&gt;http&lt;/span&gt;://&lt;span lang="EN-US"&gt;msug&lt;/span&gt;.&lt;span lang="EN-US"&gt;vn&lt;/span&gt;.&lt;span lang="EN-US"&gt;ua&lt;/span&gt;/&lt;span lang="EN-US"&gt;Posts&lt;/span&gt;/&lt;span lang="EN-US"&gt;Details&lt;/span&gt;/4185&lt;/a&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;a href="http://habrahabr.ru/blogs/programming/111463/"&gt;&lt;span lang="EN-US" style="line-height: 115%;"&gt;http&lt;/span&gt;&lt;span style="line-height: 115%;"&gt;://&lt;/span&gt;&lt;span lang="EN-US" style="line-height: 115%;"&gt;habrahabr&lt;/span&gt;&lt;span style="line-height: 115%;"&gt;.&lt;/span&gt;&lt;span lang="EN-US" style="line-height: 115%;"&gt;ru&lt;/span&gt;&lt;span style="line-height: 115%;"&gt;/&lt;/span&gt;&lt;span lang="EN-US" style="line-height: 115%;"&gt;blogs&lt;/span&gt;&lt;span style="line-height: 115%;"&gt;/&lt;/span&gt;&lt;span lang="EN-US" style="line-height: 115%;"&gt;programming&lt;/span&gt;&lt;span style="line-height: 115%;"&gt;/111463/&lt;/span&gt;&lt;/a&gt;&lt;span class="apple-converted-space"&gt;&lt;span style="color: black; line-height: 115%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;a href="http://msug.vn.ua/Posts/Details/4164"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;http://msug.vn.ua/Posts/Details/4164&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6720813213272639052-127159962267877103?l=www.iteamlead.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.iteamlead.net/feeds/127159962267877103/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.iteamlead.net/2011/08/stylecop-msbuild.html#comment-form' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/127159962267877103?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/127159962267877103?v=2'/><link rel='alternate' type='text/html' href='http://www.iteamlead.net/2011/08/stylecop-msbuild.html' title='StyleCop + MSBuild: Принудительное соблюдение стандартов кодирования'/><author><name>Игорь Сидоров</name><uri>https://plus.google.com/107948812312433545255</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-9UiLV4epbFY/AAAAAAAAAAI/AAAAAAAABFY/0Fxt3g0ELCg/s512-c/photo.jpg'/></author><thr:total>4</thr:total></entry><entry gd:etag='W/&quot;CEAGRn0zcCp7ImA9WhRXGEw.&quot;'><id>tag:blogger.com,1999:blog-6720813213272639052.post-469408120535910107</id><published>2011-07-28T20:56:00.000+04:00</published><updated>2011-12-25T15:32:07.388+04:00</updated><app:edited xmlns:app='http://www.w3.org/2007/app'>2011-12-25T15:32:07.388+04:00</app:edited><category scheme='http://www.blogger.com/atom/ns#' term='XP'/><category scheme='http://www.blogger.com/atom/ns#' term='книги'/><category scheme='http://www.blogger.com/atom/ns#' term='отзывы'/><title>Отзывы на прочитанные книги</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;br /&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Давно уже заторчал нашей замечательной корпоративной библиотекарше :) целую пачку добрых книжек, исправляюсь, пишу отзывы.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;a href="http://mmedia.ozon.ru/multimedia/books_covers/1001362350.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="200" src="http://mmedia.ozon.ru/multimedia/books_covers/1001362350.jpg" width="138" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Стивен Р. Кови. «7 навыков высокоэффективных людей»&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Мировой бестселлер, самая лучшая в мире книга по личностному развитию. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Книга, которую должен прочитать каждый, кто ищет в жизни смысла, потом передать своим друзьям, детям, родственникам.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Прочитал, пожалел, что мама не вручила мне эту книгу лет так в 15, глядишь, умный бы парень вырос. :)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Кстати, многие наши уважаемые коллеги прочитали труд Кови еще до того, как книга появилась у нас в библиотеке. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Книга содержит практические упражнения для обработки, я их не выполнил, поэтому не могу сказать, что книга изменила мою жизнь и я стал сверхэффективным, а жаль, мог бы.. :)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;a href="http://mmedia.ozon.ru/multimedia/books_covers/1001465049.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="200" src="http://mmedia.ozon.ru/multimedia/books_covers/1001465049.jpg" width="158" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://mmedia.ozon.ru/multimedia/books_covers/1000389765.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;img border="0" height="200" src="http://mmedia.ozon.ru/multimedia/books_covers/1000389765.jpg" width="147" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Джоэл Спольски&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;«Джоэл о программировании»&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;«Джоэл и снова о программировании»&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Как? Вы не читали Джоэла - Джоэла читали все! Вот и я наконец прочитал. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Джоэл со своими статьями на любые темы невероятно хорош. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;a href="http://mmedia.ozon.ru/multimedia/books_covers/1000051865.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/a&gt;&lt;a href="http://mmedia.ozon.ru/multimedia/books_covers/1000051865.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/a&gt;&lt;a href="http://mmedia.ozon.ru/multimedia/books_covers/1000051865.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Если судить по обложке, вам обещают глубокое знание предмета и отличный юмор, и всего этого вы найдете сполна. Идеальный офис, самые лучшие программисты, где их найти, как воспитать и удержать, формула успешного бизнеса, планирование и многое другое. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;o:p&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;a href="http://mmedia.ozon.ru/multimedia/books_covers/1000051865.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://mmedia.ozon.ru/multimedia/books_covers/1000051865.jpg" width="140" /&gt;&lt;/a&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Кен Ауэр, Рой Миллер&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;«Экстремальное программирование. Постановка процесса с первых шагов и до победного конца»&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;Книга из серии «Подарки от руководства» (никто из разработчиков не заказывал :) ). Приятно, если наше руководство заинтересовалось современными методологиями разработки ПО, но даже если нет, книге был очень рад - из тех методологий, о которых я имею представление, XP мне наиболее близка.&amp;nbsp; Авторы позиционируют книгу как продолжение «Extreme Programming Explained»(« Экстремальное программирование») Кента Бека. Основной посыл - «если вы не нашли крутого консультанта XP, станьте им, и несите свет в массы». Большое количество жизненных ситуаций, эссе «вот так мы пилили XP» , масса советов как продавать XP руководству и разработчикам. За ваш мозг не переживайте, евангелистом XP становится не планирую, но…&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class="MsoNormal"&gt;
&lt;span class="Apple-style-span" style="font-family: Verdana, sans-serif;"&gt;«XP – реально крутецкая вещь, в которой наиболее полезные практики возведены в абсолют»&amp;nbsp; . :)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6720813213272639052-469408120535910107?l=www.iteamlead.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.iteamlead.net/feeds/469408120535910107/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.iteamlead.net/2011/07/blog-post.html#comment-form' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/469408120535910107?v=2'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6720813213272639052/posts/default/469408120535910107?v=2'/><link rel='alternate' type='text/html' href='http://www.iteamlead.net/2011/07/blog-post.html' title='Отзывы на прочитанные книги'/><author><name>Игорь Сидоров</name><uri>https://plus.google.com/107948812312433545255</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-9UiLV4epbFY/AAAAAAAAAAI/AAAAAAAABFY/0Fxt3g0ELCg/s512-c/photo.jpg'/></author><thr:total>0</thr:total><georss:featurename>город Белгород, Белгородская область, Россия</georss:featurename><georss:point>50.5966111 36.609210899999994</georss:point><georss:box>50.5298611 36.505210899999994 50.663361099999996 36.71321089999999</georss:box></entry></feed>