<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>процеси &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/процеси/</link>
	<description>Feed of posts on WordPress.com tagged "процеси"</description>
	<pubDate>Sun, 07 Sep 2008 00:06:40 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[RUP и добрите му идеи]]></title>
<link>http://plefterov.wordpress.com/?p=5</link>
<pubDate>Wed, 13 Feb 2008 08:46:55 +0000</pubDate>
<dc:creator>plefterov</dc:creator>
<guid>http://plefterov.wordpress.com/?p=5</guid>
<description><![CDATA[ Наскоро писах за едно списание статия за Software Engineering з]]></description>
<content:encoded><![CDATA[<p> Наскоро писах за едно списание статия за Software Engineering за начинаещи и се замислих за пореден път колко недооценени са някои от най-добрите мисли за софтуерната разработка.</p>
<p align="left"> Вземете например Waterfall - това дефакто е първият опит да се систематизират основните дейности в софтуерната разработка. И до ден днешен по-неопитните фирми го ползват като прост референтен модел за това как да си организират процеса. Да, всички знаем, че "Waterfall е лош", но предстаяте ли си какво щеше да бъде фирмите изобщо да не знаеха, че трябва да се прави анализ? Или дизайн? Или да вземат да забравят за тестването? Отделно е не<a href="http://plefterov.wordpress.com/files/2008/02/rationalunifiedprocess.png" title="rationalunifiedprocess.png"></a>говата роля като модел, стартирал първата дискусия на тема итеративния подход и SE като цяло - малко хора знаят, че "създателя" на Waterfall просто е описал какво се прави и именно той първи е предложил итеративния подход като алтернатива.</p>
<p> В моделирането на бизнес процеси съществуват два типа модели, описващи процеси - Диграми на добавената стойност и процесни описания. Процесните описания отразяват хронологична последователност - всяка дейност се върши след предната във веригата. Диаграмите на добавената стойност описват смислова последователност - всяка следавща дейност зависи от предната. Waterfall е диаграма на добавената стойност, не е процесно описание.</p>
<p> RUP е новият герой. Въпросите са все "Дали ще бъдем гъвкави или ще ползваме RUP?" "Дали залагаме на човешката интеракция или на тромавите процеси?". Досадната му документация и навлизане в изилшни подробности настрана, RUP е поредната голяма стъпка в теорията на софтуерното инжинерство. Не го познавам целия, никога няма да се запозная с него в подробности, и никога няма да го следвам, но от него вече улових поне две идеи, които ще са ми от огромна полза, и то завинаги.</p>
<p> <a href="http://plefterov.wordpress.com/files/2008/02/rationalunifiedprocess.png" title="rationalunifiedprocess.png"><img src="http://plefterov.wordpress.com/files/2008/02/rationalunifiedprocess.png" alt="rationalunifiedprocess.png" /></a></p>
<p> Първата е фазовия модел, показан на тази картинка. Макар да изглежда като някаква кардиограма, идеята, представена чрез нея е поне за мен следващата стъпка след итеративният подход. За тези, които не са я виждали (или само са й хвърляли по някой поглед), идеята е следната:</p>
<p>  Това е диаграма, представяща как различните дейности по проекта се движат в периода от неговото започване, до неговото завършване. Реално всяка от дейностите се върши почти във всеки(!) етап, но има моменти, когато има водеща функция и такива, в които има заглъхваща. Това тотално противоречи на дървената представа, според която правим спецификация и свършваме с анализа, правим дизайн, четем документа и го захвърляме. Тази диаграма, според мен, илюстрира посоката, в която ще се движат процесите по разработка на софтуер през следващите 10-на години. Поне това се надявам - иначе песимиста в мен вижда как може да стане като с Waterfall и след 30-40 години още да дъвчем собствените си предразсъдъци вместо да обсъждаме посланието на самия модел.</p>
<p>  Наскоро четох една статия, която показва друга добра идея на RUP - разделението на работата в "широчина" и "дълбочина".</p>
<p>  <a href="http://www-128.ibm.com/developerworks/rational/library/apr05/crain/index.html">http://www-128.ibm.com/developerworks/rational/library/apr05/crain/index.html</a></p>
<p> Отново невероятна идея за разделението на работата по проекта. Поне в бизнес анализът, който в момента ми е амплоа, ми прави впечатление фрапиращата разлика между идентифицирането на основните необходими функционалности на системата, от една страна, и договарянето на интерфейса на конкретен екран, от друга (и двете в момента водещи се една стъпка от процеса, вършена от един и същи човек). Подобна е разликата, макар и по-малка, между моделирането на цялостният процес на работа на клиента и описанието на конкретната му последователност от действия при ползване на някоя функционалност. За разликата между това да пишеш код и да внимаваш за съвместимостта между компонентите на приложението няма нужда да споменавам, предполагам?</p>
<p> Накратко, докато защитниците на процесният и гъркавият подход при разработката на софтуер копаят окопи и се готвят за поредния сблъсък, добрите идеи подминават индустрията като вятър. Остава само да последваме старата китайска поговорка и да почнем да строим вятърни мелници. :)</p>
]]></content:encoded>
</item>

</channel>
</rss>
