<?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>NMI House</title>
	<atom:link href="http://nmihouse.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://nmihouse.com</link>
	<description>разные статейки от NMI</description>
	<lastBuildDate>Wed, 04 Aug 2010 08:09:49 +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://nmihouse.com/?p=31</link>
		<comments>http://nmihouse.com/?p=31#comments</comments>
		<pubDate>Wed, 14 Apr 2010 12:32:28 +0000</pubDate>
		<dc:creator>NMI</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://nmihouse.com/?p=31</guid>
		<description><![CDATA[В процессе своего путешествия по разным компаниям насобиралась у меня целая пачка вопросов, которые обязательно следует спрашивать работодателя во избежание последующих недоразумений. Мой список был смёржен со списком, обнаруженным на хабре. Вот что у меня получилось: Процесс найма Этапы найма сотрудника на работу:  количество собеседований, их последовательность и т.д. Проект Описание проекта в деталях Структура [...]]]></description>
			<content:encoded><![CDATA[<p>В процессе своего путешествия по разным компаниям насобиралась у меня целая пачка вопросов, которые обязательно следует спрашивать работодателя во избежание последующих недоразумений. Мой список был смёржен со списком, обнаруженным на хабре.</p>
<p>Вот что у меня получилось:</p>
<p><strong><span style="text-decoration: underline;">Процесс найма</span></strong></p>
<ol>
<li>Этапы найма сотрудника на работу:  количество собеседований, их последовательность и т.д.</li>
</ol>
<p><strong><span style="text-decoration: underline;">Проект</span></strong></p>
<ol>
<li>Описание проекта в деталях</li>
<li>Структура команды на проекте</li>
<li>Взаимодействие команды на проекте</li>
<li>Возраст/опыт людей в команде</li>
<li>Моя роль и обязанности</li>
<li>Длительность проекта</li>
<li>Используемые методологии разработки</li>
<li>Какие типы тестирования применяются на проекте &#8211; unittesting, ручное, др.?</li>
<li>Средства разработки</li>
<li>Система контроля версий</li>
<li>Система контроля требований</li>
<li>Система трекинга багов</li>
<li>Система трекинга заданий</li>
<li>Какое количество времени будет выделено на &laquo;прокачку знаний до необходимого уровня&raquo;?</li>
</ol>
<p><strong><span style="text-decoration: underline;">Компания, карьера и оплата</span></strong></p>
<ol>
<li>Оплата компанией аренды жилья (срок, место)</li>
<li>Релокейшн &#8211; оплачивается ли компанией переезд? Для всей семьи?</li>
<li>Виза &#8211; какая виза для кандидата, для членов семьи? Оплачивается ли получение виз компанией?</li>
<li>Как разруливается следующая ситуация &#8211; изначально я еду на работу как в командировку, компания пытается оформить мне визу, но визу в итоге не дают по каким-либо причинам?</li>
<li>Структрура зарплаты (налог + netto + %банку + какой курс обмена)</li>
<li>Зарплата(netto) до испытательного срока</li>
<li>Зарплата(netto) после испытательного срока</li>
<li>Длительность испытательного срока</li>
<li>Условия успешного прохождения испытательного срока</li>
<li>Выплачивается ли вовремя зарплата или бывают задержки?</li>
<li>Дата выдачи зарплаты.</li>
<li>Какие перспективы карьерного роста?</li>
<li>Через сколько времени повышается зарплата и на сколько?</li>
<li>Есть ли бонусы и от чего зависит их получение?</li>
<li>Бывают ли корпоративные вечеринки?</li>
<li>Какие отношения в коллективе?</li>
<li>Условия работы?</li>
<li>Есть ли столовая (внутри компании) или приходится ходить есть куда-то?</li>
<li>Оплачиваются ли обеды и если да, то на какую сумму?</li>
<li>Оплачивается ли проезд?</li>
<li>Предоставляется ли компанией в пользование автомобиль?</li>
<li>Есть ли командировки? Если есть, то как часто? Сколько дней в месяц/в год? Оплата командировочных?</li>
<li>Предоставляет ли фирма бесплатное посещение бассейна, спортзала?</li>
<li>Направляет ли фирма на какие-либо курсы?</li>
<li>Проводятся ли семинары, конференции?</li>
<li>Отгулы?</li>
<li>Больничные (оплачиваются или нет)?</li>
<li>Есть ли мед.страховки? Для сотрудника или для его семьи тоже? Что входит в медстраховку?</li>
<li>Что происходит с людьми по окончанию проекта? Если на других проектах нет открытых позиций?</li>
<li>В случае увольнения по инициативе компании выплачивается ли выходное пособие? Какое?</li>
<li> За какой период времени компания предупреждает об этом?</li>
<li>Дополнительные мотиваторы?</li>
</ol>
<p><strong><span style="text-decoration: underline;">Отпуск</span></strong></p>
<ol>
<li>Продолжительность в год? Календарных или рабочих дней?</li>
<li>Оплачиваемый, неоплачиваемый?</li>
<li>Через какой промежуток времени его можно взять?</li>
<li>Можно ли взять его сразу или только по частям?</li>
<li>Если не берёшь отпуск, то он прогорает? Можно ли взять деньгами и не ходить в него?</li>
<li>Могу ли я взять отпуск за свой счет? Какое максимальное количество дней?</li>
</ol>
<p><strong><span style="text-decoration: underline;">Рабочее время</span></strong></p>
<ol>
<li>Со скольки до скольки?</li>
<li>Сколько рабочих дней в неделю?</li>
<li>Есть ли возможность работать по гибкому графику (раньше приходить и раньше уходить и наоборот)?</li>
<li>Бывают ли случаи работы в выходные и сверхурочно, оплачивается ли такая работа и как?</li>
<li>Есть ли выходные в официальные государственные праздники?</li>
</ol>
<p><strong><span style="text-decoration: underline;">Контракт</span></strong></p>
<ol>
<li>Что из вышеперечисленного будет прописано в контракте?</li>
<li>На какой период подписывается контракт</li>
</ol>
<p><em>Если есть что добавить &#8211; пишите, пожалуйста, в комментарии.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://nmihouse.com/?feed=rss2&amp;p=31</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Процесс. Track them all.</title>
		<link>http://nmihouse.com/?p=6</link>
		<comments>http://nmihouse.com/?p=6#comments</comments>
		<pubDate>Sun, 10 Jan 2010 11:00:54 +0000</pubDate>
		<dc:creator>NMI</dc:creator>
				<category><![CDATA[Разработка]]></category>
		<category><![CDATA[requirements]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[Task Tracking]]></category>
		<category><![CDATA[процессы]]></category>
		<category><![CDATA[система контроля версий]]></category>
		<category><![CDATA[тестирование]]></category>
		<category><![CDATA[требования]]></category>
		<category><![CDATA[трэкинг]]></category>

		<guid isPermaLink="false">http://nmihouse.com/?p=6</guid>
		<description><![CDATA[Наконец-то созрел описать своё видение идеального процесса разработки. Цикл разработки проекта в двух словах: Клиент просит написать нечто. Бизнес аналитик пишет требования к проекту. Пишутся тесты и код. После прогонки тестов требования корректируются, тесты обновляются, реализация обновляется. И так до тех пор, пока все тесты не будут соответствовать требованиям, и пока все тесты не будут [...]]]></description>
			<content:encoded><![CDATA[<p>Наконец-то созрел описать своё видение идеального процесса разработки.</p>
<p>Цикл разработки проекта в двух словах:</p>
<ol>
<li>Клиент просит написать нечто.</li>
<li>Бизнес аналитик пишет требования к проекту.</li>
<li>Пишутся тесты и код.</li>
<li>После прогонки тестов требования корректируются, тесты обновляются, реализация обновляется.</li>
<li>И так до тех пор, пока все тесты не будут соответствовать требованиям, и пока все тесты не будут проходить успешно. Ах да, про заказчика забыли &#8211; он должен подтвердить все требования.</li>
<li>После этого проект можно считать как &laquo;соответствующий поставленным требованиям&raquo;.</li>
<li>Конец.</li>
</ol>
<p>Выделяем сущности из этого цикла:</p>
<ol>
<li>Требования</li>
<li>Тесты</li>
<li>Имплементация</li>
</ol>
<p>Заказчиков, исполнителей, финансирование и прочее в рассмотрение пока что не берём. Рассматриваем чисто техническую сторону вопроса.</p>
<p>Достаточно ли сущностей, описаных выше, для достижения поставленной цели? Кстати, а цель какая? А цель  (см п.6 выше) &#8211; написать проект таким образом, чтобы он соответствовал поставленным требованиям.</p>
<p>Итак, как мы собираемся определять, достигли ли мы цели?</p>
<p>А очень просто &#8211; достаточно выполнения 2х условий :</p>
<p>1) успешное прохождение тестов</p>
<p>2) полное покрытие тестами требований</p>
<p>С пунктом номер 1 всё понятно. А вот что с пунктом 2?</p>
<p>Пример : у нас есть какое-то требование и мы написали на него порцию тестов.</p>
<p>Тут приходит запрос на изменение этого требования. Требование меняется. После этого мы должны обновить или перепроверить и тесты.</p>
<p>Но как отследить зависимости между требованиями и тестами? Для этого понадобится еще одна сущность. Назовём её <em>test validation link</em>.</p>
<p>Содержимое test validation link :</p>
<ol>
<li>ID требования</li>
<li>версия(hash?) требования</li>
<li>ID теста</li>
<li>версия(hash?) теста</li>
</ol>
<p>После добавления test validation link в нашу инфраструктуру легко решаются следующие задачи:</p>
<ul>
<li>Обнаружение тестов, подлежащих верификации.</li>
<li>Обнаружение несвязанных c требованиями тестов.</li>
<li>Обнаружение не покрытых тестами требований.</li>
</ul>
<p>Один тест может быть привязан к нескольким требованиям и каждое требование может быть связано с несколькими тестами.</p>
<p>Тут хочется особо подчеркнуть, что <strong>все</strong> сущности, включая требования и test validation link, должны лежать вместе в системе контроля версий:</p>
<p><img class="aligncenter size-full wp-image-13" title="vcs" src="http://nmihouse.com/wp-content/uploads/2009/11/vcs.png" alt="vcs" width="270" height="295" /></p>
<p>Из этого можно будет извлечь пользу, если есть несколько веток проекта и приходится делать merge между ними. При этом можно будет &laquo;мёржить&raquo; весь проект целиком, включая требования. Естественно, что для этого формат сущностей должен обеспечивать безболезненный автоматический и ручной (в случае конфликтов) merge.</p>
<p>Вы наверное заметили, что test validation link содержит в себе версию теста и версию требования. Возможно, это должны быть хэш функции от контента. Т.к. номер ревизии здесь не совсем подойдёт из-за того, что ревизия может измениться после копирования требования в процессе &laquo;мёржа&raquo;.</p>
<p>Итак, теперь у нас присутствует 4 сущности :</p>
<ol>
<li>Требования</li>
<li>Test validation links</li>
<li>Тесты</li>
<li>Имплементация</li>
</ol>
<p>Попробуем нарисовать картинку нашего мини-процесса :</p>
<p><img class="alignnone size-full wp-image-7" title="dev-process" src="http://nmihouse.com/wp-content/uploads/2009/11/dev-process.png" alt="dev-process" width="501" height="367" /></p>
<p>Выделяем активности, которые будут присутствовать на проекте:</p>
<ol>
<li>Изменение требования (включая добавление и удаление).</li>
<li>Изменение теста (включая добавление и удаление).</li>
<li>Изменение имплементации (включая добавление и удаление).</li>
<li>Изменение test validation link (включая добавление и удаление).</li>
</ol>
<p>С моей точки зрения, подобная инфраструктура в разработке проекта &#8211; необходимый минимум, который хорошо укладывается в различные процессы (Agile, Waterfall, &#8230;). К сожалению, далеко не все его, этот минимум, используют.</p>
<p>На сегодня всё, продолжение следует&#8230;</p>
<p>PS: Подскажите, а есть какое-то системы , в которых это всё интегрировано? Может, об этом могут сказать что-нибудь .NET разработчики, использующие TFS ?</p>
]]></content:encoded>
			<wfw:commentRss>http://nmihouse.com/?feed=rss2&amp;p=6</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Привет, мир!</title>
		<link>http://nmihouse.com/?p=1</link>
		<comments>http://nmihouse.com/?p=1#comments</comments>
		<pubDate>Thu, 15 Oct 2009 13:33:38 +0000</pubDate>
		<dc:creator>NMI</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://nmihouse.com/?p=1</guid>
		<description><![CDATA[Всем здрасте! Вот, решил завести себе блог и писать сюда различные технические статейки. Пока что в планах первая статья &#8211; об идеальном процессе разработки с точки зрения девелопера.]]></description>
			<content:encoded><![CDATA[<p>Всем здрасте!</p>
<p>Вот, решил завести себе блог и писать сюда различные технические статейки.</p>
<p>Пока что в планах первая статья &#8211; об идеальном процессе разработки с точки зрения девелопера.</p>
]]></content:encoded>
			<wfw:commentRss>http://nmihouse.com/?feed=rss2&amp;p=1</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
