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

<channel>
	<title>XP Injection &#187; tdd</title>
	<atom:link href="http://xpinjection.com/tag/tdd/feed/" rel="self" type="application/rss+xml" />
	<link>http://xpinjection.com</link>
	<description>Inject Agile practices for project health</description>
	<lastBuildDate>Tue, 15 May 2012 12:40:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Что готовит нам весна?</title>
		<link>http://xpinjection.com/2012/03/29/spring-events/</link>
		<comments>http://xpinjection.com/2012/03/29/spring-events/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 22:18:33 +0000</pubDate>
		<dc:creator>Николай Алименков</dc:creator>
				<category><![CDATA[Общие]]></category>
		<category><![CDATA[Тренинги]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[Agile Base Camp]]></category>
		<category><![CDATA[build automation]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JEE]]></category>
		<category><![CDATA[JEEConf]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[unit testing]]></category>
		<category><![CDATA[автоматизация тестирования]]></category>
		<category><![CDATA[инженерные практики]]></category>
		<category><![CDATA[клуб анонимных разработчиков]]></category>
		<category><![CDATA[команда]]></category>
		<category><![CDATA[проектирование]]></category>
		<category><![CDATA[тестирование]]></category>

		<guid isPermaLink="false">http://xpinjection.com/?p=1968</guid>
		<description><![CDATA[Весна постепенно набирает обороты. Март уже заканчивается и скоро наступят солнечные (мы искренне надеемся) апрель с маем. Мы запланировали много событий на эту весну. Что же вас ждет? 29 марта состоится 14-ая встреча &#171;Клуба анонимных разработчиков&#187;. Мы смело можем назвать ее одной из самых интересных встреч &#8211; ведь будет рассматриваться &#171;горячая&#187; тема облачной разработки. На <a href="http://xpinjection.com/2012/03/29/spring-events/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Весна постепенно набирает обороты. Март уже заканчивается и скоро наступят солнечные (мы искренне надеемся) апрель с маем. Мы запланировали <a href="/schedule/">много событий</a> на эту весну. Что же вас ждет?</p>
<p><strong>29 марта</strong> состоится <a href="/2012/03/11/cloud-development-in-uadevclub/">14-ая встреча</a> &laquo;Клуба анонимных разработчиков&raquo;. Мы смело можем назвать ее одной из самых интересных встреч &#8211; ведь будет рассматриваться &laquo;горячая&raquo; тема облачной разработки. На суд участников будут представлены доклады о разработке на облаке <strong>Amazon</strong> и <strong>Windows Azure</strong>. Поэтому каждый найдет для себя что-то интересное. Встреча пройдет в уютном офисе <a href="http://www.dataart.ru/contacts/kiev.htm">ДатаАрт</a> по адресу <strong>Бехтеревский переулок 14Е</strong>. Начало в 19:00.</p>
<p><strong>6-7 апреля</strong> состоится новый тренинг <a href="/trainings/agile-engineering-practices">«Инженерные практики в Agile»</a>. 2 тренера (<a href="/coaches#alimenkou" title="Николай Алименков">Николай Алименков</a> и <a href="/coaches#solncev" title="Алексей Солнцев">Алексей Солнцев</a>) в течение 2-ух дней познакомят участников с 8-ью современными инженерными практиками. Будут затронуты вопросы внедрения, поддержания и пользы от этих практик. Все практики будут демонстрироваться на реальных примерах и включают в себя многолетний опыт использования наших тренеров. Это один из лучших наших тренингов. Группа почти набрана, осталось всего 5 мест.</p>
<p><strong>13-14 апреля</strong> мы впервые проведем новый тренинг <a href="/coaches#efimenko" title="Дмитрий Ефименко">Дмитрия Ефименко</a> под названием <a href="/trainings/effective-design">«Практики эффективного, но экономного проектирования»</a>. Дима вложил в этот тренинг весь свой опыт по проектированию программного обеспечения. Тренинг отлично сочетает в себе информацию о процессах разработки и проектирования, работу с требованиями, инженерные практики и подходы, анализ и управление рисками, а также несколько интересных практических заданий. Участники даже будут писать реальный код. <img src='http://xpinjection.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Группа еще формируется и не поздно присоединиться к составу участников.</p>
<p><strong>21-22 апреля</strong> состоится важное событие в мире тестирования &#8211; международная конференция <a href="http://it-conf.ru/ru/content/465.htm">SQA Days 11</a>. Наш тренер <a href="/coaches/#alimenkou">Николай Алименков</a> выступит на конференции с докладом <a href="http://it-conf.ru/ru/content/466.htm#TOC-18">«А вы знаете что тестируют ваши тесты?»</a>. В докладе речь пойдет о связывании тестов с самыми важными артефактами вашего проекта &#8211; требованиями и кодом. Николай на практических примерах продемонстрирует как полностью контролировать что и как тестируют ваши тесты. Помимо этого, <strong>20 апреля</strong> мы проведем популярный тренинг <a href="/trainings/qa-in-agile">«QA в Agile»</a>. Этот тренинг позволит участникам познакомиться с ролью тестировщика в Agile процессах, грамотно настроить процесс QA в Agile команде, разобраться с ролью автоматизации тестирвания и современными веяниями в мире тестирования. Тренинг будет полезен как менеджерам, так и обычным тестировщикам.</p>
<p>В апреле проходит еще несколько интересных конференций в России и Украине, но побывать везде просто не хватает времени. Вот некоторые из них: <a href="http://codefest.ru/">CodeFest 2012</a>, <a href="http://expopromoter.com/events/135515/cloud_foundry_open_tour_kiev_2012/">Cloud Foundry Open Tour 2012</a>, <a href="http://softwarepeople.ru/">Software People&#8217;12</a>, <a href="http://ritconf.ru/">РИТ++</a>, <a href="http://www.microsoft.com/ru-ru/events/msqadays/">Quality Assurance Day&#8217;12</a>, <a href="http://confetqa.ru/program-fun-2012/">Fun ConfeT&#038;QA</a>. Мы также постараемся провести очередную <strong>бесплатную онлайн конференцию</strong> <a href="http://itbrunch.com.ua">IT Brunch</a>. Тема еще окончательно не выбрана, но в этот раз мы планируем сделать ее более технической.</p>
<p><strong>28 апреля</strong> пройдет еще один наш новый тренинг <a href="/trainings/project-start">«Успешный старт проекта»</a>. <a href="/coaches#povolyashko" title="Сергей Поволяшко">Сергей Поволяшко</a> подготовил этот тренинг на основании своего многолетнего опыта управления проектами. На тренинге вы сможете узнать какие активности стоит проводить на стадии инициирования проекта, какие риски есть и как с ними бороться, как оценивать проекты с финансовой и временной точек зрения, что необходимо включить в контракт и как это сделать. Если вы менеджер и ваша работа связана со стартом новых проектов, то этот тренинг для вас!</p>
<p><strong>27-28 апреля</strong> <a href="/coaches/#beletsky">Александр Белецкий</a> проведет свой новый тренинг <a href="/trainings/mvc-net-development">«Веб-разработка с использованием ASP.NET MVC»</a>. Этот тренинг рассчитан на программистов, знакомых с концепциями ASP.NET, возможно уже имеющие опыт с Web Forms, но желающих приобрести практические навыки с новой, популярной технологией ASP.NET MVC. Тренинг очень насыщенный и на нем будут рассмотрены практически все аспекты разработки современных веб приложений с использованием ASP.NET MVC.</p>
<p><strong>11-12 мая</strong> в Москве состоится очередная конференция для разработчиков <a href="http://addconf.ru/index-news.sdf">Application Developer Days-3</a>. На протяжении двух дней участники смогут посетить множество совершенно разных докладов на тему разработки, а также пообщаться с коллегами. <a href="/coaches/#alimenkou">Николай Алименков</a> выступит с докладом <a href="http://addconf.ru/event.sdf/ru/add_3/authors/NikolayAlimenkov/622">«Разработка распределенных приложений на AWS»</a>, в котором поделится своим опытом (более 2-ух лет) в разработке приложений в облачной среде. Николай рассмотрит сервисы, предоставляемые Amazon (самым популярным облачным провайдером на данный момент) и даст множество полезных советов тем, кто начинает или только задумывается над переездом в облака.</p>
<p><strong>19 мая</strong> мы уже во второй раз соберем Java разработчиков в Киеве на большую конференцию для Java практиков &#8211; <a href="http://jeeconf.com">JEEConf 2012</a>. В этот раз мы собрали еще более интересную программу. Докладчики приедут в Киев с разных стран и будут освещать различные инструменты, методики и практики из мира Java. <a href="/coaches/#alimenkou">Николай Алименков</a> выступит на конференции с докладом <a href="http://jeeconf.com/program/#hibernate">«За что я ненавижу Hibernate?»</a>, в котором рассмотрит недостатки одного из популярных ORM решений и способы их обхода. На данный момент уже более <strong>300 участников</strong> изъявили свое желание участвовать в конференции. Это будет действительно яркое событие наступающей весны. </p>
<p>Перед конференцией мы организуем ряд тренингов, посвященных Java разработке: <a href="http://jeeconf.com/trainings/javascript">«JavaScript for Java developers»</a>, <a href="http://jeeconf.com/trainings/tdd-in-java">«TDD в Java»</a>, <a href="http://jeeconf.com/trainings/jee6">«Introduction to Java EE 6″</a>. Все тренинги проводятся опытными профессионалами индустрии. Группы наполняются очень быстро, поэтому поторопитесь занять себе место в составе участников.</p>
<p>Завершит весеннюю гонку конференция <a href="http://agilebasecamp.org/">AgileBaseCamp CREW DRILL</a> в Харькове <strong>26-27 мая</strong>. Это два дня, насыщенных докладами экспертов, воркшопами и вдохновляющими блицами. Панельные дискуссии и Open Space, демонстрации от практиков и два полномасштабных мастер-класса. Наши тренеры <a href="/coaches/#beletsky">Александр Белецкий</a>, <a href="/coaches#efimenko" title="Дмитрий Ефименко">Дмитрий Ефименко</a> и <a href="/coaches/#alimenkou">Николай Алименков</a> готовятся выступить с докладами. Программа конференции еще формируется.</p>
<p>А еще на апрель и май у нас запланированы корпоративные тренинги в Киеве, Днепропетровске, Воронеже и Москве. Приглашайте нас в свой город и мы с радостью приедем!</p>
<p>Вот такая интересная выдалась весна. Будем рады видеть вас на перечисленных мероприятиях!</p>
<div class="shr-publisher-1968"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F03%2F29%2Fspring-events%2F' data-shr_title='%D0%A7%D1%82%D0%BE+%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B8%D1%82+%D0%BD%D0%B0%D0%BC+%D0%B2%D0%B5%D1%81%D0%BD%D0%B0%3F'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F03%2F29%2Fspring-events%2F' data-shr_title='%D0%A7%D1%82%D0%BE+%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B8%D1%82+%D0%BD%D0%B0%D0%BC+%D0%B2%D0%B5%D1%81%D0%BD%D0%B0%3F'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F03%2F29%2Fspring-events%2F' data-shr_title='%D0%A7%D1%82%D0%BE+%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B8%D1%82+%D0%BD%D0%B0%D0%BC+%D0%B2%D0%B5%D1%81%D0%BD%D0%B0%3F'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F03%2F29%2Fspring-events%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://xpinjection.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1968" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://xpinjection.com/2012/03/29/spring-events/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Успешное выступление на онлайн конференции Auto ConfeT&amp;QA 2012</title>
		<link>http://xpinjection.com/2012/02/21/successful-talk-at-auto-confetqa-conference/</link>
		<comments>http://xpinjection.com/2012/02/21/successful-talk-at-auto-confetqa-conference/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 10:15:50 +0000</pubDate>
		<dc:creator>Николай Алименков</dc:creator>
				<category><![CDATA[Общие]]></category>
		<category><![CDATA[ConfeT&QA]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[webdriver]]></category>
		<category><![CDATA[автоматизация тестирования]]></category>
		<category><![CDATA[видео]]></category>
		<category><![CDATA[инженерные практики]]></category>
		<category><![CDATA[презентация]]></category>

		<guid isPermaLink="false">http://xpinjection.com/?p=1821</guid>
		<description><![CDATA[13-15 февраля с 17 до 19 часов по московскому времени проходила онлайн конференция для специалистов по автоматизации тестирования &#8211; Auto ConfeT&#038;QA. Организаторы собрали докладчиков из России, Украины и Беларуси, которые представили на суд слушателей 10 докладов. Уровень организации был достаточно высоким, докладчикам помогали подготовиться к выступлению, репетировали с ними доклады, делали ревью презентаций. В результате <a href="http://xpinjection.com/2012/02/21/successful-talk-at-auto-confetqa-conference/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><img class="article-left" src="/images/articles/confetqa.jpg" alt="онлайн конференция Auto ConfeT&#038;QA" /></p>
<p><strong>13-15 февраля</strong> с 17 до 19 часов по московскому времени проходила онлайн конференция для специалистов по автоматизации тестирования &#8211; <a href="http://confetqa.ru/program-auto-2012/">Auto ConfeT&#038;QA</a>. Организаторы собрали докладчиков из России, Украины и Беларуси, которые представили на суд слушателей <strong>10 докладов</strong>. Уровень организации был достаточно высоким, докладчикам помогали подготовиться к выступлению, репетировали с ними доклады, делали ревью презентаций. В результате все выступили достойно.</p>
<p>Я тоже принимал участие в качестве докладчика с докладом <a href="http://confetqa.ru/program-auto-2012/">«TDD c помощью функциональных тестов на WebDriver»</a>. Я давно хотел выступить на данную тему и как раз представилась неплохая возможность это сделать. TDD (Test Driven Development) является популярным подходом среди разработчиков. Сначала пишется тест, а только потом на основании этого теста пишется реализация. Эта практика дает много преимуществ, позволяя сосредоточиться на небольшом аспекте функциональности и автоматизировать проверку правильности его реализации. Таким образом, разработчик сразу думает о вариантах использования и реализует минимальный необходимый функционал.</p>
<p>TDD можно применять не только на уровне модульных тестов, но и на уровне функционального тестирования. Это дает возможность задуматься о структуре и особенностях функциональности еще до ее реализации. Вам не придется мучиться в попытках протестировать приложение, которое не задумывалось для тестирования (сложные локаторы, непонятная структура страниц, запутанные связки элементов). В качестве сопутствующего эффекта, TDD позволяет сократить время на ручную проверку разработчикам и автоматизировать 100% функциональных тестов.</p>
<p>Многим понятны преимущества TDD, но они не знают с чего начать. Некоторым кажется, что написание теста до появления реализации вообще невозможно. В своем докладе я рассказал не только о преимуществах и особенностях данного подхода, но и на примерах продемонстрировал, как работать с TDD на практике. Были рассмотрены варианты распределения ролей, техники написания тестов и особенности их использования. В качестве основного инструмента для тестирования использован WebDriver.</p>
<p>Доступен слайдкаст доклада:</p>
<p><iframe src="http://www.slideshare.net/slideshow/embed_code/11572784" width="510" height="426" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>Так как я показывал живую демонстрацию, то посмотреть доклад в полном объеме можно на видеозаписи:</p>
<p><object width="500" height="375"><param name="video" value="http://static.video.yandex.ru/lite/xpinjection/jjkrj32ta9.3320/"></param><param name="allowFullScreen" value="true"></param><param name="scale" value="noscale"></param><param name="flashvars" value="is-hq=true"></param><embed src="http://static.video.yandex.ru/lite/xpinjection/jjkrj32ta9.3320/" type="application/x-shockwave-flash" width="500" height="375" allowFullScreen="true" scale="noscale"flashvars="is-hq=true" ></embed></object></p>
<p>Лично мне понравилось несколько докладов. Отлично выступил Алексей Баранцев на тему <a href="http://confetqa.ru/program-auto-2012/#barancev">&laquo;Разработка стратегии автоматизации&raquo;</a>. Леша очень опытный докладчик, особенно в онлайн режиме. Доклад был насыщен полезными советами, которые помогут многим начать автоматизировать и снизить риски провала.</p>
<p>Яркий и живой доклад получился также у Ольги Киселевой, которая выступала первый раз. У нее была очень спорная тема <a href="http://confetqa.ru/program-auto-2012/#kiseleva">&laquo;Можно ли писать автотесты на родном языке?&raquo;</a>, которая вызвала много споров и дискуссий. Но сам доклад никого не оставил равнодушным.</p>
<p>Еще я для себя отметил доклад <a href="http://confetqa.ru/program-auto-2012/#zhariy">&laquo;Обходные пути в автоматизированом тестировании&raquo;</a>, с которым выступал Дмитрий Жарий. Не всегда получается жить в идеальном мире и к нему приходится приспосабливаться. Именно о таких способах обходить препятствия и рассказывалось в докладе. Просто и со вкусом.</p>
<p>Остальные докладчики тоже молодцы. Спасибо всем за подготовку и потраченное время!</p>
<p>Организаторы проводили голосование среди участников за лучший доклад на конференции. <a href="http://confetqa.ru/luchshie-doklady-auto-confetqa-2012/">Результаты</a> опубликовали сегодня. С отрывом в один голос я занял второе место после Алексея Баранцева. Леша благородно отказался от приза по причине причастности к организации конференции. В результате, первый приз достался мне &#8211; <a href="http://www.ozon.ru/context/detail/id/5557107/">игровая приставка Xbox 360 + сенсор Kinect</a>. Я несказанно рад этому факту! Значит, мои усилия были интересны людям и приносят пользу. А теперь мое выступление принесло пользу и мне лично. <img src='http://xpinjection.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Я буду с удовольствием выступать в очередной онлайн конференции из этой серии &#8211; <a href="http://confetqa.ru/program-chief-2012/">Chief ConfeT&#038;QA</a>. На этот раз с докладом <a href="http://confetqa.ru/program-chief-2012/#alimenkov">&laquo;Жизнь без тестировщиков: миф или реальность?&raquo;</a>. Не подумайте, я не против тестировщиков. Наоборот &#8211; я за то, чтобы они занимались интересной работой и приносили большую пользу проекту. Подробности можно будет услышать на моем выступлении.</p>
<p>Участники задавали достаточно много вопросов после доклада. Ниже вы можете найти мои ответы:</p>
<p><strong>Вопрос: <em>Какими средствами CI докладчик пользуется (советует пользоваться) наряду с TDD?</em></strong></p>
<p>Лично я уже давно почти везде пользуюсь TeamCity (http://www.jetbrains.com/teamcity/). Отличный UI, множество уникальных фичей, отличная интеграция с различными IDE, поддержка для практически всех известных мне инструментов, классная архитектура и т.д. Бесплатная версия подойдет для большей части проектов и не вызовет проблем или нехватки чего-то. На втором месте Jenkins (http://jenkins-ci.org/). Основной аргумент за него &#8211; бесплатный с огромным сообществом, а это значит куча плагинов под все, что только можно придумать. Но UI достаточно беден и нужно конфигурировать плагины самостоятельно.</p>
<p><strong>Вопрос: <em>А если ошибки возникнут потом при эксплуатации? Те тесты, которые не предусмотрели в &laquo;чек-листе&raquo;, согласованном с клиентом?</em></strong></p>
<p>То, что мы не предусмотрели, не могло быть реализовано. Оно должно быть реализовано как отдельная доработка. А там действует все тот же TDD. На любой баг или недоработку сначала пишем тест, а потом уже начинаем работу&#8230;</p>
<p><strong>Вопрос: <em>По факту все же получается, что тест пишется паралельно с реализацией?</em></strong></p>
<p>В большей части случаев (из моего опыта) тесты написать проще, чем реализацию функциональности. Поэтому тесты появляются достаточно быстро, но не полностью до начала разработки. Зато их обсуждение происходит перед началом работ, а этого хватает для получения практически всех преимуществ.</p>
<p><strong>Вопрос: <em>А какую test management system посоветуете?</em> </strong></p>
<p>В идеале &#8211; никакую. Я уже говорил о дублировании усилий на поддержку тестов и тест кейсов. Я вижу этот процесс как полную автоматизацию, поэтому предлагаю избегать использования test management систем. Они заведомо склоняют нас к дублированию.</p>
<p><strong>Вопрос: <em>Авто тесты лучше писать до разработки приложения или после и кто должен за это отвечать?</em></strong></p>
<p>Конечно же их лучше писать до разработки. В этом и есть подход TDD. Таким образом вы сможете получить весь спектр преимуществ, о которых я упоминал в докладе.</p>
<p><strong>Вопрос: <em>Что делать если UI достался от legacy проекта?</em></strong></p>
<p>Legacy код будет проблематичным для всех, включая тестировщиков. Но TDD заставляет работать над проблемами всей командой. Разработчики будут помогать победить проблемы. Вам придется разработать с течением времени тонкую прослойку над вашим нетестируемым UI и в будущем будет на порядок легче.</p>
<p><strong>Вопрос: <em>Опиши детальнее возможности инструмента testdox.</em></strong></p>
<p>TestDox &#8211; это очень простой, но удобный инструмент. Он ставится как плагин к IDE и позволяет разбирать названия тестовых методов на слова. Таким образом можно включать гораздо больше полезных данных в название теста, причем писать просто на английском языке, избегая особенностей языка программирования (подчеркиваний, camel case и прочих). Поддерживается редактирование, список тестов, создание новых тестов. Таким образом, данный плагин приближает вас на шаг к тестам в качестве документации. Остается только подключить мозг. <img src='http://xpinjection.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Вопрос: <em>Что ты думаешь по поводу BDD?</em> </strong></p>
<p>BDD &#8211; отличная практика, которая является подмножеством TDD. Вместо тестов рекомендуется начинать с поведенческих шаблонов приложения, причем оформлять их в человеческом виде (в основном предложениями английского языка). Не всегда дополнительные расходы времени на специализированный инструмент действительно оправданы. Если никто со стороны бизнеса не заглядывает в эти тесты, то возможно стоит перейти на уровень технических тестов с DSL.</p>
<p><strong>Вопрос: <em>Прокомментируй еще раз рекомендации с чего начать.</em></strong></p>
<p>Начать стоит с того, чтобы осознать четко для себя зачем и почему стоит работать по TDD. После этого стоит донести свои мысли и идеи до всех членов команды. Причем не то, что вы собираетесь работать по TDD, а то, какие преимущества могли бы получить все от этого. Если у вас получится это сделать, то все будут хотеть применить TDD. А потом дело лишь в стратегии. Вам нужно найти удобный момент и начать внедрение. Поддержка команды поможет вам сделать это достаточно быстро (я имею ввиду начать). А дальше у вас будет освобождаться все больше времени за счет 100% автоматизации новой функциональности и вы сможете укрепить свои позиции. И не забудьте подготовиться морально к тому, что придется поломать мозг, как свой так и коллег. <img src='http://xpinjection.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Удачи!</p>
<div class="shr-publisher-1821"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F02%2F21%2Fsuccessful-talk-at-auto-confetqa-conference%2F' data-shr_title='%D0%A3%D1%81%D0%BF%D0%B5%D1%88%D0%BD%D0%BE%D0%B5+%D0%B2%D1%8B%D1%81%D1%82%D1%83%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BD%D0%B0+%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD+%D0%BA%D0%BE%D0%BD%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B8+Auto+ConfeT%26QA+2012'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F02%2F21%2Fsuccessful-talk-at-auto-confetqa-conference%2F' data-shr_title='%D0%A3%D1%81%D0%BF%D0%B5%D1%88%D0%BD%D0%BE%D0%B5+%D0%B2%D1%8B%D1%81%D1%82%D1%83%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BD%D0%B0+%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD+%D0%BA%D0%BE%D0%BD%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B8+Auto+ConfeT%26QA+2012'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F02%2F21%2Fsuccessful-talk-at-auto-confetqa-conference%2F' data-shr_title='%D0%A3%D1%81%D0%BF%D0%B5%D1%88%D0%BD%D0%BE%D0%B5+%D0%B2%D1%8B%D1%81%D1%82%D1%83%D0%BF%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BD%D0%B0+%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD+%D0%BA%D0%BE%D0%BD%D1%84%D0%B5%D1%80%D0%B5%D0%BD%D1%86%D0%B8%D0%B8+Auto+ConfeT%26QA+2012'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F02%2F21%2Fsuccessful-talk-at-auto-confetqa-conference%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://xpinjection.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1821" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://xpinjection.com/2012/02/21/successful-talk-at-auto-confetqa-conference/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Новые инструменты в моем арсенале TDD</title>
		<link>http://xpinjection.com/2012/02/17/new-tools-in-my-tdd-arsenal/</link>
		<comments>http://xpinjection.com/2012/02/17/new-tools-in-my-tdd-arsenal/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 12:20:58 +0000</pubDate>
		<dc:creator>Александр Белецкий</dc:creator>
				<category><![CDATA[Статьи]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[инженерные практики]]></category>

		<guid isPermaLink="false">http://xpinjection.com/?p=1791</guid>
		<description><![CDATA[Недавно, я открыл для себя 3 новых интструмента, которыми хочу поделится с вами. Более точно, это один инструмент и два фреймворка. Посмотрим!]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Недавно, я открыл для себя 3 новых интструмента, которыми хочу поделится с вами. Более точно, это один инструмент и два фреймворка. Посмотрим!</p>
<h2>
NCrunch<br />
</h2>
<p>
<a href="http://www.ncrunch.net/">NCrunch</a> это просто потрясающее расширение к Visual Studio созданный <a href="https://twitter.com/#!/remcomulder">@remcomulder</a>. Он детектирует все тесты в вашем солюшине и перезапускает их как только исходный код меняется. Забудте про ручной запуск тестов навсегда, это просто потеря времени. Вам даже не обязятельно нажимать Ctrl + S, просто продолжаем кодить как и раньше.
</p>
<p>
Сначала, я очень скепртически относился к подобным инструментам, но NCruch изменил мое мнение. Он поддерживает все главные юнит тест фреймворки как NUnit, XUnit, MSpec etc. Кроме того, он позволяет собирать метрики покрытия (которые, отображаются прямо в VS редакторе), запуск тестов в дебаггере, поддержка многих ядер и т.д.
</p>
<p>
NCruch, это то что сделает ваш TDD более &laquo;гладким&raquo;, позволяется сфокусироваться на главных вещах и отвлечся от рутины.
</p>
<p><a href="https://lh3.googleusercontent.com/-SG_xDY5wvDo/TypXmx-VFGI/AAAAAAAAH3o/S46jODLRr5Q/s620/image-1.jpg"><br />
<img src="https://lh3.googleusercontent.com/-SG_xDY5wvDo/TypXmx-VFGI/AAAAAAAAH3o/S46jODLRr5Q/s620/image-1.jpg" alt="ncrunch" /><br />
</a></p>
<h2>
NSubstitute<br />
</h2>
<p>
На протяжении долгого времени, я был приверженцем <a href="http://code.google.com/p/moq/">Moq</a> фреймворка и не видел причин его менять. До того как появился <a href="http://nsubstitute.github.com/">NSubsitute</a>. Я с трудом представляю, что может двигать разработчиками, которые начинает делать &laquo;еще один фреймворк для моков&raquo;, кажется, что это не имеет смысла. Но <a href="https://github.com/nsubstitute">эти</a> ребята доказывают, что я не прав.
</p>
<p>
Итак, что там нового? Во-первых это очень понятный API. Никаких тебе <code>new Mock()</code> или <code>MockGenerator.GenerateMock()</code>, создание тестовых двойников это не более, чем <code>Substitute.For&lt;IEntityToMock&gt;()</code>. Мокирование свойств, возращение множественных результатов, поддержка событий и т.д. Для начала очень круто прочитать <a href="http://nsubstitute.github.com/help/getting-started/">getting started</a> материалы для старта.
</p>
<p>
Лучшая фича, как по мне, это то, что с использованием экстеншн методов они отказались от лямбд, для инициализации моков. Это делает код более читаемым и чистым. Я сделал маленький <a href="https://gist.github.com/1722396">gist</a>, в который поместил примеры использования Moq и NSubstitute вместе.
</p>
<p>
Я не могу сказать, что Rhino или Moq это гораздо хуже NSubstitute.. Нет, я могу сказать, что NSubstitute немного лучше их. Таже функциональность, но с меньшим количесвом кода, это серьезный аргумент для меня.
</p>
<pre>
[Test]
public void should_send_an_email_if_users_signs_up_nsub()
{
	// arrange
	var emailService = Substitute.For&lt;IEMailService&gt;();
	var controller = new LoginController(emailService);

	// act
	controller.SignUp(new SignUpModel { Email = &quot;a@a.com&quot;, Password = &quot;xxx&quot; });

	// assert
	emailService.Received().SendEmail(Arg.Any&lt;EmailMessage&gt;(), &quot;current&quot;);
}
</pre>
<h2>
FluentAssertions<br />
</h2>
<p>
Опять же, годами я следовал простому NUnit&#8217;s <code>Assert.That()</code> методу. Я также немного смотрел в сторону <a href="http://sharptestex.codeplex.com/">SharpTestsEx</a>, но FluentAssertions от <a href="https://twitter.com/#!/ddoomen">@ddoomen</a> изменил это.
</p>
<p>
FluentAssertions также основан на екстенш методах, и позволяет избавиться от вызова Assert.That, применяя ассерты непосредсвенно к объекту. Пару примеров:
</p>
<pre>
{
    // NUnit.Assert style..
    Assert.That(result, Is.EqualTo(3);

    // FluentAssert style..
    result.Should().Be(3);
}
</pre>
<p>
Это очень простой пример. Мощь FluentAssertions проявляется тогда, когда необходим множественный ассерт на сложных объектах:
</p>
<pre>
{
    "somestring".Should().Contain("some").And.HaveLength(10);
}
</pre>
<p>
Он также добавляет хорошую поддержку для работы с Коллекциями, Датами, Guids, Исключениями, XML и т.д. Проект размещен на codeplex, вот <a href="http://fluentassertions.codeplex.com/documentation">документация</a>.
</p>
<h2>Выводы</h2>
<p>
Очень классные инструменты, которые я осванию сейчас и пока что впечатления очень хорошие. Большое спасибо <a href="https://twitter.com/#!/skalinets">@skalinets</a>, которые покаазал мне их.
</p>
<p>
Оригинал статьи &#8211; <a href="http://www.beletsky.net/2012/02/new-tools-in-my-tdd-arsenal.html">http://www.beletsky.net/2012/02/new-tools-in-my-tdd-arsenal.html</a>.</p>
<div class="shr-publisher-1791"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F02%2F17%2Fnew-tools-in-my-tdd-arsenal%2F' data-shr_title='%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5+%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B+%D0%B2+%D0%BC%D0%BE%D0%B5%D0%BC+%D0%B0%D1%80%D1%81%D0%B5%D0%BD%D0%B0%D0%BB%D0%B5+TDD'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F02%2F17%2Fnew-tools-in-my-tdd-arsenal%2F' data-shr_title='%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5+%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B+%D0%B2+%D0%BC%D0%BE%D0%B5%D0%BC+%D0%B0%D1%80%D1%81%D0%B5%D0%BD%D0%B0%D0%BB%D0%B5+TDD'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F02%2F17%2Fnew-tools-in-my-tdd-arsenal%2F' data-shr_title='%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5+%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B+%D0%B2+%D0%BC%D0%BE%D0%B5%D0%BC+%D0%B0%D1%80%D1%81%D0%B5%D0%BD%D0%B0%D0%BB%D0%B5+TDD'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2012%2F02%2F17%2Fnew-tools-in-my-tdd-arsenal%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://xpinjection.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1791" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://xpinjection.com/2012/02/17/new-tools-in-my-tdd-arsenal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Второй шанс попасть на XP Days Ukraine</title>
		<link>http://xpinjection.com/2011/12/23/last-chance-to-visit-xp-days-ukraine/</link>
		<comments>http://xpinjection.com/2011/12/23/last-chance-to-visit-xp-days-ukraine/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 09:57:48 +0000</pubDate>
		<dc:creator>Николай Алименков</dc:creator>
				<category><![CDATA[Тренинги]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[XP Days Ukraine]]></category>
		<category><![CDATA[инженерные практики]]></category>

		<guid isPermaLink="false">http://xpinjection.com/?p=1549</guid>
		<description><![CDATA[Мы определились с расписанием мероприятий на зимние месяцы. Конец февраля конечно же пройдет под флагом Selenium Camp. А вот остальное время мы решили посвятить инженерным практикам. Это отличный шанс для тех, кто не успел или не смог принять участие в конференции XP Days Ukraine. Мы получили много благодарственных отзывов от участников тренингов, которые проходили в <a href="http://xpinjection.com/2011/12/23/last-chance-to-visit-xp-days-ukraine/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Мы определились с <a href="/schedule/">расписанием мероприятий</a> на зимние месяцы. Конец февраля конечно же пройдет под флагом <a href="http://seleniumcamp.com">Selenium Camp</a>. А вот остальное время мы решили посвятить инженерным практикам. Это отличный шанс для тех, кто не успел или не смог принять участие в конференции <a href="http://xpdays.com.ua">XP Days Ukraine</a>.</p>
<p>Мы получили много благодарственных отзывов от участников <a href="http://xpdays.com.ua/trainings/">тренингов</a>, которые проходили в преддверие конференции. Количество мест было ограничено и не все смогли попасть на них. Поэтому мы решили повторить практически такой же набор тренингов в феврале.</p>
<p>Сначала хочу анонсировать тренинги по TDD. Не буду расписывать зачем и почему стоит работать по TDD и какие преимущества дает эта практика. Я уже <a href="/2011/11/24/tdd-is-the-most-important-engineering-practice/">писал</a> на эту тему раньше и не хочу повторяться. Я считаю TDD <strong>самой полезной</strong> инженерной практикой. Мы снова проведем тренинги в разрезе разных языков программирования. Это будут <a href="/trainings/tdd-in-php">PHP</a>, <a href="/trainings/tdd-in-net">.NET</a> и <a href="/trainings/tdd-in-java">Java</a>.</p>
<p>Последний раз тренинг <a href="/trainings/tdd-in-java">&laquo;TDD в Java&raquo;</a> вел один из докладчиков <a href="http://xpdays.com.ua">XP Days Ukraine</a> &#8211; поляк <a href="http://xpdays.com.ua/speakers#lipinski">Paweł Lipiński</a>. Он отличный тренер и его стиль проведения тренинга очень классный. Много практики, работа в паре с тренером и небольшие сфокусированные примеры. Все это позволяет легко воспринимать материал и при этом пробовать применять полученные знания на практике. 2 дня оказалось недостаточно, чтобы Павел раскрыл все темы, которые запланировал изначально. Программа тренинга очень насыщенная. Обычно он ведет подобные тренинги от 3 до 5 дней. Почему бы и не попробовать? Мы решили впервые провести столь продолжительный тренинг, хотя за рубежом это распространенная практика. Кроме того, мы будем вести этот тренинг в паре с Павлом. Участники смогут получить больше персонального внимания и увидеть стиль работы <strong>двух тренеров</strong>. Итак, тренинг пройдет <strong>9-11 февраля</strong> и будет длиться <strong>3 дня</strong>. Основной язык тренинга &#8211; <strong>английский</strong>. Стоимость участия составляет <strong>2500 гривен</strong> (обед включен во все дни). Размер группы ограничен <strong>12 участниками</strong>. Торопитесь <a href="https://docs.google.com/spreadsheet/viewform?hl=en_US&#038;formkey=dGhuOGJ2Q0J4UDdUa3hPVEY4NklEV2c6MA">зарегистрироваться</a> и забронировать себе место в группе.</p>
<p>Тренинг <a href="/trainings/tdd-in-net">&laquo;TDD в .NET&raquo;</a> проведут <a href="/coaches#beletsky">Александр Белецкий</a>, который на этой неделе стал нашим официальным тренером, и Сергей Калинец. Ребята сделали очень неплохой тренинг, в котором делятся своим многолетним опытом использования TDD в реальных проектах. А им есть чем поделиться! Тренинг пройдет <strong>3-4 февраля</strong>. Стоимость участия составляет <strong>1700 гривен</strong> (обед включен в оба дня). Размер группы ограничен <strong>12 участниками</strong>. <a href="https://docs.google.com/spreadsheet/viewform?hl=en_US&#038;formkey=dE4tSjcxRDNVaGZ0dzVHUnlacHZlM0E6MA">Регистрация</a> уже открыта.</p>
<p>Тренинг <a href="/trainings/tdd-in-php">&laquo;TDD в PHP&raquo;</a> проведет наш опытный тренер <a href="http://xpinjection.com/coaches#mosev">Иван Мосев</a>. Ваня каждый раз улучшает программу тренинга, учитывая пожелания предыдущей группы. Очередным толчком к подобному улучшению стало наше совместное посещение мастер-класса <a href="http://xpdays.com.ua/trainings/#coding-dojo">«TDD Coding Dojo»</a>. Я думаю в этот раз тренинг будет содержать еще больше интересных практических заданий. Пройдет он <strong>17-18 февраля</strong>. Стоимость участия составляет <strong>1700 гривен</strong> (обед включен в оба дня). Размер группы ограничен <strong>12 участниками</strong>. Спешите <a href="https://docs.google.com/spreadsheet/viewform?hl=en_US&#038;formkey=dGJic3lHdHZBQVR0TWdGSDlFNTdNU1E6MA">зарегистрироваться</a>.</p>
<p>И замыкает группу тренингов <a href="/trainings/agile-engineering-practices">&laquo;Инженерные практики в Agile&raquo;</a>. Это наверное самый полезный наш тренинг, потому что он агрегирует весь наш многолетний опыт внедрения и применения различных инженерных практик и подходов. За <strong>2 дня</strong> участники смогут услышать и увидеть на примерах <strong>8 различных инженерных практик</strong>. Мы больше не будем пытаться проводить этот тренинг в один день. Слишком много материала и донести его за такой короткий срок очень тяжело, причем скорее для участников. Тренинг состоится <strong>17-18 февраля</strong>. Мы работаем вдвоем и поэтому готовы собрать группу до <strong>20 человек</strong>. Стоимость участия составляет <strong>1700 гривен</strong> (обед включен в оба дня). <a href="https://docs.google.com/spreadsheet/viewform?hl=en_US&#038;formkey=dGNGa1o2bjF6aVhrWUQ3QVZJMnY2Z2c6MA">Регистрируйтесь</a> и мы будем рады видеть вас на нашем тренинге!</p>
<p>Если вы пропустили <a href="http://xpdays.com.ua">XP Days Ukraine</a> и жалеете об этом, то это шанс для вас наверстать упущенное. Присоединяйтесь!</p>
<div class="shr-publisher-1549"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F23%2Flast-chance-to-visit-xp-days-ukraine%2F' data-shr_title='%D0%92%D1%82%D0%BE%D1%80%D0%BE%D0%B9+%D1%88%D0%B0%D0%BD%D1%81+%D0%BF%D0%BE%D0%BF%D0%B0%D1%81%D1%82%D1%8C+%D0%BD%D0%B0+XP+Days+Ukraine'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F23%2Flast-chance-to-visit-xp-days-ukraine%2F' data-shr_title='%D0%92%D1%82%D0%BE%D1%80%D0%BE%D0%B9+%D1%88%D0%B0%D0%BD%D1%81+%D0%BF%D0%BE%D0%BF%D0%B0%D1%81%D1%82%D1%8C+%D0%BD%D0%B0+XP+Days+Ukraine'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F23%2Flast-chance-to-visit-xp-days-ukraine%2F' data-shr_title='%D0%92%D1%82%D0%BE%D1%80%D0%BE%D0%B9+%D1%88%D0%B0%D0%BD%D1%81+%D0%BF%D0%BE%D0%BF%D0%B0%D1%81%D1%82%D1%8C+%D0%BD%D0%B0+XP+Days+Ukraine'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F23%2Flast-chance-to-visit-xp-days-ukraine%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://xpinjection.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1549" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://xpinjection.com/2011/12/23/last-chance-to-visit-xp-days-ukraine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>К составу наших тренеров присоединился Александр Белецкий</title>
		<link>http://xpinjection.com/2011/12/22/beletsky-joined-our-coaches-group/</link>
		<comments>http://xpinjection.com/2011/12/22/beletsky-joined-our-coaches-group/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 09:23:34 +0000</pubDate>
		<dc:creator>Николай Алименков</dc:creator>
				<category><![CDATA[Тренинги]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[XP Days Ukraine]]></category>

		<guid isPermaLink="false">http://xpinjection.com/?p=1528</guid>
		<description><![CDATA[Мы рады анонсировать расширение нашего тренерского состава &#8211; к нам присоединился Александр Белецкий. Он будет отвечать за .NET направление в нашем тренинг-центре. В рамках прошедшей конференции XP Days Ukraine Александр совместно с Сергеем Калинцом провел тренинг &#171;TDD в .NET&#187;. Мы получили массу позитивных отзывов от участников данного тренинга и предложили Александру продолжить сотрудничество. В ближайшее <a href="http://xpinjection.com/2011/12/22/beletsky-joined-our-coaches-group/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Мы рады анонсировать расширение нашего тренерского состава &#8211; к нам присоединился <a href="/coaches/#beletsky">Александр Белецкий</a>. Он будет отвечать за <strong>.NET</strong> направление в нашем тренинг-центре. В рамках прошедшей конференции <a href="http://xpdays.com.ua">XP Days Ukraine</a> Александр совместно с Сергеем Калинцом провел тренинг <a href="/trainings/tdd-in-net">&laquo;TDD в .NET&raquo;</a>. Мы получили массу позитивных отзывов от участников данного тренинга и предложили Александру продолжить сотрудничество. В ближайшее время мы подготовим несколько тренингов по <strong>ASP.NET MVC</strong> и <strong>REST Services for .NET</strong>, а также анонсируем очередную дату проведения тренинга <a href="/trainings/tdd-in-net">&laquo;TDD в .NET&raquo;</a>.</p>
<p>Александр – увлеченный продуктовый разработчик. Имея опыт в ИТ отрасли около 9 лет, он имеет обширное представление о процессе разработки и поддержки програмного обеспечения. Последние 4 года сфокусирован на технологическом стеке .NET, имея углубленные знания веб фреймворков WebForms и MVC. Является большим приверженцом XP практик и гибкой разработки. Успешно применяет и адаптирует на проекты такие практики как TDD, Code Review, Continuous Integration / Delivery.</p>
<p>Александр является активным членом киевской <a href="http://alt.net/">ALT.NET</a> группы, выступает с докладами на различных конференциях, имеющим отношение к продуктовой разработке, технологиям и практикам. Ведет свой <a href="http://www.beletsky.net/">блог</a>, <a href="http://stackoverflow.com/users/386751/alexanderb">помогает</a> другим разработчикам, развивает сообщество программистов <a href="http://kyivbeerncode.org/">Kyiv Beer &#038;&#038; Code</a> и много <a href="https://github.com/alexanderbeletsky">программирует</a>.</p>
<p>Следите за анонсами и не пропустите тренинги <a href="/coaches/#beletsky">Александра Белецкого</a>! </p>
<div class="shr-publisher-1528"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F22%2Fbeletsky-joined-our-coaches-group%2F' data-shr_title='%D0%9A+%D1%81%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D1%83+%D0%BD%D0%B0%D1%88%D0%B8%D1%85+%D1%82%D1%80%D0%B5%D0%BD%D0%B5%D1%80%D0%BE%D0%B2+%D0%BF%D1%80%D0%B8%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B8%D0%BB%D1%81%D1%8F+%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80+%D0%91%D0%B5%D0%BB%D0%B5%D1%86%D0%BA%D0%B8%D0%B9'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F22%2Fbeletsky-joined-our-coaches-group%2F' data-shr_title='%D0%9A+%D1%81%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D1%83+%D0%BD%D0%B0%D1%88%D0%B8%D1%85+%D1%82%D1%80%D0%B5%D0%BD%D0%B5%D1%80%D0%BE%D0%B2+%D0%BF%D1%80%D0%B8%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B8%D0%BB%D1%81%D1%8F+%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80+%D0%91%D0%B5%D0%BB%D0%B5%D1%86%D0%BA%D0%B8%D0%B9'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F22%2Fbeletsky-joined-our-coaches-group%2F' data-shr_title='%D0%9A+%D1%81%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D1%83+%D0%BD%D0%B0%D1%88%D0%B8%D1%85+%D1%82%D1%80%D0%B5%D0%BD%D0%B5%D1%80%D0%BE%D0%B2+%D0%BF%D1%80%D0%B8%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B8%D0%BB%D1%81%D1%8F+%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80+%D0%91%D0%B5%D0%BB%D0%B5%D1%86%D0%BA%D0%B8%D0%B9'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F22%2Fbeletsky-joined-our-coaches-group%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://xpinjection.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1528" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://xpinjection.com/2011/12/22/beletsky-joined-our-coaches-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XP Days Ukraine глазами организаторов. Часть 2</title>
		<link>http://xpinjection.com/2011/12/21/xp-days-ukraine-review-part-2/</link>
		<comments>http://xpinjection.com/2011/12/21/xp-days-ukraine-review-part-2/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 09:28:57 +0000</pubDate>
		<dc:creator>Николай Алименков</dc:creator>
				<category><![CDATA[Общие]]></category>
		<category><![CDATA[build automation]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[unit testing]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[XP Days Ukraine]]></category>
		<category><![CDATA[инженерные практики]]></category>
		<category><![CDATA[клуб анонимных разработчиков]]></category>

		<guid isPermaLink="false">http://xpinjection.com/?p=1504</guid>
		<description><![CDATA[Это вторая часть моего отчета о прошедшей конференции XP Days Ukraine. В первой части я рассказал о подготовке и первых двух днях, насыщенных тренингами и мастер-классами. Теперь речь пойдет об основном дне конференции. Проснуться 17 декабря пришлось достаточно рано, поэтому невыспанность после вчерашнего написания кода до позднего вечера давала о себе знать. Срочно нужен был <a href="http://xpinjection.com/2011/12/21/xp-days-ukraine-review-part-2/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><img class="article-left" src="/images/articles/xpdays.jpg" alt="XP Days Ukraine" /></p>
<p>Это вторая часть моего отчета о прошедшей конференции <a href="http://xpdays.com.ua">XP Days Ukraine</a>. В <a href="/2011/12/20/xp-days-ukraine-review-part-1/">первой части</a> я рассказал о подготовке и первых двух днях, насыщенных <a href="http://xpdays.com.ua/trainings/">тренингами</a> и <a href="http://xpdays.com.ua/trainings/">мастер-классами</a>. Теперь речь пойдет об основном дне конференции.</p>
<p>Проснуться <strong>17 декабря</strong> пришлось достаточно рано, поэтому невыспанность после вчерашнего <a href="http://xpdays.com.ua/trainings/#coding-dojo">написания кода</a> до позднего вечера давала о себе знать. Срочно нужен был кофе. В &laquo;Парусе&raquo; уже все было практически готово, оставались мелочи. Мы расставили указатели (вход в здание найти было не так просто), проинструктировали в последний раз команду волонтеров, определили расположение кофе-пауз и стали ждать первых участников. Я очень рад, что у нас уже сложился костяк команды волонтеров, которые с радостью соглашаются работать с нами. Вы молодцы, ребята!</p>
<p>Благо опыт проведения регистраций у нас есть. Поэтому в этот раз регистрация проходила гладко и плавно. Не было ни очередей ни паники. Каждый участник получил пакет с программой и прочими материалами, а также яркий красочный бейдж. За это особое спасибо нашим печатным подрядчикам и Леше Солнцеву за дизайн. </p>
<p>У меня даже получилось пообщаться перед открытием со старыми знакомыми, а знакомых на этой конференции было очень много. Кто-то был у нас на тренингах, кто-то посещал другие наши конференции, а кто-то знает меня уже давно. Кофе было вдоволь, как заварного, так и из кофе-машин, которые привезли с собой наши спонсоры.</p>
<p>На открытие все собрались в главном зале. Я рассказал о важных деталях конференции, поблагодарил нашу славную команду, волонтеров и докладчиков, благодаря которым конференция состоялась. На закрытии мы собирались разыграть множество призов от организаторов и спонсоров, причем некоторые из которых были очень даже ценными. На этой конференции мы решили ввести новинку &#8211; <strong>карточки обратной связи докладчикам</strong>. Каждый участник получил по две таких карточки и мог отдать их тем докладчикам, которые понравились ему больше всего, написав на карточке свое мнение о докладе. Такая обратная связь очень сильно поддерживает и мотивирует докладчика &#8211; ведь он видит, что его труды приносят пользу.</p>
<p>Я не люблю длительные и пафосные открытия, поэтому не стал утомлять участников и закончил достаточно быстро, передав слово первому докладчику в главном зале &#8211; <a href="http://xpdays.com.ua/speakers#seemann">Mark Seemann</a>. По традиции на первые доклады я не попадаю. Хочется убедиться, что с организацией все идет нормально. А еще было интересно, что думают участники о мероприятии. Интернет утром работал исправно и народ начал писать в <a href="http://twitter.com/#!/search?q=%23XPDays">Twitter ленту</a>. </p>
<p>Об интернете хочется рассказать отдельно. В этот раз мы решили попробовать новую технологию, потому что местный интернет был очень нестабильный. Были заказаны четыре <strong>4G точки</strong>, которые Wifi роутерами объединялись в единое кольцо. Вдобавок в это же кольцо были подключены 2 Wifi роутера местного интернета. Эта схема должна была обеспечить надежное подключение большому количеству участников и при этом переключать их в зависимости от местоположения на менее загруженную точку. Звучит красиво, стоит немало, но не сработало. <img src='http://xpinjection.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Все работало классно, пока местный интернет не начал пропадать. Роутеры набирали себе клиентов, но не давали интернета. Хорошо, что у нас был сотрудник для поддержки 4G точек, который постоянно мониторил состояние сети и перестроил во время обеда сеть, отключив местный интернет. Стало работать медленнее, но работать. В целом, жить с таким интернетом было можно, но назвать его стабильным и быстрым не поднимается язык. Будем экспериментировать дальше&#8230;</p>
<p>После первого доклада произошла мини-проблема. Докладчики затянули с вопросами и отпустили участников на перерыв слишком поздно. Поэтому вторые доклады начались с задержкой в несколько минут. Надеемся, что этого никто не заметил. <img src='http://xpinjection.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  В дальнейшем, волонтеры заканчивали доклады четко в установленное программой время.</p>
<p>Следующей неожиданностью стала <strong>популярность сцены В</strong>. Мы сделали ее из части холла и задумывалась она как сцена &laquo;для гиков&raquo;. Такого ажиотажа на архитектуру и дизайн в Agile мы никак не ожидали. Во время второго доклада пришлось в экстренном порядке расширять сцену В и она заняла в полтора раза больше места, чем планировалось изначально. Появилась даже мысль поменять местами сцены С и В, но решили оставить как есть. Возможно это было неправильным решением. Иногда на сцене В было душновато. Это связано с работой проектора и узким пространством, которое изначально не являлось самостоятельным залом. Но эти неудобства не останавливали участников и сцена В была чуть ли не самой посещаемой.</p>
<p>Я выступал перед самым обедом с докладом <a href="http://xpdays.com.ua/materials/no-testers/">&laquo;Жизнь без тестировщиков: миф или реальность?&raquo;</a>. Пересказывать доклад не буду, вот презентация:</p>
<p><iframe src="http://www.slideshare.net/slideshow/embed_code/9957267" width="510" height="426" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>Незаметно подошло время обеда. На него в программе было отведено полтора часа. В самом &laquo;Парусе&raquo; возможности нормально пообедать за адекватную цену нет, поэтому мы предоставили участникам карту ближайших мест общественного питания. Заодно можно было прогуляться и подышать свежим воздухом. Но все торопились отправиться на обед, тем самым создав &laquo;пробку&raquo; в гардеробе. Мы заведомо предполагали проблемы с гардеробом и отправили на помощь нескольких волонтеров. Но сама структура гардероба не помогала ускориться. В течении 15 минут все получили свою верхнюю одежду и разошлись обедать. Мне кажется, что спешка была совершенно ни к чему и можно было спокойно пообщаться в холле вместо стояния в очереди. <img src='http://xpinjection.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>После обеда самое тяжелое время &#8211; клонит в сон и информация воспринимается тяжело. Поэтому на главной сцене в программе были 2 секции коротких докладов. Докладчики жгли! У большинства были классные слайды и интересные темы. Лично мне было совершенно не до сна. <img src='http://xpinjection.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>На предпоследний доклад я отправился послушать <a href="http://xpdays.com.ua/speakers#kovalenko">Диму Коваленко</a>, который прилетел к нам в гости из США. Он в детстве жил в России, поэтому еще помнит русский язык. Но гораздо приятнее его слушать на английском. Дима рассказал о том, как в компании Groupon относятся к сборкам, тестам, деплоям. Доклад получился достаточно живой и интересный. В самом конце заглянул на доклад по <a href="http://xpdays.com.ua/materials/code-review/">Code Review</a> к <a href="http://xpdays.com.ua/speakers#rezchikov">Алексею Резчикову</a>.</p>
<p>Мне &laquo;выпала честь&raquo; закрывать конференцию. Я выбрал для этого тему <a href="/materials/delivery">&laquo;Continuous Delivery&raquo;</a>, потому что она логически объединяла все обсуждаемые практики и подходы. Я собрал немало карточек обратной связи и слов благодарности от участников, что подтвердило правильный выбор темы. Презентация с этого выступления:</p>
<p><iframe src="http://www.slideshare.net/slideshow/embed_code/10656538" width="510" height="426" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>Практически все участники собрались на торжественное закрытие конференции. И правильно &#8211; ведь каждый хотел уйти не с пустыми руками. Призов было достаточно много. Мы разыграли сувенирные майку и кружку, а также 3 книги <a href="http://www.manning.com/seemann">«Dependency Injection in .NET»</a> с автографом автора. Наш бриллиантовый спонсор, компания <a href="http://www.dataart.com.ua/">&laquo;ДатаАрт&raquo;</a>, разыграла 5 читалок Amazon Kindle (2 больших и 3 маленьких). А второй наш бриллиантовый спонсор, компания <a href="http://www.sysiq.com/">SysIQ</a>, разыграла сертификат на прохождение курса &laquo;Certified Product Owner&raquo;. Он, по воле судьбы, достался одному из сотрудников SysIQ. <img src='http://xpinjection.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Закрытие было очень живым и веселым, с шутками из зала и общим позитивным настроем. Было очень приятно видеть радостные лица обладателей призов. Мы еще раз поблагодарили всех-всех-всех и попрощались до следующего года. </p>
<p>В целом, осталось очень приятное ощущение. Мы провели что-то новое и интересное, а не &laquo;очередную Agile конференцию&raquo;. А ваши отзывы и слова благодарности помогают нам работать дальше и сильно мотивируют. Будем рады видеть вас снова! </p>
<div class="shr-publisher-1504"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F21%2Fxp-days-ukraine-review-part-2%2F' data-shr_title='XP+Days+Ukraine+%D0%B3%D0%BB%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8+%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%BE%D0%B2.+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+2'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F21%2Fxp-days-ukraine-review-part-2%2F' data-shr_title='XP+Days+Ukraine+%D0%B3%D0%BB%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8+%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%BE%D0%B2.+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+2'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F21%2Fxp-days-ukraine-review-part-2%2F' data-shr_title='XP+Days+Ukraine+%D0%B3%D0%BB%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8+%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%BE%D0%B2.+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+2'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F21%2Fxp-days-ukraine-review-part-2%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://xpinjection.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1504" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://xpinjection.com/2011/12/21/xp-days-ukraine-review-part-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>XP Days Ukraine глазами организаторов. Часть 1</title>
		<link>http://xpinjection.com/2011/12/20/xp-days-ukraine-review-part-1/</link>
		<comments>http://xpinjection.com/2011/12/20/xp-days-ukraine-review-part-1/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 09:47:33 +0000</pubDate>
		<dc:creator>Николай Алименков</dc:creator>
				<category><![CDATA[Общие]]></category>
		<category><![CDATA[build automation]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[unit testing]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[XP Days Ukraine]]></category>
		<category><![CDATA[инженерные практики]]></category>
		<category><![CDATA[клуб анонимных разработчиков]]></category>

		<guid isPermaLink="false">http://xpinjection.com/?p=1492</guid>
		<description><![CDATA[Вырвал время на написание отчета о конференции XP Days Ukraine. Отчет будет состоять из двух частей. В первой части речь пойдет о подготовке и первых двух днях, наполненных тренингами и разнообразными встречами. В этот раз я не буду делать слишком детальный обзор или пересказывать содержание докладов. Расскажу о нашем взгляде на данное мероприятие и моих <a href="http://xpinjection.com/2011/12/20/xp-days-ukraine-review-part-1/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><img class="article-left" src="/images/articles/xpdays.jpg" alt="XP Days Ukraine" /></p>
<p>Вырвал время на написание отчета о конференции <a href="http://xpdays.com.ua">XP Days Ukraine</a>. Отчет будет состоять из двух частей. В первой части речь пойдет о подготовке и первых двух днях, наполненных тренингами и разнообразными встречами. В этот раз я не буду делать слишком детальный обзор или пересказывать содержание докладов. Расскажу о нашем взгляде на данное мероприятие и моих личных впечатлениях.</p>
<p>Эта конференция получилась самой сложной из того, что мы делали за все время существования тренинг-центра <strong>XP Injection</strong>. Все складывалось не самым удачным образом с самого начала. Чтобы не пересекаться с другими крупными событиями, мы выбрали середину декабря в качестве времени проведения. И это был не самый удачный выбор. У многих компаний не осталось бюджета, некоторые участники уже начинали планировать новогодние праздники или были загружены работой перед завершением года. Поэтому мы очень скоро осознали, что собрать 500 человек, как изначально планировалось, попросту нереально.</p>
<p>Как обычно были сложности и с помещением. Я уже <a href="/2011/08/31/organizational-issues-of-large-conferences-in-kiev/">писал</a> о плачевной ситуации с конференц-сервисом в Киеве. В этот раз она усугубилась проведением крупных новогодних корпоративов. А они гораздо важнее и выгоднее для владельцев площадок, чем наша конференция. Поэтому мы приняли решение ограничить количество участников в любом случае и провести конференцию в <a href="http://xpdays.com.ua/where/">бизнес-центре &laquo;Парус&raquo;</a>. Про преимущества и недостатки этого места поговорим позже.</p>
<p>Не самая лучшая ситуация складывалась с докладчиками. По дороге мы потеряли некоторых очень интересных и важных зарубежных гуру. В основном это было связано с новогодними и рождественскими праздниками, а также с закрытием рабочего года. Тем не менее, нам удалось собрать очень сильный состав докладчиков с представителями из Украины, России, Беларуси, Польши, Дании, Норвегии, Англии и США. </p>
<p>Программа получилась на редкость сильная. Лично для меня было только несколько неосвещенных тем: инструменты для Continuous Integration (хотелось бы послушать про Jenkins, TeamCity, Cruise и прочие инструменты от их авторов), BDD (хотелось бы услышать о пользе и реальном опыте применения) и Technical Dept (о методиках сбора и анализа, а также инструментах для борьбы с ним). В остальном меня лично программа устраивала на все 100%. Я бы хотел лично еще раз поблагодарить всех докладчиков, которые приняли наше приглашение или же сами проявили инициативу. Именно благодаря им конференция удалась!</p>
<p>Основная задумка <strong>XP Days</strong> заключалась в том, чтобы сделать не просто конференцию, а насыщенное событие с возможностью прокачать навыки на тренингах и мастер-классах. Сам конференционный день должен был завершить мероприятие, дав возможность пообщаться и послушать множество интересных докладов. Поэтому мы запланировали на <strong>15-16 декабря</strong> проведение <strong>5 тренингов</strong> и <strong>3 встреч/мастер-классов</strong>. Тренинги покрывали темы TDD в разных языках программирования (<a href="http://xpdays.com.ua/trainings/tdd-in-java">Java</a>, <a href="http://xpdays.com.ua/trainings/tdd-in-php">PHP</a>, <a href="http://xpdays.com.ua/trainings/tdd-in-net">.NET</a>), <a href="http://xpdays.com.ua/trainings/practices">Agile инженерные практики</a> и <a href="http://xpdays.com.ua/trainings/continuous-integration">Continuous Integration</a>. Встречи проходили на темы <a href="http://xpdays.com.ua/trainings/#cucumber">автоматизации тестирования</a>, <a href="http://xpdays.com.ua/trainings/#developers-club">Dependency Injection в .NET</a> и совершенно нового для Украины направления <a href="http://xpdays.com.ua/trainings/#coding-dojo">TDD Coding Dojo</a>.</p>
<p>Эти первые два дня получились такими насыщенными, что переплюнули все мои ожидания. Я принимал участие в качестве тренера только в первый день. Мы с Лешей Солнцевым рассказывали про большую часть инженерных практик и их внедрение. В очередной раз я осознал, что этот тренинг стоит делать только в формате двух дней. За один день мы даем такую нагрузку, с которой справляются далеко не все участники. Тем не менее, надеюсь было интересно. Мы постарались как можно больше рассказывать о примерах из нашего реального опыта и показывать живые демонстрации. Спасибо участникам за интересные и жизненные вопросы.</p>
<p>На второй день я отправился во время организаторской миссии посмотреть на другие тренинги. Все тренеры работали на <strong>очень высоком уровне</strong>. Я увидел очень много общения среди участников.   На каждом перерыве были обсуждения, обмен опытом, впечатлениями, инструментами и техниками. И это здорово, потому что благодаря подобному общению мы приобретаем много нового опыта. Мне удалось частично принять участие в тренинге <a href="http://xpdays.com.ua/trainings/tdd-in-java">&laquo;TDD в Java&raquo;</a>, который проводил <a href="http://xpdays.com.ua/speakers#lipinski">Paweł Lipiński</a>. Paweł оказался очень опытным тренером и позитивным, энергичным докладчиком. Мне очень понравился его стиль ведения тренингов &#8211; как можно больше практики. Буквально каждая тема была подкреплена практическим заданием. Задания были на первый взгляд простыми, но реально приходилось поработать, чтобы получилось нормальное решение. При этом каждый участник по очереди выполнял задание вместе с тренером с демонстрацией на экране проектора. Это делало тренинг действительно увлекательным и я с радостью помогал моему коллеге из Zoral Labs успешно справляться с трудностями.</p>
<p>Вечер <strong>16 декабря</strong> получился неожиданным благодаря огромным пробкам в городе. Мы должны были подготовить залы к завтрашней конференции, а добраться до центра города вовремя получалось не у всех подрядчиков. А еще и отвратительная погода. В итоге подготовка затянулась до позднего вечера, а я оставил Аню и Лешу, отправившись обратно на нашу площадку тренингов для организации упомянутых выше встреч. К нашему стыду, пришлось прокатить одного из зарубежных докладчиков <a href="http://xpdays.com.ua/speakers#seemann">Mark Seemann</a> на метро в час пик. Это был для него единственный шанс добраться вовремя от отеля до места проведения его мастер-класса по <strong>Dependency Injection</strong>. Но он справился с задачей отлично и прибыл в назначенное время.</p>
<p>В .NET я не сильно разбираюсь и поэтому выбрал для себя <strong>TDD Coding Dojo</strong>. Я с опаской относился к этому формату. По собственному опыту знаю, что нужно продумать все до самых мелочей, чтобы живое программирование было интересным и увлекательным. <a href="http://xpdays.com.ua/speakers#brodwall">Johannes Brodwall</a> оказался как раз таким человеком, который относится к своему любимому делу с огромной ответственностью и готовится очень скрупулезно. Видно было, что ему очень нравится проводить подобные мероприятия, общаться с коллегами, программировать с ними и наблюдать за тем, как они программируют. Этот человек всегда стремится узнать что-то новое, в то же время с радостью делясь своим опытом и навыками.</p>
<p>Сначала Johannes познакомил нас с форматом и познакомился со всеми участниками, собрав с них ожидания. Потом в паре с одним из нас продемонстрировал принцип работы <strong>TDD Coding Dojo</strong>. И сразу после этого мы начали делать практические задания. Первое было достаточно простым, но отлично демонстрировало принципы работы в паре и TDD. Я работал в паре с Вовой Цукур и это было реально интересно. С первым упражнением мы справились быстро и без сложностей. </p>
<p>Потом началось самое интересное. Следующее практическое задание было с соревновательным подтекстом. Мы могли использовать любой язык программирования, любые трюки и уловки. Побеждал тот, кто набрал больше всех баллов. Причем как их набирать предстояло выяснить нам самим в процессе работы над заданием. Это было очень интересно. </p>
<p>Мы писали говнокод, поняли что без тестов даже два &laquo;сеньера&raquo; ничего путного не напишут, делились на лету знаниями IDE и Java, убедились что IDEA круче Eclipse, рефакторили говнокод, проявляли смекалку в написании регулярных выражений, да и просто получали кучу удовольствия от соревнования. А соревновались с нами ребята на PHP и C#. Команды были сильные и борьба накалялась. Мы вырвали победу с достаточно большим отрывом и это принесло еще больше удовольствия. В итоге разошлись мы только ближе к 11 часам вечера, а некоторые, как потом выяснилось, продолжали кодить еще и ночью дома. Огромнейшее спасибо <strong>Йоханнесу</strong> (ему приятно будет прочитать свое имя на русском языке) за эту сессию и в целом за приезд на нашу конференцию! Мы обязательно будем организовывать подобные встречи в формате <strong>&laquo;Клуба анонимных разработчиков&raquo;</strong>.</p>
<p>Продолжение следует&#8230;</p>
<div class="shr-publisher-1492"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F20%2Fxp-days-ukraine-review-part-1%2F' data-shr_title='XP+Days+Ukraine+%D0%B3%D0%BB%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8+%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%BE%D0%B2.+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+1'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F20%2Fxp-days-ukraine-review-part-1%2F' data-shr_title='XP+Days+Ukraine+%D0%B3%D0%BB%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8+%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%BE%D0%B2.+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+1'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F20%2Fxp-days-ukraine-review-part-1%2F' data-shr_title='XP+Days+Ukraine+%D0%B3%D0%BB%D0%B0%D0%B7%D0%B0%D0%BC%D0%B8+%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80%D0%BE%D0%B2.+%D0%A7%D0%B0%D1%81%D1%82%D1%8C+1'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F20%2Fxp-days-ukraine-review-part-1%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://xpinjection.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1492" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://xpinjection.com/2011/12/20/xp-days-ukraine-review-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>10-ая юбилейная встреча &#171;Клуба анонимных разработчиков&#187; в рамках XP Days Ukraine</title>
		<link>http://xpinjection.com/2011/12/13/10th-developers-club-gathering/</link>
		<comments>http://xpinjection.com/2011/12/13/10th-developers-club-gathering/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 13:54:07 +0000</pubDate>
		<dc:creator>Николай Алименков</dc:creator>
				<category><![CDATA[Общие]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[XP]]></category>
		<category><![CDATA[XP Days Ukraine]]></category>
		<category><![CDATA[клуб анонимных разработчиков]]></category>

		<guid isPermaLink="false">http://xpinjection.com/?p=1472</guid>
		<description><![CDATA[Идея &#171;Клуба анонимных разработчиков&#187; оказалась достаточно интересной. Клуб живет уже почти полгода и мы провели уже 9 встреч на самые разнообразные темы. За это время у нас в гостях побывало больше 200 человек. Думаю, каждый смог завести себе новых знакомых, а также узнать массу полезной информации. Мы рады анонсировать 10-ую юбилейную встречу, которая пройдет вечером <a href="http://xpinjection.com/2011/12/13/10th-developers-club-gathering/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Идея <strong>&laquo;Клуба анонимных разработчиков&raquo;</strong> оказалась достаточно интересной. Клуб живет уже почти полгода и мы провели уже 9 встреч на самые разнообразные темы. За это время у нас в гостях побывало больше <strong>200 человек</strong>. Думаю, каждый смог завести себе новых знакомых, а также узнать массу полезной информации. Мы рады анонсировать 10-ую юбилейную встречу, которая пройдет вечером <strong>16 декабря</strong> в рамках конференции <a href="http://xpdays.com.ua">XP Days Ukraine</a>.</p>
<p>Сначала мы планировали эту встречу организовать с .NET уклоном, воспользовавшись возможностью пообщаться с одним из известных докладчиков конференции &#8211; <a href="http://xpdays.com.ua/speakers#seemann">Mark Seemann</a>. Он проведет мастер-класс на тему <a href="http://xpdays.com.ua/trainings/#developers-club">«Dependency Injection: Principles, Patterns and Containers»</a>. Mark является опытным разработчиком и автором книги <a href="http://www.manning.com/seemann">«Dependency Injection in .NET»</a>, поэтому ему будет о чем рассказать. Вот краткое описание мастер-класса:</p>
<p><em>Dependency Injection (DI) is a set of principles and patterns that enable loose coupling. Do you think you already know what DI is? You may be surprised if you attend this talk. Here we will examine DI from different angles: When and why is DI interesting? What is it and how do we use it? And finally: what role does a DI Container play, and how do we efficiently use one? During this presentation we will see simple and idiomatic examples in C# that that illustrate and answer these questions. Knowledge of C# and basic object-oriented programming, including design patterns, is strongly encouraged.</em></p>
<p>Но этот мастер-класс врядли будет интересен не .NET разработчикам. Потом мы подумали, что можно в рамках клуба провести и еще один мастер класс <a href="http://xpdays.com.ua/trainings/#coding-dojo">«TDD Coding Dojo»</a>. Проводить его будет еще один зарубежный докладчик &#8211; <a href="http://xpdays.com.ua/speakers#brodwall">Johannes Brodwall</a>. Johannes будет проводить его в формате <strong>coding dojo</strong>, когда все участники принимают активное участие в написании кода для решения конкретной проблемы, обсуждают различные решения и техники реализации. Это очень популярный на данный момент формат и очень интересно попробовать его на практике. Вот краткое описание мастер-класса:</p>
<p><em>A Coding Dojo is a programming session based around a simple coding challenge. Programmers of different skill levels are invited to engage in deliberate practice as equals. The goal is to learn, teach and improve with fellow software developers in a non-competitive setting. Following elements will be included in master-class:</em></p>
<ul>
<li><strong><em>Demo:</em></strong> <em>Johannes demonstrates the TDD cycle with a very short problem.</em></li>
<li><strong><em>Randori style coding dojo (for people who&#8217;re new to XP):</em></strong> <em>Groups of 5-8 people sit around a projector and work at the same problem at the same time. Two people will be at the keyboard at any time, and we will rotate one person with the rest of the group every five minutes.</em></li>
<li><strong><em>Pairing style coding dojo (for people who&#8217;re experienced with TDD and Pair Programming):</em></strong> <em>We will pick a problem and two and two developers will pair up. After about 1 hour we will compare results. All participants should bring computers with a development environment.</em></li>
<li><strong><em>Extreme startup (for people who&#8217;ve done some coding dojo at least once, possibly earlier in the same workshop):</em></strong> <em>A workshop server will ask servers running on each participant&#8217;s computer questions (e.g. &laquo;what is the sum of 4 and 6&#8243;) in real time. The participants who write a program to answer the most questions correctly wins! People can choose to work solo or in pairs, to test or not to test, to use any language they like. All participants should bring computers with a development environment.</em></li>
</ul>
<p>Оба мастер-класса пройдут в бизнес-центре «Палладиум Сити» по адресу ул. Горького, 172 (комната 714), поэтому участники смогут также пообщаться между собой. Здание бизнес-центра расположено прямо на станции метро «Лыбидская». Желающих попасть на встречу достаточно много, поэтому для бронирования места вам необходимо осуществить предварительную оплату. Зарегистрироваться и оплатить можно на <a href="http://xpdays.com.ua/trainings/">сайте конференции</a>.</p>
<div class="shr-publisher-1472"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F13%2F10th-developers-club-gathering%2F' data-shr_title='10-%D0%B0%D1%8F+%D1%8E%D0%B1%D0%B8%D0%BB%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F+%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B0+%22%D0%9A%D0%BB%D1%83%D0%B1%D0%B0+%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D1%85+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%22+%D0%B2+%D1%80%D0%B0%D0%BC%D0%BA%D0%B0%D1%85+XP+Days+Ukraine'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F13%2F10th-developers-club-gathering%2F' data-shr_title='10-%D0%B0%D1%8F+%D1%8E%D0%B1%D0%B8%D0%BB%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F+%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B0+%22%D0%9A%D0%BB%D1%83%D0%B1%D0%B0+%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D1%85+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%22+%D0%B2+%D1%80%D0%B0%D0%BC%D0%BA%D0%B0%D1%85+XP+Days+Ukraine'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F13%2F10th-developers-club-gathering%2F' data-shr_title='10-%D0%B0%D1%8F+%D1%8E%D0%B1%D0%B8%D0%BB%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F+%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B0+%22%D0%9A%D0%BB%D1%83%D0%B1%D0%B0+%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D1%85+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%22+%D0%B2+%D1%80%D0%B0%D0%BC%D0%BA%D0%B0%D1%85+XP+Days+Ukraine'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F12%2F13%2F10th-developers-club-gathering%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://xpinjection.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1472" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://xpinjection.com/2011/12/13/10th-developers-club-gathering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Отчет о девятой встрече &#171;Клуба анонимных разработчиков&#187;</title>
		<link>http://xpinjection.com/2011/11/30/ninth-developers-club-gathering-report/</link>
		<comments>http://xpinjection.com/2011/11/30/ninth-developers-club-gathering-report/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 12:38:09 +0000</pubDate>
		<dc:creator>Николай Алименков</dc:creator>
				<category><![CDATA[Общие]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[XP Days Ukraine]]></category>
		<category><![CDATA[zookeeper]]></category>
		<category><![CDATA[клуб анонимных разработчиков]]></category>

		<guid isPermaLink="false">http://xpinjection.com/?p=1432</guid>
		<description><![CDATA[Вчера состоялась девятая встреча нашего &#171;Клуба анонимных разработчиков&#187;. Встреча прошла в очень приятной атмосфере. Собралось сравнительно немного участников (около 15), но все друг друга знали и поэтому было очень комфортно и приятно общаться. Мы снова вернулись в уютный и полюбившийся многим офисе компании DataArt. С докладом к нам в гости из Харькова приехал Маирбек Хадиков. <a href="http://xpinjection.com/2011/11/30/ninth-developers-club-gathering-report/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Вчера состоялась девятая <a href="/2011/11/21/ninth-developers-club-gathering">встреча</a> нашего <strong>&laquo;Клуба анонимных разработчиков&raquo;</strong>. Встреча прошла в очень приятной атмосфере. Собралось сравнительно немного участников (около 15), но все друг друга знали и поэтому было очень комфортно и приятно общаться. Мы снова вернулись в уютный и полюбившийся многим офисе компании <a href="http://www.dataart.ru/contacts/kiev.htm">DataArt</a>.</p>
<p>С докладом к нам в гости из Харькова приехал <strong>Маирбек Хадиков</strong>. Он представил вводный доклад по <a href="http://zookeeper.apache.org/">Zookeeper</a>. Было очень много вопросов по поводу применения данного инструмента и специфике работы. После доклада у участников сложилось представление как и когда стоит его использовать. По ходу доклада мы затронули еще один совсем новый проект &#8211; <a href="http://www.infoq.com/presentations/Storm">Storm</a>. Я вкратце рассказал о принципах работы и области применения. Вот презентация доклада Маирбека:</p>
<p><iframe src="http://www.slideshare.net/slideshow/embed_code/9888987" width="510" height="426" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>После перерыва <strong>Виталик Тимчишин</strong> рассказал более детально как он осуществлял выбор инструмента для координации распределенной обработки данных. Остановились чуть более детально на <a href="http://www.gridgain.com/">GridGain</a>, рассмотрели подробно механизм работы <a href="http://zookeeper.apache.org/">Zookeeper</a> и реализацию различных сценариев с его использованием. Вы можете ознакомиться с презентацией этого доклада:</p>
<p><iframe src="http://www.slideshare.net/slideshow/embed_code/10372430" width="510" height="426" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>Было очень интересно и это одна из встреч, с которой я уходил очень довольным. Я получил ответы на все вопросы и даже наметил как можно использовать <a href="http://zookeeper.apache.org/">Zookeeper</a> у себя на проекте для упрощения некоторых сложных коммуникаций между распределенными процессами. Спасибо всем участникам за отличную дискуссию!</p>
<p>Дополнительную информацию вы можете найти в <strong>Twitter</strong> по хештегу <strong>#uadevclub</strong>. Можно почитать о ходе встречи, найти интересные цитаты, советы и факты о рассматриваемых технологиях. Присоединяйтесь и обсуждайте вместе с нами!</p>
<p>Мы снимали видео всех выступлений и постараемся в ближайшее время выложить их в открытый доступ.</p>
<p>Следующая <a href="http://xpdays.com.ua/program">встреча</a> клуба будет юбилейной и пройдет <strong>16 декабря</strong> в рамках конференции <a href="http://xpdays.com.ua">XP Days Ukraine</a>. Изначально мы хотели провести в рамках клуба только мастер-класс <a href="http://xpdays.com.ua/speakers#seemann">Mark Seemann</a> на тему <a href="http://xpdays.com.ua/trainings/#developers-club">«Dependency Injection»</a>. Но потом решили добавить и мастер-класс <a href="http://xpdays.com.ua/trainings/#coding-dojo">«TDD Coding Dojo»</a> с <a href="http://xpdays.com.ua/speakers#brodwall">Johannes Brodwall</a>. Первый мастер-класс будет больше интересен .NET разработчикам, в то время как второй будет интересен разработчику на любом языке. Johannes будет проводить его в формате <strong>coding dojo</strong>, когда все участники принимают активное участие в написании кода для решения конкретной проблемы, обсуждают различные решения и техники реализации. Это очень популярный на данный момент формат и очень интересно попробовать его на практике. Зарегистрироваться на встречу можно по ссылкам на сайт конференции. Мест осталось совсем немного. Будем рады видеть вас!</p>
<div class="shr-publisher-1432"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F11%2F30%2Fninth-developers-club-gathering-report%2F' data-shr_title='%D0%9E%D1%82%D1%87%D0%B5%D1%82+%D0%BE+%D0%B4%D0%B5%D0%B2%D1%8F%D1%82%D0%BE%D0%B9+%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B5+%22%D0%9A%D0%BB%D1%83%D0%B1%D0%B0+%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D1%85+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%22'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F11%2F30%2Fninth-developers-club-gathering-report%2F' data-shr_title='%D0%9E%D1%82%D1%87%D0%B5%D1%82+%D0%BE+%D0%B4%D0%B5%D0%B2%D1%8F%D1%82%D0%BE%D0%B9+%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B5+%22%D0%9A%D0%BB%D1%83%D0%B1%D0%B0+%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D1%85+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%22'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F11%2F30%2Fninth-developers-club-gathering-report%2F' data-shr_title='%D0%9E%D1%82%D1%87%D0%B5%D1%82+%D0%BE+%D0%B4%D0%B5%D0%B2%D1%8F%D1%82%D0%BE%D0%B9+%D0%B2%D1%81%D1%82%D1%80%D0%B5%D1%87%D0%B5+%22%D0%9A%D0%BB%D1%83%D0%B1%D0%B0+%D0%B0%D0%BD%D0%BE%D0%BD%D0%B8%D0%BC%D0%BD%D1%8B%D1%85+%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%22'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F11%2F30%2Fninth-developers-club-gathering-report%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://xpinjection.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1432" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://xpinjection.com/2011/11/30/ninth-developers-club-gathering-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Боремся с бесконечными итерациями</title>
		<link>http://xpinjection.com/2011/11/29/stop-endless-iterations/</link>
		<comments>http://xpinjection.com/2011/11/29/stop-endless-iterations/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 07:52:03 +0000</pubDate>
		<dc:creator>Николай Алименков</dc:creator>
				<category><![CDATA[Статьи]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[команда]]></category>
		<category><![CDATA[тестирование]]></category>

		<guid isPermaLink="false">http://xpinjection.com/?p=1423</guid>
		<description><![CDATA[Я решил поучаствовать в разборе кейса, описанного Тимофеем Евграшиным в его блоге. Сначала начал писать комментарий, но потом понял, что он будет слишком большим. Поэтому оформляю в виде отдельной статьи. Вкратце проблема выглядит так &#8211; команда никогда не заканчивает все задачи в итерации, перенося их на следующую. В итоге итерации получаются размазанными. Команда провела анализ <a href="http://xpinjection.com/2011/11/29/stop-endless-iterations/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><img class="article-left" src="/images/articles/endless.jpg" alt="бесконечная гонка" /></p>
<p>Я решил поучаствовать в разборе кейса, <a href="http://tim.com.ua/2011/11/case-about-sprint-length/">описанного</a> Тимофеем Евграшиным в его блоге. Сначала начал писать комментарий, но потом понял, что он будет слишком большим. Поэтому оформляю в виде отдельной статьи. Вкратце проблема выглядит так &#8211; команда никогда <strong>не заканчивает все задачи в итерации,</strong> перенося их на следующую. В итоге итерации получаются размазанными.</p>
<p>Команда провела анализ и выделила возможные причины такой ситуации. Первая причина в том, что очень <strong>мало времени остается на саму работу в спринте</strong> за вычетом всех &laquo;процессных&raquo; задержек. Вторая заключается в том, что циклы тестирования и разработки &laquo;натурально&raquo; не совпадают и никто не может аргументировать в чем недостатки данной ситуации.</p>
<p>Начну с причин, потому что без их разбора нет смысла давать советы. Мне кажется из первой причины стоило копнуть еще глубже. Почему происходит столько много задержек? Почему команда целый день тратит на ревью результатов спринта, причем сборку надо залить за день до ревью? Откуда берутся многочисленные задержки, которые даже вынудили команду последний день итерации сделать не совсем рабочим? Первопричин может быть много, не берусь судить однозначно. Возможно не полностью автоматизирована сборка и установка приложения, может быть некоторые процедуры делаются по шаблону и из-за этого занимают много времени.</p>
<p>Вторая причина, указанная командой, является очень классической. Она пришла из поэтапного подхода к разработке, когда <strong>тестирование делается после завершения кодирования</strong>. При этом часто задачи на кодирование требуют несколько дней, что еще больше откладывает тестирование. И не меняя подхода, нереально ничего поменять. </p>
<p>Scrum предлагает <strong>комбинировать итерационный и инкрементальный подходы</strong>. А это значит, что в итерации команда делает одну фичу и только потом переходит на следующую. Такой подход заставляет распределять работу между членами команды и концентрироваться на достижении результата. Что делать тестировщикам пока нечего тестировать? Писать автоматизированные тесты, собирать тестовые данные, подготавливать необходимые процедуры и артефакты. Как только что-то готово, сразу передавать разработчику. Как только у разработчика что-то готово, сразу отдавать тестировщику. Таким образом, после завершения работы над задачей требуется минимальное время на ее тестирование. </p>
<p>Но самый главный вопрос &#8211; это вопрос понимания цели самих итераций. Итерации нужны для <strong>предсказуемости</strong>, <strong>налаженного ритма</strong> выполнения обязательств и <strong>слаженной деятельности без помех</strong> извне. Если задачи могут легко переноситься на следующую итерацию, то предсказуемость теряется. Никто не знает сколько задач завершит команда в очередной итерации. Ритм тут же теряется тоже, потому что ни у кого нет ощущения законченности выполненной работы и старта новой итерации с чистого листа. Вместо этого тянется тестирование и другие активности из прошлого. Пока все в команде не осознают этого, менять что-то почти бессмысленно.</p>
<p>Теперь разберемся, что же со всем этим делать. Задачи понятны. Я бы посоветовал реализовать следующие подходы:</p>
<ul>
<li>Планируйте ровно на столько, сколько вы можете <strong>полностью закончить</strong> в итерацию. Не тратьте время на планирование остального. Это и сэкономит вам время и не будет никому давать несбыточных обещаний. Лучше возьмите еще работы, если все закончите в срок. Это будет гораздо приятнее и команде и заказчику, чем в очередной раз получить часть обещанного не готовым.</li>
<li>Для более плотной командной работы над задачами и инкрементальности внутри итерации <strong>установите лимиты</strong> на количество задач, которые находятся в прогрессе. Причем жесткие и непоколебимые лимиты. Они будут вас заставлять помогать друг другу, делить большие задачи на маленькие, автоматизировать ручную работу и не распыляться на много задач сразу. Это повысит вашу эффективность.</li>
<li>Для решения проблем с циклом тестирования <strong>внедряйте активно автоматизацию</strong>. Причем не просто автоматизацию, а различные вариации <strong>TDD</strong> (Test Driven Development). Чем больше тестов будет написано до завершения реализации задачи, тем меньше времени уйдет на тестирование. Еще одна практика, которая очень сильно может помочь &#8211; <strong>Slicing Development</strong>. Не разрабатывайте по несколько дней целиком готовую фичу. Вместо этого выкатывайте несколько промежуточных реализаций с урезанной функциональностью и отдавайте на тестирование.</li>
<li>Ну и последний совет очевиднее всех &#8211; <strong>проведите ретроспективу</strong> и разберитесь в том, что происходит. Если команда или руководство не понимают зачем это все нужно, то все предыдущие усилия будут просто бесполезны. Возможно, в результате разбора окажется, что Scrum в вашем случае совершенно не подходит. Такое тоже бывает. Scrum &#8211; не серебряная пуля.</li>
</ul>
<p>Ну и конечно же не опускайте руки. Из любой ситуации есть выход, его надо только поискать. <img src='http://xpinjection.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Удачи этой команде и всем, кто сталкивается с подобными проблемами!  </p>
<div class="shr-publisher-1423"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-tweetbutton' data-shr_count='none' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F11%2F29%2Fstop-endless-iterations%2F' data-shr_title='%D0%91%D0%BE%D1%80%D0%B5%D0%BC%D1%81%D1%8F+%D1%81+%D0%B1%D0%B5%D1%81%D0%BA%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D1%8B%D0%BC%D0%B8+%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B8'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F11%2F29%2Fstop-endless-iterations%2F' data-shr_title='%D0%91%D0%BE%D1%80%D0%B5%D0%BC%D1%81%D1%8F+%D1%81+%D0%B1%D0%B5%D1%81%D0%BA%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D1%8B%D0%BC%D0%B8+%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B8'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F11%2F29%2Fstop-endless-iterations%2F' data-shr_title='%D0%91%D0%BE%D1%80%D0%B5%D0%BC%D1%81%D1%8F+%D1%81+%D0%B1%D0%B5%D1%81%D0%BA%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D1%8B%D0%BC%D0%B8+%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F%D0%BC%D0%B8'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fxpinjection.com%2F2011%2F11%2F29%2Fstop-endless-iterations%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic --> <img src="http://xpinjection.com/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1423" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://xpinjection.com/2011/11/29/stop-endless-iterations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

