<?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>Agile.by &#187; Konstantin Razumovsky</title>
	<atom:link href="http://agile.by/author/konstantin-razumovsky/feed" rel="self" type="application/rss+xml" />
	<link>http://agile.by</link>
	<description>agile сообщество Беларуси</description>
	<lastBuildDate>Mon, 30 Jan 2012 21:43:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Agile Manifesto па-беларуску!</title>
		<link>http://agile.by/2010/11/23/agile-manifesto-pa-belarusku</link>
		<comments>http://agile.by/2010/11/23/agile-manifesto-pa-belarusku#comments</comments>
		<pubDate>Tue, 23 Nov 2010 10:31:08 +0000</pubDate>
		<dc:creator>Konstantin Razumovsky</dc:creator>
				<category><![CDATA[Новости]]></category>

		<guid isPermaLink="false">http://www.agile.by/?p=556</guid>
		<description><![CDATA[Пэўны час таму Agile Alliance абвесціў ініцыятыву па перакладзе сваіх галоўных (для кагосьці, мабыць, сакральных )  дакументаў &#8211; Agile Manifesto і Agile Principles &#8211; на нацыянальныя мовы розных краінаў. І вось сёння на абмеркаванне беларускай Agile-суполкі прапануецца версія Маніфеста і Прынцыпаў на роднай мове! Аўтары перакладу з нецярплівасцю чакаюць на вашыя заўвагі і прапановы. Пасля [...]]]></description>
			<content:encoded><![CDATA[<p>Пэўны час таму <a href="http://www.agilealliance.org/">Agile Alliance</a> абвесціў ініцыятыву па перакладзе сваіх  галоўных (для кагосьці, мабыць, сакральных <img src='http://agile.by/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )  дакументаў &#8211; <a href="http://agilemanifesto.org/">Agile  Manifesto</a> і <a href="http://agilemanifesto.org/principles.html">Agile Principles</a> &#8211; на нацыянальныя мовы розных краінаў. І вось сёння на абмеркаванне беларускай Agile-суполкі прапануецца версія Маніфеста і Прынцыпаў на роднай мове! Аўтары перакладу з нецярплівасцю  чакаюць на вашыя заўвагі і прапановы. Пасля абмеркавання і ўліку заўваг пераклад набудзе статус афіцыйнага і будзе апублікаваны на сайце Agile Manifesto.</p>
<p>Натуральна, галоўнай цяжкасцю пры перакладзе было знайсці добры беларускі адпаведнік для тэрміну <strong>agile</strong>.  Хацелася знайсці беларускае слова:<br />
а) максімальна блізкае па значэнні да ангельскага арыгіналу (а не да перакладу кшталту &#8220;гибкий&#8221; )<br />
б) максімальна аўтэнтычнае, унікальнае для беларускай мовы</p>
<p>У выніку на ваш суд мы прапануем <a href="http://agilemanifesto.org/iso/by/">Маніфест Шпаркага праграмавання</a> і <a href="http://agilemanifesto.org/iso/by/principles.html">Прынцыпы </a>да яго.</p>
<p>P.S. Хацелася б падзякаваць праекту<a href="http://wg.kamputerm.org/"> Беларуская  IT-тэрміналогія</a> ў межах якога прафесійныя лінгвісты, праграмісты і  проста добрыя людзі ствараюць нацыянальную IT-тэрміналогiю. У нашай  працы мы скарысталіся знойдзенным імі тэрмінам &#8220;апраграмаванне&#8221; для перакладу  фундаментальнага слова &#8220;software&#8221;. Гэты варыянт здаецца значна лепшым за традыцыйны русізм  &#8220;праграмнае забеспячэнне&#8221;.</p>
<p>Ганна і Канстанцін Разумоўскія.</p>
]]></content:encoded>
			<wfw:commentRss>http://agile.by/2010/11/23/agile-manifesto-pa-belarusku/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile подходит всем!</title>
		<link>http://agile.by/2008/08/05/agile_is_good_for_all</link>
		<comments>http://agile.by/2008/08/05/agile_is_good_for_all#comments</comments>
		<pubDate>Tue, 05 Aug 2008 09:47:22 +0000</pubDate>
		<dc:creator>Konstantin Razumovsky</dc:creator>
				<category><![CDATA[Управление проектами]]></category>
		<category><![CDATA[принципы]]></category>
		<category><![CDATA[ценности]]></category>

		<guid isPermaLink="false">http://www.agilebelarus.org/2008/08/05/agile_is-good_for_all.html</guid>
		<description><![CDATA[Есть такая популярная тема для обсуждения &#8211; вопрос применимости гибких методологий для разных типов проектов. «Ну да, Agile &#8211; это, конечно, очень интересно», &#8211; сказал мне недавно мой начальник. &#8211; «Но все это теория, а в жизни, увы, так не получается. У нас большой проект, удаленный заказчик и вообще…». Еще один коллега высказался немного конкретнее: [...]]]></description>
			<content:encoded><![CDATA[<p>Есть такая популярная тема для обсуждения &#8211; вопрос применимости гибких методологий для разных типов проектов. «Ну да, Agile &#8211; это, конечно, очень интересно», &#8211; сказал мне недавно мой начальник. &#8211; «Но все это теория, а в жизни, увы, так не получается. У нас большой проект, удаленный заказчик и вообще…». Еще один коллега высказался немного конкретнее: «Существует куча проектов, в которых ты никак не применишь гибкие методы. Например, при работе с государственными организациями. Или если у тебя команда из одних новичков…». Существует даже несколько книг на тему того, когда стоит применять гибкие методологии, а когда &#8211; нет. Ни в коем случае не претендуя на истину в последней инстанции, хотелось бы поделиться своим взглядом на этот вопрос. Ниже в нескольких абзацах я постараюсь объяснить, почему, по моему мнению, Agile подходит для всех (ну, или для абсолютного большинства) проектов, и что я под этим понимаю.</p>
<p><span id="more-34"></span></p>
<p><strong>И все-таки что такое </strong><strong>Agile?</strong><br />
Очевидно, что для того, чтобы рассуждать о том, когда можно применять Agile, а когда &#8211; нет, надо четко понимать, что вообще стоит за этим словом. По моим наблюдениям, большинство людей, с удовольствием обсуждающих гибкие методологии, весьма приблизительно знакомы с происхождением и наполнением слова «Agile» (я уже не говорю про то, что лишь единицы знают, что ударение в этом слове надо бы ставить на первый слог <img src='http://agile.by/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Нередко можно услышать, например, следующие утверждения. «Гибкие методы – это когда не документируют требования». «В Agile сначала всегда пишут тесты». «Если ты применяешь Agile &#8211; заказчик должен сидеть с тобой в одной комнате». Безусловно, каждое из приведенных утверждений имеет <em>какое-то</em> отношение к теме гибких методологий, но все они, строго говоря, ложны.</p>
<p>Позволю себе в двух словах напомнить историю появления гибких методологий. В течение нескольких последних десятилетий 20-го века в качестве основного подхода для разработки программного обеспечения использовались так называемые инженерные (они же основанные на плане, они же предиктивные) методологии. В основе этих методологий лежало (вообще говоря, ложное) представление о том, что процесс разработки программного обеспечения является детерминированным инженерным процессом, который можно спланировать от начала и до конца и выполнить в соответствии с планом, используя формальные инженерные подходы к разработке требований, проектированию и т.д. В качестве основного варианта построения жизненного цикла использовался водопадный жизненный цикл, предполагающий однократный проход по фазам анализа требований, проектирования, кодирования, тестирования и т. д. Ближе к концу 90-х годов в противовес тяжеловесным инженерным методологиям (которые так и не смогли сделать процесс разработки предсказуемым и успешным) появилось целое семейство «легковесных» методологий, таких как Scrum, XP, DSDM, Crystal и т.д. Сотрудничество авторов и лидеров этих направлений привело к созданию в феврале 2001 года <a href="http://agilemanifesto.org/">Манифеста гибкой разработки программного обеспечения </a>, а чуть позже &#8211; <a href="http://agilemanifesto.org/principles.html">Принципов гибкой разработки программного обеспечения </a>.</p>
<p><strong>Agile Methods = Agile Manifesto + Agile Principles </strong><br />
Итак, в наличии имеются 4 ценности из манифеста, а также 12 принципов гибкой разработки. Именно эти 16 утверждений и определяют то, что называется гибкими методологиями. Важно понять, что все остальные свойства, приписываемые гибким методологиям, либо являются их производными (как например, «В гибких методах уделяется повышенное внимание коммуникациям»), либо имеют отношение к каким-то конкретным методологиям типа XP, но не к Agile вообще («Заказчик должен сидеть в одной комнате с командой»), либо просто-напросто являются заблуждениями («Гибкие методы – это когда не документируют требования»).</p>
<p>Важно отличать общие принципы, применимые ко всем гибким методологиям, заложенные в манифест, и принципы гибкой разработки, от особенностей, присущих конкретным представителям семейства гибких методологий (таким, как XP, Scrum, Crystal и т.п.). Да, в XP вначале пишут тесты, но не надо переносить это свойство на все семейство гибких методологий в целом. Всякий раз, когда мы упоминаем слово «Agile» без дополнительных оговорок, мы, прежде всего, должны понимать базовый набор ценностей и принципов, но никак не специфические особенности каких-то конкретных методологий. Чаще всего те, кто говорит о «неприменимости» гибких методов, некорректно отождествляют их с какой-то конкретной гибкой методологией (обычно XP).</p>
<p><strong>«К нашему проекту </strong><strong>Agile не применим»</strong><br />
Итак, как мы уже разобрались, если вы осознанно утверждаете, что Agile не применим к вашему (или какому-то другому) проекту, вы фактически утверждаете, что среди ценностей и принципов гибкой разработки есть такие, которые по каким-то причинам не подходят для данного проекта.</p>
<p>Попробуем разобраться, какие же из ценностей и принципов могут оказаться неподходящими для нашего гипотетического проекта. Даже беглый просмотр позволяет убедиться, что ценности и принципы гибкой разработки определены достаточно общо, что и не удивительно: методологии, породившие Agile, в значительной степени отличались друг от друга и найти общую почву они могли лишь на уровне самых базовых подходов. По сути, в эти 2 списка попали только проверенные лучшие подходы к организации разработки, подтвердившие свою полезность на практике. При этом они отнюдь не содержат (да и не могут содержать по определению) детальных рекомендаций типа присутствия заказчика в общей комнате проекта, предварительного написания тестов или, тем более, отсутствия или низкой степени формализации требований. Развивая <a href="http://martinfowler.com/articles/newMethodology.html">мысль </a>одного из авторов этих документов, Мартина Фоулера, предположу, что на самом деле фундаментальных общих особенностей, объединивших легковесные подходы, было не 16 и даже не 4, а всего лишь две:</p>
<ul>
<li>Осознание человеческого фактора как ключевого фактора успеха при разработке программного обеспечения.</li>
<li>Выбор адаптивного итерационного подхода вместо водопадного жизненного цикла.</li>
</ul>
<p>Ниже я остановлюсь на этих двух аспектах чуть подробнее.</p>
<p><strong>Человеческий фактор и итерационный жизненный цикл </strong><br />
Может ли быть неприменимым или нежелательным для какого-то проекта признание исключительной важности человеческого фактора и связанных с ним проблем (коммуникации, доверие, прямое общение, комфортные условия труда, отсутствие переработок и т.д.)? И практика, и теория (прежде всего, в лице легендарной <a href="http://www.amazon.com/Peopleware-Productive-Projects-Teams-Second/dp/0932633439">Peopleware</a>) убеждают нас в том, что человеческий фактор действительно является наиважнейшим аспектом при разработке, и гибкие методологии всего лишь документально оформили этот факт. Трудно представить проект, в котором признание принципа главенствования человеческого фактора будет играть отрицательную роль.</p>
<p>Обратимся теперь ко второму базовому аспекту гибких методов – итерационной разработке. Как афористично написал все тот же Мартин Фоулер в книге UML Distilled – «вам следует применять итерационный подход только к тем проектам, которые вы хотите завершить успешно». Думаю, излишним будет очередной раз доказывать преимущества итерационного жизненного цикла перед водопадным. И статистика завершенных проектов, и теория управления проектами доказывают преимущество последнего для подавляющего большинства проектов. Даже такая крупная и инерционная организация, как министерство обороны США, еще более 10 лет назад инициировала отказ от водопадной и переход к итерационной модели.</p>
<p>Таким образом, кажется, что ни базовые принципы гибкой разработки, ни изложенные в манифесте и принципах утверждения не накладывают на организацию проекта никаких обременительных ограничений, а лишь рекомендуют использование общепринятых лучших практик разработки.</p>
<p><strong>Резюме </strong><br />
Использовать гибкие методы разработки – совсем не обязательно означает использовать практики XP, Scrum или какой-то другой конкретной методологии. Это, прежде всего, означает руководствоваться общими ценностями и принципами, заложенными в <a href="http://agilemanifesto.org/">Манифест </a>и <a href="http://agilemanifesto.org/principles.html">Принципы </a>гибкой разработки программного обеспечения.</p>
<p>XP подходит не всем. И Scrum подходит не всем. А вот базовые ценности гибких методологий не просто подходят, но и должны использоваться всеми. Ну, или теми, кто хочет успешно завершать свои проекты <img src='http://agile.by/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p><strong>Константин Разумовский, krazumov at gmail com</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://agile.by/2008/08/05/agile_is_good_for_all/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

