<?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>info@</title>
	<atom:link href="http://infokukac.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://infokukac.com</link>
	<description>Infokukac: Marhefka István szakmai blogja a szoftverfejlesztésről</description>
	<lastBuildDate>Thu, 18 Oct 2018 21:07:26 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.9.40</generator>
	<item>
		<title>Blog újratöltve</title>
		<link>http://infokukac.com/2018/10/blog-ujratoltve/</link>
		<comments>http://infokukac.com/2018/10/blog-ujratoltve/#comments</comments>
		<pubDate>Thu, 18 Oct 2018 20:55:44 +0000</pubDate>
		<dc:creator><![CDATA[Marhefka István]]></dc:creator>
				<category><![CDATA[Nem kategorizált]]></category>

		<guid isPermaLink="false">http://infokukac.com/?p=864</guid>
		<description><![CDATA[A blog újra indul! Az új írásaimat ezentúl a https://istvanmarhefka.com címen követhetitek. &#160;]]></description>
				<content:encoded><![CDATA[<p>A blog újra indul! Az új írásaimat ezentúl a <strong><a href="https://istvanmarhefka.com" target="_blank">https://istvanmarhefka.com</a></strong> címen követhetitek.</p>
<p>&nbsp;</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Finfokukac.com%2F2018%2F10%2Fblog-ujratoltve%2F&amp;linkname=Blog%20%C3%BAjrat%C3%B6ltve" title="Twitter" rel="nofollow" target="_blank"></a><a class="a2a_button_iwiw" href="http://www.addtoany.com/add_to/iwiw?linkurl=http%3A%2F%2Finfokukac.com%2F2018%2F10%2Fblog-ujratoltve%2F&amp;linkname=Blog%20%C3%BAjrat%C3%B6ltve" title="IWIW" rel="nofollow" target="_blank"></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Finfokukac.com%2F2018%2F10%2Fblog-ujratoltve%2F&amp;linkname=Blog%20%C3%BAjrat%C3%B6ltve" title="Delicious" rel="nofollow" target="_blank"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Finfokukac.com%2F2018%2F10%2Fblog-ujratoltve%2F&amp;title=Blog%20%C3%BAjrat%C3%B6ltve" id="wpa2a_2"><img src="http://infokukac.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://infokukac.com/2018/10/blog-ujratoltve/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScrumMastert keresünk</title>
		<link>http://infokukac.com/2013/05/scrummastert-keresunk/</link>
		<comments>http://infokukac.com/2013/05/scrummastert-keresunk/#comments</comments>
		<pubDate>Mon, 27 May 2013 21:26:49 +0000</pubDate>
		<dc:creator><![CDATA[Marhefka István]]></dc:creator>
				<category><![CDATA[Módszertan]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[scrummaster]]></category>

		<guid isPermaLink="false">http://infokukac.com/?p=839</guid>
		<description><![CDATA[Pár hete megkeresett e-mailben egy személyzeti tanácsadó cég: &#160; &#160; &#160; &#160; Kedves István, egy álláslehetőségünket szeretném a figyelmébe ajánlani. SCRUM mastert keresünk egyik ügyfelünk fejlesztő csapatába. Ebben a pozícióban is vannak fejlesztői feladatok, de a napi munka kb. 50 %-ban, a többi feladat más jellegű (meetingek szervezése, határidők figyelése, feladatok leosztása stb). A munka [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://infokukac.com/wp-content/uploads/2013/05/scrummaster.jpg"><img class="alignleft  wp-image-843" title="scrummaster" src="http://infokukac.com/wp-content/uploads/2013/05/scrummaster-183x300.jpg" alt="" width="110" height="180" /></a></p>
<p>Pár hete megkeresett e-mailben egy személyzeti tanácsadó cég:</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<blockquote><p>Kedves István,</p>
<p>egy álláslehetőségünket szeretném a figyelmébe ajánlani.</p>
<p>SCRUM mastert keresünk egyik ügyfelünk fejlesztő csapatába. Ebben a pozícióban is vannak fejlesztői feladatok, de a napi munka kb. 50 %-ban, a többi feladat más jellegű (meetingek szervezése, határidők figyelése, feladatok leosztása stb). A munka határozatlan időre szól, nem projekt jellegű.</p>
<p>A cég telekommunikációs hátterű nemzetközi, stabil háttérrel rendelkező cég és ebben a csoportban kifejezetten C++ fejlesztés folyik. Egy teljesen új termék/szoftver kifejlesztése a feladat, tehát nem meglévő termék karbantartása.</p>
<p>Amennyiben Önnek érdekes lehet vagy van olyan ismerőse, aki nyitott lenne a pozícióra, alábbi elérhetőségeim bármelyikén tudnak keresni, nagyon szívesen adok több információt a részletekről.</p>
<p>Vannak más pozícióink is egyébként, fejlesztőket, szakmai csoportvezetőket is keresünk (szintén határozatlan időre).</p>
<p>Köszönöm figyelmét, további kellemes napot,</p>
<p>üdvözlettel:</p>
<p>XY</p></blockquote>
<p>Nem hagyhattam válasz nélkül a megkeresést, mert több szempontból is zavart a dolog.</p>
<p><span id="more-839"></span></p>
<blockquote><p>Kedves XY!</p>
<p>Köszönöm a megkeresését! A pozíció jelenleg számomra nem aktuális (saját startup cégemnél dolgozom).</p>
<p>Jómagam kb. 6 éve napi szinten gyakorlom a Scrum keretrendszert, és más agilis és lean megközelítésű módszertanokat. Agilis szoftverfejlesztőnek tartom magam, és jelenleg CTO pozícióban dolgozom. Évekkel ezelőtt el is végeztem a Scrum Alliance ScrumMaster képzését, amelyről a nemzetközi szervezet által kiállított oklevéllel is rendelkezem. Több szektorban is szállítottam sikeres projekteket, mind hazai, mind nemzetközi környezetben (banki szektor, oktatás, telco, energiipar, gyártás, hadsereg &#8230;).</p>
<p>Engedje meg, hogy felhívjam a figyelmét pár dologra a pozícióval kapcsolatban.</p>
<p>A ScrumMaster szerepkört gyakran összekeverik a projektmenedzser szerepkörrel. A Scrum módszertan szerint a ScrumMaster egy olyan facilitator szerepkörre utal, amelynek a feladata nem a csapat számonkérése, hanem a csapat segítése/mentorálása a megvalósítás során felmerülő problémáknak a megoldásában/elhárításában, és hogy biztosítsa a Scrum által meghatározott folyamatok betartását &#8211; amelyet természetesen mindig az adott céghez, megrendelőhöz és megvalósító csapathoz kell illeszteni. A ScrumMaster leggyakoribb feladatai általában a következők szoktak lenni:</p>
<ul>
<li>segít a csapatnak a fejlődésben: hogy csapatként, hatékonyan tudjon működni, a csapattagok megbízzanak egymásban, tiszteljék egymást és a munkájukat,</li>
<li>védi a csapatot a sprint közben előforduló külső behatásoktól, tipikusan a menedzsment és az ügyfelek által támasztott asap jellegű feladatok azonnali végrehajtásától,</li>
<li>csökkenti a nyomást a csapaton, hogy nyugodt környezetben tudjon dolgozni,</li>
<li>napi szinten felmerülő problémák megoldásában facilitálja a csapatot, hogy magától megoldja őket,</li>
<li>napi szinten felmerülő problémákat, amit a csapat nem tud maga megoldani, megold (pl. az egyik csapattagnak új székre van szüksége, elintézi, hogy legyen neki),</li>
<li>tanulási folyamatot alakít ki a csapattal (ezek formálisan a sprint végén esedékes retrospective-ekbe be is vannak építve),</li>
<li>segít a csapaton belüli konfliktusok feloldásában, az eltérő vélemények kompromisszumos megoldásában,</li>
<li>kialakítja a csapat szintű felelősséget: a csapat egyként tartozik felelőséggel a teljesítésért,</li>
<li>hiányzó kompetenciák felismerése a csapaton belül, és ezek pótlása a menedzsmenttel együttműködve,</li>
<li>szervezetfejlesztési feladatkör: a menedzsmentet és a csapatot felkészíti a Scrum, ill. agilis fejlesztésre, szállításra és szervezeti működésre.</li>
</ul>
<p>A ScrumMasterrel a fentieket figyelembe véve a következő elvárások fogalmazhatóak meg:</p>
<ul>
<li>agilis coach/mentori attitűd,</li>
<li>magas szintű empátia,</li>
<li>jó kommunikáció- és diplomáciai készség (a csapattagokkal és a menedzsmenttel is),</li>
<li>emberi tisztelet: ő is tiszteli a munkatársait, és őt is tisztelik,</li>
<li>ismeri a szoftveres projektek jellegzetességet: magas fokú bizonytalanság, becslési pontatlanságok, emberi problémák, jellegzetes mérnöki problémák, kommunikációs félrecsúszások, és ezek kezelése,</li>
<li>ismeri az agilis/lean szoftverfejlesztési (mérnöki) technikákat, elsősorban az Extreme Programmingben is alkalmazott módszereket (pl. Behaviour Driven Development, Domain Driven Development, Test Driven Development, Continuous Integration/Delivery).</li>
</ul>
<p>Mivel a ScrumMaster egy facilitátor szerepkör, aki nem dönt a csapat helyett(, és nem is kéri számon az egyes embereket), nagyon fontos, hogy a ScrumMaster ne a megvalósító csapat tagja legyen.</p>
<p>Remélem, segíthettem abban, hogy a pozíció esetlegesen pontosításra kerülhessen, hogy ügyfelük számára a legalkalmasabb jelentkezőt találják meg. Ha véleményemet külön visszacsatolnák ügyfelükhöz, az talán még nagyobb haszonnal járhatna, hogy a menedzsment az elvárásait még jobban céljai megvalósításához tudja igazítani.</p>
<p>Blogomon fellelhetőek agilis fejlesztéssel kapcsolatos írások: http://infokukac.com</p>
<p>Ha segítségükre lehetek, tapasztalataim alapján szívesen válaszolok bármilyen kérdésre.</p>
<p>Üdvözlettel,<br />
Marhefka István<br />
<a href="http://be-novative.com" target="_blank"> http://be-novative.com</a><br />
CTO</p></blockquote>
<p>Szerintem ilyen egy ideális ScrumMaster. Ti mit gondoltok?</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Finfokukac.com%2F2013%2F05%2Fscrummastert-keresunk%2F&amp;linkname=ScrumMastert%20keres%C3%BCnk" title="Twitter" rel="nofollow" target="_blank"></a><a class="a2a_button_iwiw" href="http://www.addtoany.com/add_to/iwiw?linkurl=http%3A%2F%2Finfokukac.com%2F2013%2F05%2Fscrummastert-keresunk%2F&amp;linkname=ScrumMastert%20keres%C3%BCnk" title="IWIW" rel="nofollow" target="_blank"></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Finfokukac.com%2F2013%2F05%2Fscrummastert-keresunk%2F&amp;linkname=ScrumMastert%20keres%C3%BCnk" title="Delicious" rel="nofollow" target="_blank"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Finfokukac.com%2F2013%2F05%2Fscrummastert-keresunk%2F&amp;title=ScrumMastert%20keres%C3%BCnk" id="wpa2a_4"><img src="http://infokukac.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://infokukac.com/2013/05/scrummastert-keresunk/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>JUM 2012.11.21. prezentáció &#8211; Case study: be-novative, egy közösségi brainstorming platform technológiai stackje</title>
		<link>http://infokukac.com/2012/11/jum/</link>
		<comments>http://infokukac.com/2012/11/jum/#comments</comments>
		<pubDate>Fri, 23 Nov 2012 11:16:23 +0000</pubDate>
		<dc:creator><![CDATA[Marhefka István]]></dc:creator>
				<category><![CDATA[Technológia]]></category>

		<guid isPermaLink="false">http://infokukac.com/?p=828</guid>
		<description><![CDATA[A héten prezentációt tartottam a JUM-on. Az utóbbi másfél évben egy saját startupot építünk. A startupunk neve Be-novative, és célja, hogy globálisan lehetővé tegye a közösségi kreatív fejlesztést úgy, hogy közben egymást inspiráljuk és segítjük. (A fejlesztést tágabb értelemben gondoljuk, nem csupán a szoftverfejlesztésre összpontosítunk.) A beharangozott prezentáció leírása: Case study: be-novative, egy közösségi brainstorming [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>A héten prezentációt tartottam a JUM-on.</p>
<p>Az utóbbi másfél évben egy saját startupot építünk. A startupunk neve <a href="http://be-novative.com">Be-novative</a>, és célja, hogy globálisan lehetővé tegye a közösségi kreatív fejlesztést úgy, hogy közben egymást inspiráljuk és segítjük. (A fejlesztést tágabb értelemben gondoljuk, nem csupán a szoftverfejlesztésre összpontosítunk.)</p>
<p><span id="more-828"></span></p>
<p>A beharangozott prezentáció leírása:</p>
<blockquote>
<h3 id="JUMXX-2012november21-MarhefkaIstván-Casestudybe-novativeegyközösségibrainstormingplatformtechnológiaistackje"><em>Case study: be-novative, egy közösségi brainstorming platform technológiai stackje</em></h3>
<p><em>Avagy hogyan alkalmazza egy start-up a legújabb szilícium völgyi trendeket egy magyar innovációban</em></p>
<p><em>A Java a közfelfogásban a nagyvállalati alkalmazások platformja, mégis vannak olyan nagy cégek (Amazon, Google, Yammer), akik ezt használják olyan piaci szolgáltatások megvalósítására, amelyek tömegek kiszolgálását végzik. Ugyan az elmúlt években a Java, mint nyelv fejlődése megtorpant, magának az ökoszisztémának a virágzása az Open Source közösségekben a mai napig zajlik.</em></p>
<p><em>Milyen szempontok alapján választotta a Be-novative a Java-t egy tömegeket kiszolgáló rendszer felépítéséhez? Hogyan lehet megbízható rendszert építeni pehelysúlyú Java alapú technológiákkal?</em></p>
<p><em>Kulcsszavak: Agile, Clean Code, Continuous Delivery, google-gson, Git, Google Guava, Google Guice, Hamcrest, IntelliJ IDEA, Jetty, Joda Time, Jsoup, Lean, Maven, Mockito, MongoDB, NoSQL, Servlet, Socket.io, Thumbnailator</em></p></blockquote>
<p>Feltöltöttem a <a href="http://infokukac.com/wp-content/uploads/2012/11/JUM_20121120.pptm">prezentációt</a>, az előadás pedig megtekinthető a <a title="Prezi videó" href="http://www.youtube.com/watch?v=P9QHHdXTc-4">Youtube</a>-on (köszönet Auth Gábornak a felvételért, a szervezőknek a jó hangulatú rendezényért és a <a href="http://www.training360.com/">Training360</a>-nak a hely biztosításáért).</p>
<p>A <a href="http://wiki.javaforum.hu/pages/viewpage.action?pageId=29688114">JUM oldalán</a> a további előadások is megtekinthetőek (Tamás Viktor: Devoxx 2012 élménybeszámoló, Ujhelyi Zoltán: Eclipse plug-in fejlesztés: lehetőségek és tapasztalatok).</p>
<p>A Facebookon elérhető a <a href="http://www.facebook.com/groups/285344618196646/">fejlesztői közösségünk</a>, ahol követhetitek, milyen technológiákkal/módszerekkel kísérletezünk, mik kerülnek a látókörünkbe.</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Finfokukac.com%2F2012%2F11%2Fjum%2F&amp;linkname=JUM%202012.11.21.%20prezent%C3%A1ci%C3%B3%20%E2%80%93%20Case%20study%3A%20be-novative%2C%20egy%20k%C3%B6z%C3%B6ss%C3%A9gi%20brainstorming%20platform%20technol%C3%B3giai%20stackje" title="Twitter" rel="nofollow" target="_blank"></a><a class="a2a_button_iwiw" href="http://www.addtoany.com/add_to/iwiw?linkurl=http%3A%2F%2Finfokukac.com%2F2012%2F11%2Fjum%2F&amp;linkname=JUM%202012.11.21.%20prezent%C3%A1ci%C3%B3%20%E2%80%93%20Case%20study%3A%20be-novative%2C%20egy%20k%C3%B6z%C3%B6ss%C3%A9gi%20brainstorming%20platform%20technol%C3%B3giai%20stackje" title="IWIW" rel="nofollow" target="_blank"></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Finfokukac.com%2F2012%2F11%2Fjum%2F&amp;linkname=JUM%202012.11.21.%20prezent%C3%A1ci%C3%B3%20%E2%80%93%20Case%20study%3A%20be-novative%2C%20egy%20k%C3%B6z%C3%B6ss%C3%A9gi%20brainstorming%20platform%20technol%C3%B3giai%20stackje" title="Delicious" rel="nofollow" target="_blank"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Finfokukac.com%2F2012%2F11%2Fjum%2F&amp;title=JUM%202012.11.21.%20prezent%C3%A1ci%C3%B3%20%E2%80%93%20Case%20study%3A%20be-novative%2C%20egy%20k%C3%B6z%C3%B6ss%C3%A9gi%20brainstorming%20platform%20technol%C3%B3giai%20stackje" id="wpa2a_6"><img src="http://infokukac.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://infokukac.com/2012/11/jum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Csak egy gombnyomás…</title>
		<link>http://infokukac.com/2011/11/csak-egy-gombnyomas%e2%80%a6/</link>
		<comments>http://infokukac.com/2011/11/csak-egy-gombnyomas%e2%80%a6/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 21:06:38 +0000</pubDate>
		<dc:creator><![CDATA[Marhefka István]]></dc:creator>
				<category><![CDATA[Módszertan]]></category>

		<guid isPermaLink="false">http://infokukac.com/?p=783</guid>
		<description><![CDATA[A cégnél, akiknek dolgozom, több csapat is azt a módszert alkalmazza, hogy a Continuous Integration eszközéből (Hudson/Jenkins ill. TeamCity) deployál a tesztkörnyezetekbe. Minden tesztelőnek van egy saját környezete, és mindegyik környezethez tartozik egy nyomógomb a CI eszközben. Ha a tesztelő megnyomja a környezetéhez tartozó gombot, akkor a CI eszköz deployálja az SVN trunkben lévő utolsó [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img src="http://infokukac.com/wp-content/uploads/2011/11/111011_2105_Csakegygomb11.jpg" alt=""/>
	</p>
<p>A cégnél, akiknek dolgozom, több csapat is azt a módszert alkalmazza, hogy a <a href="http://en.wikipedia.org/wiki/Continuous_integration">Continuous Integration</a> eszközéből (<a href="http://en.wikipedia.org/wiki/Hudson_(software)">Hudson</a>/<a href="http://jenkins-ci.org/">Jenkins</a> ill. <a href="http://www.jetbrains.com/teamcity/">TeamCity</a>)  deployál a tesztkörnyezetekbe. Minden tesztelőnek van egy saját környezete, és mindegyik környezethez tartozik egy nyomógomb a CI eszközben. Ha a tesztelő megnyomja a környezetéhez tartozó gombot, akkor a CI eszköz deployálja az SVN trunkben lévő utolsó revisionhöz tartozó verziót a környezetébe.
</p>
<p><span id="more-783"></span></p>
<p>A héten fültanúja voltam egy beszélgetésnek, ahol a cég vezetői fejlesztői beszélgettek. Az egyik vezető fejlesztő, akinek a csapatában nem alkalmazzák a fenti módszert, arról próbálta meggyőzni a többieket, hogy felesleges időtöltés azzal foglalkozni, hogy a tesztelő gombnyomásra tudjon telepíteni magának saját verziót. A tesztelő Putty-tyal belép a linuxos szerverre, majd elindít parancssorból egy szkriptet, ami leállítja a Tomcatet, előveszi a legújabb wart, bemásolja azt a Tomcat könyvtárába, és elindítja a Tomcatet. Az alkalmazás indulása során a tesztelő figyelje a logot, ha esetleg valami oknál fogva nem indulna el az alkalmazás.
</p>
<p>A vezető fejlesztő azzal érvelt, hogy úgyis nézni kell, hogy van-e hiba a deploy folyamat során, és szerinte elfecsérelt idő lehetőséget biztosítani arra, hogy egy webes felületen kényelmesen gombnyomásra lehessen deployálni úgy, hogy ha hiba történik, akkor azt a felületen is jelezzük. Egyszerűbb belépni Putty-tyal, és figyelni a logot.
</p>
<p>Végülis ha megnézzük, tényleg nincs sokról szó: egy bejelentkezés, egy parancssori futtatás és a napló figyelése. Nem?
</p>
<p style="text-align: center"><span style="font-size:48pt"><strong>NEM.</strong><br />
		</span></p>
<h2>Automatizálás<br />
</h2>
<p><a href="http://www.amazon.com/gp/product/0321601912"><img src="http://infokukac.com/wp-content/uploads/2011/11/111011_2105_Csakegygomb21.jpg" alt="" border="0"/></a>
	</p>
<p>A Continuous Delivery elv lényege röviden az, hogy a releaseadás, deployálása folyamata megbízható és bármikor megismételhető legyen. Ennek érdekében minden lépést, amit automatizálni lehet, automatizáljunk. Az okok egyszerűek: kevesebbszer fogunk hibázni (mert alig végzünk manuális műveletet) és gyorsabban is végzünk. Természetesen az automatizálásnak is van költsége, de a hosszú távú, több éves életciklusú termékfejlesztéseknél nehezen lehet vitatkozni azzal, hogy ezen automatizmusok kidolgozása, bevezetése ne hozná be a ráfordított időt/költséget. Ráadásul senki nem mondta, hogy elsőre tökéleteset kell alkotnunk, az automatizálást apró lépésekben, a hibákból tanulva, a projekt növekedésével párhuzamosan meg lehet alapozni, és soha nem késő vele foglalkozni.
</p>
<p>Az alkalmazás logja általában egy szemét, sokszor nehezen lehet benne észrevenni fontos információkat. Miért a tesztelőnek kell figyelnie azt a naplóból, hogy sikeres volt-e a deployálás? (Odaültetném azt a fejlesztőt a logokat bányászni, aki ezt gondolja.) Nem lehetne a tesztelőt ettől tehermentesíteni? Másrészt, ha a tesztelőnél derül ki, hogy valami miatt nem indul el az alkalmazás, akkor úgy érzem, egy kicsit már késő. Minél hamarabb ki kell derülnie, hogy az alkalmazás nem indítható.
</p>
<p>Amikor commitálunk, miért nincs egy automatikus smoke test is a unit teszteken kívül? Az automatizált szkriptünk deployálná az alkalmazást, bejelentkezne a felhasználói felületen keresztül, és lefuttatna egy alapfunkciót. Semmi bonyolult dolog, csak egy egyszerű, gyors teszt. A unit tesztek gyorsan lefutnak, egy smoke teszt is hamar lefuthat. Így meglesz az az előnyünk, hogy commit után pár percen belül visszajelzést kapunk (max. 5p), hogy az alkalmazásunkban nagyjából minden rendben. Nem szívnak a fejlesztők, tesztelők azzal, hogy a kódbázis éppen egy használhatatlan hulladék, ami blokkolja a munkát, mert az alkalmazást el sem lehet indítani. Ez kb. hasonló szintű probléma, mint az, hogy a kódbázis le se fordul.
</p>
<p>Ha azonnali visszajelzést kapunk, a gyors korrekcióval a többieknél sem akad fenn a munka. A probléma orvoslása pedig akkor a leghatékonyabb, amikor éppen a hibát elkövettük. Ha pár órával később kell javítani, már nehezebben fogjuk tudni, mi okozhatta a gondot, és az se biztos, hogy egyből tudjuk majd, hogy ki követte el a hibát.
</p>
<h2>Absztrakció a szállítási folyamatban<br />
</h2>
<p>Fejlesztőként szeretünk a kódban absztrahálni, az ismétlődéseket felismerve általánosítani. Ez része a szakmánknak. A duplikációk megszüntetésével karbantarthatóbbá válik a kódunk, kevesebb a copy/paste (másképp: editor inheritance <span style="font-family:Wingdings">J</span>), ezáltal magasabb absztrakciós szintet érünk el nem csak a kódban, de a megoldandó probléma megértésében is. Ez a fajta absztrahálás nem csak a kódírásban, de a szállítási folyamatban is fontos.
</p>
<p>Azzal, hogy felismerjük, hogy a gombnyomásra deployálás egy jó dolog, az igazolása annak, hogy jó irányba tartunk. Bennünk a vágy, hogy mindent egyszerűsítsünk, beleértve a teljes szállítási folyamatot. Ha gombnyomásra deployálunk tesztkörnyezetbe, akkor akár élesbe is telepíthetnénk gombnyomásra, nem? Mi akadályoz meg minket abban, hogy a committól kezdve az élesbe telepítésig valami megakasszon minket, és ne deployálhassunk élesbe naponta akár több tucatszor is? Ezt elérni persze nem egyszerű, de nem lehetetlen. De ha nem is érjük el (mert azért ezt a körülményeknek is támogatnia kell), törekedhetünk rá. És ez előnyére válik a projektnek, és a cégnek is, akiknek dolgozunk. A megrendelőről pedig nem is beszéltem még, aki a megbízható, automatizált szállítási folyamat révén stabil szoftvert kap, hatékonyan.
</p>
<h2>Coolság<br />
</h2>
<p>Valakik, a Hudsonra szirénát vagy <a href="http://www.youtube.com/watch?v=o5gdi-kmN-Y">egyéb spéci eszközt</a> kötnek. Ha a build elszáll, a szirénna villog és vijjog.
</p>
<p>Nem cool?
</p>
<p>Pár évvel ezelőtt a korábbi munkahelyemen Scrumot alkalmaztunk. A főnököm megkérdezte egyszer: &#8220;Nem lenne jobb valamilyen elektronikus eszköz, amin a feladatokat nyilvántartjátok? Nem kellene a fal, amire cetliket gyártotok, és nem kellene a falon a cetliket tologatni!&#8221;
</p>
<p>A fizikai tábla azonban kézzel fogható. Bárki bejöhet a szobába, megnézheti, min dolgozik a csapat.  Fejlesztőként büszke vagyok arra, hogy elkészültem egy feladattal, és a tábla következő oszlopába helyezhetem. A reggeli standupon a tesztelő kélyes mosollyal helyezheti át a tesztelés alatt álló cetlit a hiba oszlopba, ami arra készteti a fejlesztőt, hogy tanuljon a hibából, és legközelebb lehetőleg ne kövesse el azt még egyszer. A tábla a csapatot és a munkáját képviseli. Bárki, bármikor láthatja. Nincsenek titkok. Ha végzünk egy feladattal, felállunk a helyünkről, oda megyünk, áttoljuk a cetlit. Ezek vagyunk mi.
</p>
<p>Nem cool?
</p>
<p>Azzal, hogy fejlesztőként segítünk, hogy a tesztelőnek csak egy gombot kelljen megnyomnia, hogy deployáljon, megkönnyítjük a munkáját. Nem jó érzés azt mondani neki?: &#8220;Itt ez a gomb, nyomd meg, és egy-két percen belül kikerül a környezetbe a legújabb verzió&#8221;. Voltam ebben a helyzetben, büszke voltam arra, hogy megcsináltam, és segíthettem valakinek a munkáját. Hónapokkal később is használták a tesztelők a gombnyomásra történő deployálást, ez a napi folyamat természetes részévé vált.
</p>
<p>Nem cool?
</p>
<h2>Konklúzió<br />
</h2>
<p>Még az az egyszerű kérdés is, hogy egy tesztkörnyezetbe gombnyomással telepítsünk-e, vagy belépjünk-e inkább a távoli linuxos szerverre, és ott parancssorból deployáljuk-e az alkalmazást, miközben figyeljük a logot, hogy nem történt-e hiba, messzire vezet.
</p>
<p>Hatékonyság, megbízhatóság, átláthatóság, egyszerűség. Ezek elérése, ill. az ezekre való törekvés belső motivációt teremt bennünk és a körülöttünk lévőkben, amitől szívesebben végezzük a munkánkat. A szakmai tökéletesség a cél.
</p>
<p>Úgy gondolom, ezen elvek felismerése és érvényesítése része kell, hogy legyen professzionális attitűdünknek.</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Finfokukac.com%2F2011%2F11%2Fcsak-egy-gombnyomas%25e2%2580%25a6%2F&amp;linkname=Csak%20egy%20gombnyom%C3%A1s%E2%80%A6" title="Twitter" rel="nofollow" target="_blank"></a><a class="a2a_button_iwiw" href="http://www.addtoany.com/add_to/iwiw?linkurl=http%3A%2F%2Finfokukac.com%2F2011%2F11%2Fcsak-egy-gombnyomas%25e2%2580%25a6%2F&amp;linkname=Csak%20egy%20gombnyom%C3%A1s%E2%80%A6" title="IWIW" rel="nofollow" target="_blank"></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Finfokukac.com%2F2011%2F11%2Fcsak-egy-gombnyomas%25e2%2580%25a6%2F&amp;linkname=Csak%20egy%20gombnyom%C3%A1s%E2%80%A6" title="Delicious" rel="nofollow" target="_blank"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Finfokukac.com%2F2011%2F11%2Fcsak-egy-gombnyomas%25e2%2580%25a6%2F&amp;title=Csak%20egy%20gombnyom%C3%A1s%E2%80%A6" id="wpa2a_8"><img src="http://infokukac.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://infokukac.com/2011/11/csak-egy-gombnyomas%e2%80%a6/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Hogyan fejlesszünk hatékonyabban szoftvert? &#8211; Töröljük a kódot!</title>
		<link>http://infokukac.com/2011/05/hogyan-fejlesszunk-hatekonyabban-szoftvert-toroljuk-a-kodot/</link>
		<comments>http://infokukac.com/2011/05/hogyan-fejlesszunk-hatekonyabban-szoftvert-toroljuk-a-kodot/#comments</comments>
		<pubDate>Wed, 18 May 2011 01:17:24 +0000</pubDate>
		<dc:creator><![CDATA[Marhefka István]]></dc:creator>
				<category><![CDATA[Módszertan]]></category>
		<category><![CDATA[kódtörlés]]></category>
		<category><![CDATA[költségmegtakarítás]]></category>
		<category><![CDATA[legacy code]]></category>
		<category><![CDATA[Michael Feathers]]></category>
		<category><![CDATA[prioritás]]></category>

		<guid isPermaLink="false">http://infokukac.com/?p=750</guid>
		<description><![CDATA[Korábbi munkahelyemen abban a szerencsés helyzetben lehetett részem, hogy egyazon terméket fejleszthettem a kezdetektől 3 éven keresztül. A termék &#8220;vállalati&#8221; alkalmazás, ami nagymegrendelőknek (több tízezres felhasználószámnak) készült. Talán másoknak ez egy csapásnak tűnhet, hogy miért kell évekig ugyanazt a szoftvert túrni, én azonban ezen a projekten tanultam eddig a legtöbbet. Egy kisebb méretű (6-7 fős) [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Korábbi munkahelyemen abban a szerencsés helyzetben lehetett részem, hogy egyazon terméket fejleszthettem a kezdetektől 3 éven keresztül. A termék &#8220;vállalati&#8221; alkalmazás, ami nagymegrendelőknek (több tízezres felhasználószámnak) készült. Talán másoknak ez egy csapásnak tűnhet, hogy miért kell évekig ugyanazt a szoftvert túrni, én azonban ezen a projekten tanultam eddig a legtöbbet. Egy kisebb méretű (6-7 fős) szoftverfejlesztői csapattal dolgoztunk, a feladatom a bitfaragás mellett az ügyfélelvárások és az üzleti folyamatok megértése is volt, tehát üzleti elemzőként is funkcionáltam.
</p>
<p>Pár év fejlesztés során a rendszerbe folyamatosan kerültek be az újabbnál újabb funkciók, amely egy iszonyúan komplex (vagy bonyolult?) rendszert eredményezett. Nagyon jól értettem az üzleti elvárásokat, azt is értettem, hogy ezek hátterében mi húzódik meg, és nagyon jól értettem a kódot, mert magam is aktívan fejlesztettem. Egy idő után az ügyfél által elvárt újabb funkciók komoly dilemmát jelentettek a szoftver továbbfejlesztésében. Ha lefejlesztjük az újabb funkciót, akkor az még bonyolultabbá teszi az eddigi modellt, amellyel az üzleti környezetet próbáltuk leképezni.</p>
<p>Legtöbbször ilyenkor egy fejlesztő cég próbálja lepattintja magáról a továbbfejlesztési (változáskezelési) igényeket, mert már nem képes kezelni a kódban fellépő komplexitást. Természetszerűleg mi is törekedtünk arra, hogy minél egyszerűbb megoldást vállaljunk be, de még így is sokszor nehézségekbe ütköztünk. Ekkor vetődött fel a gondolat: </p>
<blockquote><p><strong>Miért ne töröljünk régi kódokat, kódrészleteket, miért ne egyszerűsítsük őket, ha tudjuk, hogy nincs rájuk szükség?</strong></p></blockquote>
<p>Ha ezt nem tesszük, egyre csak lassítjuk a munkánkat, mert az új funkciók implementálása és a jelentkező hibák javítása egyre tovább tart.
</p>
<p><span id="more-750"></span></p>
<h2>De…</h2>
<p><img src="http://infokukac.com/wp-content/uploads/2011/05/051811_0117_Hogyanfejle1.jpg" alt=""/>
	</p>
<p>Sokszor próbálkoztunk azzal, hogy meglévő funkcionalitást kiirtsunk a kódból. Igen nehéz volt ez véghezvinni… Ha azonban sikerült, igen boldog voltam, mert sok részét gyakhattam ki a kódnak, amit nem sajnáltam, mert így sokkal egyszerűbb volt egy-egy új funkció kifejlesztése, és kisebb lett a kód.
</p>
<p>Azonban sokszor a funkciómegszüntetés, -egyszerűsítés nehezen végig vihető:
</p>
<ul>
<li>Szállítói oldalon: szerződésben, korábbi megbeszéléséken, írásos formában bevállaltuk, hogy megcsináljuk a funkciót, ezért nem lehet kivenni a kódból, amit már lefejlesztettünk. Ettől kezdve a saját menedzsmentünk nem támogatja a meglévő funkciók törlését.
</li>
<li>Terméket fejlesztünk, jól mutat a prospektusban az, hogy egy (haszontalan) funkciót nem csak a versenytársunk, de mi is implementáltunk (vagy éppen a versenytársunk nem tudja, de mi igen). Ez jó kis csali szokott lenni a potenciális ügyfelek előtt, akiknek az a célja, hogy minél többet tudjon a dobozos szoftver.
</li>
<li>Mit fognak szólni hozzá a konkrét felhasználók, ha elveszítenek egy funkciót? Ha megkérdezzük őket, akkor nem akarják, hogy egy &#8220;ilyen hasznos&#8221; funkció kikerüljön a rendszerből, mert ki tudja, mikor lehet rá szükség… Jó az, ha megvan…
</li>
<li>Se a megrendelő se a szálltító nem tudja, hogy a felhasználók <strong>pontosan</strong> hogyan is használják nap mint nap a rendszert, és milyen hatása lesz annak a napi folyamatokra, ha kiveszünk egy funkciót a rendszerből. Nem merik vállalni a kockázatot. (Nagy a felhasználószám, nagy a rendszer.)
</li>
<li>Maguk a szoftverfejlesztők látják azt, hogy mennyire bonyolult a kód, és mennyire nehezen tudnak már egy idő után újabb funkciókat implementálni. Azonban a fejlesztők <strong>nem is mernek abban gondolkodni, hogy kódot töröljenek</strong> a célból, hogy egyszerűsítsék azt. Nem értik, pontosan mik is a kód hátterében meghúzódó üzleti elvárások, döntések, ami miatt egy-egy kód elkészült, ezért nem is tudják felmérni, hogy egy adott kódrészletre valóban szükség van-e vagy sem, vagy akár lehetne-e egyszerűsíteni rajta. Ezt a helyzetet általában még tovább nehezíti az, hogy a kód nem érthető, és csak nehezen fejthető belőle vissza az eredeti üzleti szándék, elvárás.
</li>
<li>Automatizált tesztekkel nem támogatott <a href="http://en.wikipedia.org/wiki/Legacy_code">Legacy code</a> esetében nem is mernek hozzányúlni a meglévő kódhoz, nehogy elrontsanak vmi mást. (Szerencsére nálunk nem ez volt a helyzet.)
</li>
</ul>
<p>Arról áhítozunk sokszor, hogy a szoftverfejlesztésben létezzenek egzakt metrikák, amik mutatják, hogy jó-e vagy rossz, amit csinálunk. Ez itt is segítene, mert igazolhatná a menedzsmentnek és az ügyfélnek a funkciótörlés (-egyszerűsítés) jogosságát a költségmegtakarításon keresztül. De ilyenek sajnos nincsenek…
</p>
<h2>Nálunk nincsenek felesleges funkciók!<br />
</h2>
<p>Vannak <a href="http://www.adaptiveconsulting.hu/adaptiv-menedzsment/adaptiv-menedzsment">bizonyos felmérések</a>, amik mutatják, hogy egy-egy rendszerben az egyes funkciók hány százalékát milyen gyakorisággal használják: &#8220;a rendszerek szolgáltatásainak 19%-ra ritkán, míg 45%-ra gyakorlatilag soha sincs szükségük.&#8221;
</p>
<p>Egyesek talán úgy gondolhatják, hogy a saját projektjükre nem jellemző, hogy felesleges funkciók lennének benne, és arra is hivatkozhatnak, hogy régi a tanulmány, és az ő agilis projektjükben megvalósított funkciók kevéssé &#8220;feleslegesek&#8221;, mert végig prioritás szerint haladtak a megvalósítás közben. (Szemben a hagyományos, a &#8220;gonosz vízeséssel&#8221; fejlesztett szoftverekkel.) Én úgy gondolom, minden szoftverfejlesztési projektben, ahol van megrendelő, létezik a felesleges funkcionalitás jelensége:
</p>
<ul>
<li>Szerződünk (mi szállítók) bizonyos funkciókra, amikről utólag kiderül, hogy a valós felhasználás szempontjából feleslegesek. Ennek oka az, hogy a megadott pénzért a megrendelő minél több funkciót akar beletömködni a szoftverbe, hogy a projekt zárása után biztonságban érezhesse magát, és ne kelljen állandóan a szállítóhoz fordulnia pluszmegrendelésért, ha valamire nem gondolt volna.
</li>
<li>Menet közben állandóan előfordul, hogy politikai okokból bevállalunk egy-egy funkciót. Ennek sokféle oka lehet, tipikus adok-kapok játék megrendelő és szállító között. (Jobb esetben már menet közben is tudjuk, hogy nem lesz a funkcióra szükség, és nem &#8220;csicsázzuk&#8221; túl.)
</li>
<li>Ugyan az ügyfél természetszerűleg a pénzéért minél több funkciót akar, azonban lehet ezt &#8220;ésszerűen&#8221; is csinálni, prioritások mentén, amely elvileg csökkenti a felesleges funkcionalitást. Azonban még így is előfordulhat, hogy legjobb szándékunk ellenére egyszerűen rosszul priorizálunk (tipikusan agilis projekt, termékfejlesztés esetében). Rosszul mértük fel a piaci igényeket, menet közben változtak a piaci igények, rosszul értettük meg a megrendelőt, esetleg ő maga sem tudta pontosan meghatározni a prioritást.
</li>
<li>A sikeres termékek hosszú évekig tartanak. Menet közben változhat az üzleti/jogszabályi környezet.</li>
</ul>
<p>A lényeg, hogy felesleges funkcionalitást valósít meg a termékünk, ami növeli a termék komplexitását a kódban, ezáltal minden újabb funkció vagy hibajavítás megvalósítása drágább lesz (egyáltalán a hiba előfordulási valószínűsége is nagyobb). Arról nem is beszélve, hogy nemcsak kód szinten, de a funkcionalitás szintjén is komplikáltabb a szoftver, ami a felhasználók számára is bonyolulttá teszi a használatot, így több felhasználói tévedést, frusztrációt, hosszabb betanítási periódust eredményez.
</p>
<h2>Mi lenne, ha…?<br />
</h2>
<p>Michael Feathers, a <a href="http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052">Working effectively with legacy code</a> c. könyv szerzője <a href="http://michaelfeathers.typepad.com/michael_feathers_blog/2010/12/coverage-in-production-learning-from-your-live-code.html">felveti azt az ötletet</a>, hogy mi lenne, ha éles környezetben mérhetnénk a kódlefedettséget: mi lenne ha valahogyan mérni tudnánk, hogy a kód egyes sorai milyen gyakran hívódnak az éles használat során? Ezáltal betekintést kapnánk abba, hogy milyen kockázattal járhat a kód egyes részeinek módosítása, és ez valójában egy indikátor is lehetne, hogy mely kódrészletek, funkcionalitások azok, amelyek a valóságban nem használtak. Ezáltal tudatosan irthatnánk a haszontalan funkciókat.
</p>
<p>Feathers mostanában megjelent egy <a href="http://michaelfeathers.typepad.com/michael_feathers_blog/2011/05/the-carrying-cost-of-code-taking-lean-seriously.html">másik cikke</a>, még sokkal izgalmasabb. Egy érdekes gondolatkísérletettel kacérkodik: <strong>mi lenne, ha minden kódsor, ami implementálásra került, három hónap elteltével eltűnne</strong> a kódbázisból? Ennek több hozománya is lenne. Egyrészt a fejlesztők a már meglévő funkciókat sokkal célravezetőbben, és valószínűleg jobban érthetőbben is implementálnák. Ennek oka az, hogy már ismerték a korábbi kódot, <strong>vannak tapasztalataik a rendszer korábbi implementációjáról és a már megvalósított funkcionalitás valódi üzleti felhasználásáról is</strong>. Az egyes újraírásokat egyre hatékonyabban végeznék el ezen információk birtokában, ami a kód felépítésében egy egyszerűbb rendszert eredményezne. (Tudják, hogy pontosan mire van szüksége a felhasználóknak, és megtanulják, hogyan lehet azt a legjobban, legegyszerűbben implementálni.) Amit viszont még fontosabbnak tart Feathers az az, hogy ez a fajta metodika komoly komprosszimukra kényszerítené az üzletet a funkcionalitás viszonylatában. Amiatt, hogy kevés funkciót tarthat meg (mert az implementált kód úgyis eltűnik 3 hónap után), komolyan végig kell gondolnia, hogy mik maradjanak meg, hogy azokra valóban szüksége van-e. Feathers azt gyanítja, hogy hosszú távon az ilyen módon fejlesztett szoftver költség szempontból sokkal kedvezőbb, mert a feleslegesen és/vagy rosszul implementált kód cipelése jelentős költséget képvisel, amellyel jelenleg senki nem számol.
</p>
<h2>A jövő a bátraké<br />
</h2>
<p><img src="http://infokukac.com/wp-content/uploads/2011/05/051811_0117_Hogyanfejle2.jpg" alt=""/>
	</p>
<p>Feathers szerint azon (szoftverfejlesztő) cégek nyernek a jövőben, akik felismerik, hogy hogyan lehet stratégialiag a termékeikből kódot törölni. A költséghatékonyság egyik módja már eleve az, ha nem fejlesztünk ki nem profitábilis funkciókat, a következő lépes azonban az, hogy hogyan irtsunk ki gyökerestől funkciókat a kódból. A kódcipelés költsége több, mint gondolnánk, és ez kompetitív előnyt jelenthet számunkra.</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Finfokukac.com%2F2011%2F05%2Fhogyan-fejlesszunk-hatekonyabban-szoftvert-toroljuk-a-kodot%2F&amp;linkname=Hogyan%20fejlessz%C3%BCnk%20hat%C3%A9konyabban%20szoftvert%3F%20%E2%80%93%20T%C3%B6r%C3%B6lj%C3%BCk%20a%20k%C3%B3dot%21" title="Twitter" rel="nofollow" target="_blank"></a><a class="a2a_button_iwiw" href="http://www.addtoany.com/add_to/iwiw?linkurl=http%3A%2F%2Finfokukac.com%2F2011%2F05%2Fhogyan-fejlesszunk-hatekonyabban-szoftvert-toroljuk-a-kodot%2F&amp;linkname=Hogyan%20fejlessz%C3%BCnk%20hat%C3%A9konyabban%20szoftvert%3F%20%E2%80%93%20T%C3%B6r%C3%B6lj%C3%BCk%20a%20k%C3%B3dot%21" title="IWIW" rel="nofollow" target="_blank"></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Finfokukac.com%2F2011%2F05%2Fhogyan-fejlesszunk-hatekonyabban-szoftvert-toroljuk-a-kodot%2F&amp;linkname=Hogyan%20fejlessz%C3%BCnk%20hat%C3%A9konyabban%20szoftvert%3F%20%E2%80%93%20T%C3%B6r%C3%B6lj%C3%BCk%20a%20k%C3%B3dot%21" title="Delicious" rel="nofollow" target="_blank"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Finfokukac.com%2F2011%2F05%2Fhogyan-fejlesszunk-hatekonyabban-szoftvert-toroljuk-a-kodot%2F&amp;title=Hogyan%20fejlessz%C3%BCnk%20hat%C3%A9konyabban%20szoftvert%3F%20%E2%80%93%20T%C3%B6r%C3%B6lj%C3%BCk%20a%20k%C3%B3dot%21" id="wpa2a_10"><img src="http://infokukac.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://infokukac.com/2011/05/hogyan-fejlesszunk-hatekonyabban-szoftvert-toroljuk-a-kodot/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Megjelent a &#8220;Kanban and Scrum &#8211; making the most of both&#8221; magyar fordítása</title>
		<link>http://infokukac.com/2011/03/megjelent-a-kanban-and-scrum-making-the-most-of-both-magyar-forditasa/</link>
		<comments>http://infokukac.com/2011/03/megjelent-a-kanban-and-scrum-making-the-most-of-both-magyar-forditasa/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 14:41:36 +0000</pubDate>
		<dc:creator><![CDATA[Marhefka István]]></dc:creator>
				<category><![CDATA[Módszertan]]></category>
		<category><![CDATA[infoq]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[könyv]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://infokukac.com/?p=736</guid>
		<description><![CDATA[Hosszas munka eredményeképpen Csutorás Zoltán barátommal elkészültünk az infoq.com-on, 2009 év végén megjelent Kanban and Scrum &#8211; making the most of both elektronikus könyv magyar fordításával. A magyar címnek ezt választottuk: Kanban és Scrum &#8211; mindkettőből a legjobbat! A könyv a Scrum és a Kanban módszerek egyik legjobb összefoglalását adja. Mindenkinek ajánljuk, akik az agilis [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.adaptiveconsulting.hu/dokumentum/kanban-es-scrum-mindkettobol-legjobbat-magyar-forditas"><img src="http://infokukac.com/wp-content/uploads/2011/03/kanbanscrum1-221x300.png" alt="" title="kanbanscrum" width="221" height="300" class="alignleft size-medium wp-image-740" /></a><br />
Hosszas munka eredményeképpen <a href="http://www.adaptiveconsulting.hu/">Csutorás Zoltán</a> barátommal elkészültünk az <a href="http://www.infoq.com">infoq.com</a>-on, 2009 év végén megjelent <em>Kanban and Scrum &#8211; making the most of both</em> elektronikus könyv <a href="http://www.adaptiveconsulting.hu/dokumentum/kanban-es-scrum-mindkettobol-legjobbat-magyar-forditas">magyar fordításával</a>. A magyar címnek ezt választottuk: Kanban és Scrum &#8211; mindkettőből a legjobbat!</p>
<p>A könyv a Scrum és a Kanban módszerek egyik legjobb összefoglalását adja. Mindenkinek ajánljuk, akik az agilis projektvezetési módszertanok iránt érdeklődik akár megrendelői vagy szoftverfejlesztői oldalon, ezen belül is üzleti elemző, projektmenedzser, fejlesztő vagy akár tesztelő szerepkörben.</p>
<p>A könyv eredeti verziója &#8211; az azóta több nyelven is elkészült fordításokkal &#8211; <a href="http://www.infoq.com/minibooks/kanban-scrum-minibook">elérhető az infoq oldalán</a>.</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Finfokukac.com%2F2011%2F03%2Fmegjelent-a-kanban-and-scrum-making-the-most-of-both-magyar-forditasa%2F&amp;linkname=Megjelent%20a%20%E2%80%9CKanban%20and%20Scrum%20%E2%80%93%20making%20the%20most%20of%20both%E2%80%9D%20magyar%20ford%C3%ADt%C3%A1sa" title="Twitter" rel="nofollow" target="_blank"></a><a class="a2a_button_iwiw" href="http://www.addtoany.com/add_to/iwiw?linkurl=http%3A%2F%2Finfokukac.com%2F2011%2F03%2Fmegjelent-a-kanban-and-scrum-making-the-most-of-both-magyar-forditasa%2F&amp;linkname=Megjelent%20a%20%E2%80%9CKanban%20and%20Scrum%20%E2%80%93%20making%20the%20most%20of%20both%E2%80%9D%20magyar%20ford%C3%ADt%C3%A1sa" title="IWIW" rel="nofollow" target="_blank"></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Finfokukac.com%2F2011%2F03%2Fmegjelent-a-kanban-and-scrum-making-the-most-of-both-magyar-forditasa%2F&amp;linkname=Megjelent%20a%20%E2%80%9CKanban%20and%20Scrum%20%E2%80%93%20making%20the%20most%20of%20both%E2%80%9D%20magyar%20ford%C3%ADt%C3%A1sa" title="Delicious" rel="nofollow" target="_blank"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Finfokukac.com%2F2011%2F03%2Fmegjelent-a-kanban-and-scrum-making-the-most-of-both-magyar-forditasa%2F&amp;title=Megjelent%20a%20%E2%80%9CKanban%20and%20Scrum%20%E2%80%93%20making%20the%20most%20of%20both%E2%80%9D%20magyar%20ford%C3%ADt%C3%A1sa" id="wpa2a_12"><img src="http://infokukac.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://infokukac.com/2011/03/megjelent-a-kanban-and-scrum-making-the-most-of-both-magyar-forditasa/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A szoftverfejlesztő guru</title>
		<link>http://infokukac.com/2010/10/a-szoftverfejleszto-guru/</link>
		<comments>http://infokukac.com/2010/10/a-szoftverfejleszto-guru/#comments</comments>
		<pubDate>Sun, 10 Oct 2010 14:06:19 +0000</pubDate>
		<dc:creator><![CDATA[Marhefka István]]></dc:creator>
				<category><![CDATA[Módszertan]]></category>
		<category><![CDATA[Programozás]]></category>
		<category><![CDATA[követelmények]]></category>
		<category><![CDATA[követelményspecifikáció]]></category>

		<guid isPermaLink="false">http://infokukac.com/?p=721</guid>
		<description><![CDATA[A héten résztvettem egy szoftverfejlesztői álláshirdetés megfogalmazásában. A kiírás rendhagyóra sikeredett: az első oldalon leírtuk, milyen – szerintünk – egy jó szoftverfejlesztő, a másik oldal pedig arról szólt, milyen egy szoftverfejlesztő napja a cégnél. Ketten dolgoztunk ennek a provokatív, figyelemfelkeltő álláshirdetésnek az elkészítésében. Pont ez a provokáció volt az, ami nekem tetszett az egészben. A [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>A héten résztvettem egy szoftverfejlesztői álláshirdetés megfogalmazásában. A kiírás rendhagyóra sikeredett: az első oldalon leírtuk, milyen – szerintünk – egy jó szoftverfejlesztő, a másik oldal pedig arról szólt, milyen egy szoftverfejlesztő napja a cégnél.
</p>
<p>Ketten dolgoztunk ennek a provokatív, figyelemfelkeltő álláshirdetésnek az elkészítésében. Pont ez a provokáció volt az, ami nekem tetszett az egészben. A cég vezetőségében viszont úgy döntöttek, hogy finomítanak az eredeti megfogalmazásunkon, és a szövegben fellelhető &#8220;vadhajtásokat&#8221; lenyesegetik. Az egyik mondat, amelyikre a legbüszkébb voltam (és akár egy buddhista tanításnak is beillene), végül kikerült a végleges szövegből:
</p>
<blockquote><p>A jó szoftverfejlesztő nem lepődik meg azon, ha állandóan &#8220;változnak a követelmények&#8221;, mert tudja, hogy valójában azok nincsenek is, mert egyetlen cél létezik csupán: a végén jó szoftvert előállítani.
</p>
</blockquote>
<p><img src="http://infokukac.com/wp-content/uploads/2010/10/101010_1406_Aszoftverfe1.jpg" alt=""/>
	</p>
<p><span id="more-721"></span></p>
<p>Egy új szoftverfejlesztési projekt a követelményfelméréssel szokott kezdődni. Csutorás Zoltán írt arról egy igen <a href="http://adaptiveproject.blogspot.com/2009/06/kovetelmenyek-helyett-elvarasok.html">elgondolkodtató cikket</a>, hogy a követelményeket célszerű inkább elvárásokként tekinteni. Ugyanis:
</p>
<blockquote><p>&#8220;[…] a követelmények részben a környezeti kényszerek, részben a megrendelők adott pillanatban, adott információk alapján kialakított elvárásainak rögzített leképezése. A gond az, hogy ezek mind változnak. […] A megrendelőt […] nem érdeklik a követelmények. A megrendelőnek elvárásai vannak, amiknek megfelelő rendszert akar látni. <strong>Az üzleti megrendelő szemében a követelmény csak egy szükséges rossz</strong>, amibe az előzetes követelményspecifikáción alapuló fejlesztési kultúra belekényszeríti a tervezhetőség látszatának fenntartása érdekében.&#8221;
</p>
</blockquote>
<p>Mi köze van ennek az egésznek egy szoftverfejlesztőhöz?
</p>
<p>Nagyon is sok. Sok helyen a szoftverfejlesztőket (vagy szofverfejlesztő cégeket) droidként kezelik. Átadják nekik a követelményeket: &#8220;Tessék, ezt kell megcsinálni!&#8221;. A szoftverfejlesztők pedig engedelmeskednek. Eszükbe sem jut, hogy valójában a követelménylistában megfogalmazott egyes tételek hátterében mi húzódhat. Mennyi mindent nem érdemes megcsinálni belőle, mennyi mindent lehetne másképpen, jobban csinálni. A határidő szorításában szolgaian lefejlesztik valahogyan a benne felsorolt funkciókat, eredményezzen az bármilyen szoftvert.
</p>
<p>A nagyobbik baj, hogy a szoftverfejlesztők el is hiszik magukról, hogy nekik ez a feladatuk. Pedig ennél lehetne jobban is csinálni. Ha hagynánk, hogy a szoftverfejlesztők megértsék a követelmények mögött rejtőző elvárásokat, megérthetnék, hogy a megrendelőnek mi a valódi célja rendszerrel, és így sokkal jobb szoftvert tudnának szállítani. A szoftverfejlesztőktől érkező visszajelzéseket vissza lehetne csatolni a megrendelő felé, akivel egyeztetve revidiálni lehetne a korábbi elképzeléseket.
</p>
<p>A szoftverfejlesztők (szoftverfejlesztő cégek) sok projektet csináltak már végig, sok esetben projektről projektre egy-egy újabb és újabb szakmát elsajátítva. Nem csak kódot írnak, hanem ők azok, akik tudják, mik egy fejlesztés buktatói, hogyan érdemes és nem érdemes dolgozni. Kár lenne ezt a lehetőséget kihagyni…
</p>
<p>Amikor úgy fogalmaztam, egy jó szoftverfejlesztő tudja azt, hogy változó követelmények valójában nincsenek is, a valódi cél pedig a jó szoftver előállítása, akkor arra gondoltam, hogy a jó szoftverfejlesztő nem foglalkozik azzal, amit éppen követelményként rázúdítanak. Tudja, hogy ezen követelmények egy hibás fejlesztési folyamatnak, módszertannak az eredménye, és azon sem lepődik meg, ha ezen követelmények változnak.
</p>
<p>A követelmények buta követése helyett a<strong> jó szoftverfejlesztő mindig megkérdőjelezi, amit mondanak neki.</strong> Folyamatosan ezen kérdések pörögnek a fejében: &#8220;De miért?&#8221;, &#8220;És mi lenne, ha…?&#8221;. Meg akarja érteni, hogy hogyan alakult ki egy képtelen szituáció, és abból megpróbál segíteni kitörni. A korábbi tapasztalatai alapján tudja, hogy nem szabad elfogadnia semmilyen helyzetet. Ha érzi, hogy tud egy jobb megoldást, akkor azt nem szabad magában tartania.
</p>
<p>Félreértés ne essék, nem arról van szó, hogy a jó szoftverfejlesztő egy rendszeren kívüli elem, aki önkényesen felülbírál és kritizál minden korábbi döntést. Csupán arról van szó, hogy képes arra, hogy korábban megszerzett tapasztalatából adódóan hangot adjon véleményének, és ezzel segít cégénék, ill. a megrendelőnek abban, hogy végül egy jó (jobb) szoftver készülhessen.</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F10%2Fa-szoftverfejleszto-guru%2F&amp;linkname=A%20szoftverfejleszt%C5%91%20guru" title="Twitter" rel="nofollow" target="_blank"></a><a class="a2a_button_iwiw" href="http://www.addtoany.com/add_to/iwiw?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F10%2Fa-szoftverfejleszto-guru%2F&amp;linkname=A%20szoftverfejleszt%C5%91%20guru" title="IWIW" rel="nofollow" target="_blank"></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F10%2Fa-szoftverfejleszto-guru%2F&amp;linkname=A%20szoftverfejleszt%C5%91%20guru" title="Delicious" rel="nofollow" target="_blank"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Finfokukac.com%2F2010%2F10%2Fa-szoftverfejleszto-guru%2F&amp;title=A%20szoftverfejleszt%C5%91%20guru" id="wpa2a_14"><img src="http://infokukac.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://infokukac.com/2010/10/a-szoftverfejleszto-guru/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Programozói verseny</title>
		<link>http://infokukac.com/2010/09/programozoi-verseny/</link>
		<comments>http://infokukac.com/2010/09/programozoi-verseny/#comments</comments>
		<pubDate>Tue, 21 Sep 2010 10:45:38 +0000</pubDate>
		<dc:creator><![CDATA[Marhefka István]]></dc:creator>
				<category><![CDATA[Programozás]]></category>
		<category><![CDATA[legjobbfejleszto]]></category>
		<category><![CDATA[verseny]]></category>

		<guid isPermaLink="false">http://infokukac.com/?p=712</guid>
		<description><![CDATA[Felkértek részvételre egy programozói verseny zsűrijébe. Ha pályakezdő vagy, szeretsz Javában szoftvert fejleszteni, és kíváncsi vagy arra, hogy mit gondol munkádról a szakmai zsűri, mindenképpen ajánlom, próbáld ki magad! A célunk, hogy egy viszonylag egyszerű feladat megvalósításával hívjuk versenybe az érdeklődőket, és a legjobbakkal hosszátávú együttműködést alakítsunk ki. Nem kell hosszú hetekig &#8220;reszelni&#8221;, inkább azt [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Felkértek részvételre egy programozói verseny zsűrijébe.
</p>
<p><img src="http://infokukac.com/wp-content/uploads/2010/09/092110_1045_Programoziv1.png" alt=""/></p>
<p>Ha pályakezdő vagy, szeretsz Javában szoftvert fejleszteni, és kíváncsi vagy arra, hogy mit gondol munkádról a szakmai zsűri, mindenképpen ajánlom, próbáld ki magad!
</p>
<p>A célunk, hogy egy viszonylag egyszerű feladat megvalósításával hívjuk versenybe az érdeklődőket, és a legjobbakkal hosszátávú együttműködést alakítsunk ki.
</p>
<p>Nem kell hosszú hetekig &#8220;reszelni&#8221;, inkább azt teszteljük, hogy hogyan készíted el az alkalmazást.
</p>
<p>A feladatot pár héten belül publikáljuk, további részletekről keresd a verseny honlapját: <a href="http://legjobbfejleszto.com">http://legjobbfejleszto.com</a>
	</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F09%2Fprogramozoi-verseny%2F&amp;linkname=Programoz%C3%B3i%20verseny" title="Twitter" rel="nofollow" target="_blank"></a><a class="a2a_button_iwiw" href="http://www.addtoany.com/add_to/iwiw?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F09%2Fprogramozoi-verseny%2F&amp;linkname=Programoz%C3%B3i%20verseny" title="IWIW" rel="nofollow" target="_blank"></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F09%2Fprogramozoi-verseny%2F&amp;linkname=Programoz%C3%B3i%20verseny" title="Delicious" rel="nofollow" target="_blank"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Finfokukac.com%2F2010%2F09%2Fprogramozoi-verseny%2F&amp;title=Programoz%C3%B3i%20verseny" id="wpa2a_16"><img src="http://infokukac.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://infokukac.com/2010/09/programozoi-verseny/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Retro feeling</title>
		<link>http://infokukac.com/2010/08/retro-feeling/</link>
		<comments>http://infokukac.com/2010/08/retro-feeling/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 20:18:26 +0000</pubDate>
		<dc:creator><![CDATA[Marhefka István]]></dc:creator>
				<category><![CDATA[Módszertan]]></category>
		<category><![CDATA[Technológia]]></category>

		<guid isPermaLink="false">http://infokukac.com/?p=705</guid>
		<description><![CDATA[Ahogy telnek az évek, és egyre idősebbé válik az ember, annál többet nosztalgiázik. &#8220;Bezzeg az én időmben!&#8221; – hangzik a sokat nem érő kijelentés. SOA, SOAP, BPEL, Workflow, Design Patterns, EJB, GUI-technológiák, cluster, mindenféle alkalmazásszerverek. Folytathatnám a sort. Nincs jó kedvem, amikor rájuk gondolok. Bezzeg, amikor még Turbo Pascalban írtam az alkalmazásokat, és assembly-betétekkel interruptokat [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img src="http://infokukac.com/wp-content/uploads/2010/08/082610_2018_Retrofeelin1.png" alt=""/>
	</p>
<p>Ahogy telnek az évek, és egyre idősebbé válik az ember, annál többet nosztalgiázik. &#8220;Bezzeg az én időmben!&#8221; – hangzik a sokat nem érő kijelentés.
</p>
<p>SOA, SOAP, BPEL, Workflow, Design Patterns, EJB, GUI-technológiák, cluster, mindenféle alkalmazásszerverek. Folytathatnám a sort. Nincs jó kedvem, amikor rájuk gondolok. Bezzeg, amikor még Turbo Pascalban írtam az alkalmazásokat, és assembly-betétekkel interruptokat hívtam! Saját MOD-lejátszó. Azok voltak ám a szép idők! A BGI-driverrekkel én magam rajzoltam a Hercules monitorra, és mindig tudtam, hogy mi történik… CTRL-F9: fut a program!<br />
<span id="more-705"></span>
</p>
<p>Ma már nem így van. Elindítjuk az IDE-t, össze-vissza klikkelünk, generáljuk a forráskódokat, írjuk a build-szkripteket, és nem is tudjuk, pontosan mi is történik. És szívunk. Kétes technológiákat integrálunk, amik annyira absztraktak, és persze, &#8220;mindenre&#8221; jók!
</p>
<p>Magával ránt a környezetünk. A menedzsment és a tanácsadók azt szajkózzák: &#8220;Portál alá fejlesszünk! JSR-168, ez a tuti! Ide workflow kell meg SOA! Ez most a király!&#8221;
</p>
<p>Az Oracle meg a Microsoft meg jön a világmegváltó technológiáival. Fusion Middleware, Workflow foundation.  KIT ÉRDEKEL?!
</p>
<p>Már meg is fájdult a fejem.
</p>
<p><strong>Szoftverfejlesztőként egyet szeretnék: jó szoftvert írni, amivel az ügyfél elégedett.<br />
</strong></p>
<p>A mai világban két dolognak örülök: a gazdasági világválságnak (jelentsen is bármit) és az értelmetlenül rövid határidőknek. Megmondom, miért. Mert <a href="http://pasztor.freeblog.hu/archives/2010/08/26/Nissan_Greeces_lesson_in_IT_profitability/">rákényszerít minket arra</a>, <strong>hogy értelmesen dolgozzunk.<br />
</strong></p>
<p>… hogy pehelykönnyű alkalmazásokat írjunk, amik mentesek a technológia függőségektől… hogy megértsük a valódi igényeket, és ne erőltessünk rá használhatatlan szupermegoldásokat az ügyfélre, amitől ő boldogtalan lesz.
</p>
<p>…és hogy e közben – saját magunk örömére is – értéket teremthessünk…</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F08%2Fretro-feeling%2F&amp;linkname=Retro%20feeling" title="Twitter" rel="nofollow" target="_blank"></a><a class="a2a_button_iwiw" href="http://www.addtoany.com/add_to/iwiw?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F08%2Fretro-feeling%2F&amp;linkname=Retro%20feeling" title="IWIW" rel="nofollow" target="_blank"></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F08%2Fretro-feeling%2F&amp;linkname=Retro%20feeling" title="Delicious" rel="nofollow" target="_blank"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Finfokukac.com%2F2010%2F08%2Fretro-feeling%2F&amp;title=Retro%20feeling" id="wpa2a_18"><img src="http://infokukac.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://infokukac.com/2010/08/retro-feeling/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>WebExpo konferencia, Prága, 2010. szeptember 23-25.</title>
		<link>http://infokukac.com/2010/08/webexpo-konferencia-praga-2010-szeptember-23-25/</link>
		<comments>http://infokukac.com/2010/08/webexpo-konferencia-praga-2010-szeptember-23-25/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 12:03:40 +0000</pubDate>
		<dc:creator><![CDATA[Marhefka István]]></dc:creator>
				<category><![CDATA[Módszertan]]></category>
		<category><![CDATA[Programozás]]></category>
		<category><![CDATA[Technológia]]></category>
		<category><![CDATA[agilitás]]></category>
		<category><![CDATA[konferencia]]></category>
		<category><![CDATA[webexpo]]></category>
		<category><![CDATA[webfejlesztés]]></category>

		<guid isPermaLink="false">http://infokukac.com/?p=700</guid>
		<description><![CDATA[2010. szeptember 23-25. között kerül megrendezésre Prágában Közép-Európa legnagyobb webbel foglalkozó konferenciája a WebExpo 2010. Fókuszban a webfejlesztés, design, az internetes businessek és az agilis szoftverfejlesztés. A jelentkezés díj augusztus 31-ig 160 EUR, utána 200 EUR. (Diákoknak 80 ill. 120 EUR.) Részletek a rendezvény oldalán, a http://webexpo.net címen. A program folyamatosan bővül, ezért érdemes vissza-vissza [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img src="http://infokukac.com/wp-content/uploads/2010/08/081410_1203_WebExpokonf1.png" alt=""/></p>
<p>2010. szeptember 23-25. között kerül megrendezésre Prágában Közép-Európa legnagyobb webbel foglalkozó konferenciája a WebExpo 2010. Fókuszban a webfejlesztés, design, az internetes businessek és az agilis szoftverfejlesztés.
</p>
<p>A jelentkezés díj augusztus 31-ig 160 EUR, utána 200 EUR. (Diákoknak 80 ill. 120 EUR.) Részletek a rendezvény oldalán, a <a href="http://webexpo.net" target="_blank"><span style="color:#0065cc; font-family:Arial; font-size:10pt">http://webexpo.net</span></a><span style="color:black; font-family:Arial; font-size:10pt"> címen. A program folyamatosan bővül, ezért érdemes vissza-vissza tekinteni az oldalra.<br />
</span></p>
<p>Ajánlom mindenkinek, aki szeretne találkozni a téma legjobbjaival a gyönyörű Prágában!</p>
<p><a class="a2a_button_twitter" href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F08%2Fwebexpo-konferencia-praga-2010-szeptember-23-25%2F&amp;linkname=WebExpo%20konferencia%2C%20Pr%C3%A1ga%2C%202010.%20szeptember%2023-25." title="Twitter" rel="nofollow" target="_blank"></a><a class="a2a_button_iwiw" href="http://www.addtoany.com/add_to/iwiw?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F08%2Fwebexpo-konferencia-praga-2010-szeptember-23-25%2F&amp;linkname=WebExpo%20konferencia%2C%20Pr%C3%A1ga%2C%202010.%20szeptember%2023-25." title="IWIW" rel="nofollow" target="_blank"></a><a class="a2a_button_delicious" href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Finfokukac.com%2F2010%2F08%2Fwebexpo-konferencia-praga-2010-szeptember-23-25%2F&amp;linkname=WebExpo%20konferencia%2C%20Pr%C3%A1ga%2C%202010.%20szeptember%2023-25." title="Delicious" rel="nofollow" target="_blank"></a><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Finfokukac.com%2F2010%2F08%2Fwebexpo-konferencia-praga-2010-szeptember-23-25%2F&amp;title=WebExpo%20konferencia%2C%20Pr%C3%A1ga%2C%202010.%20szeptember%2023-25." id="wpa2a_20"><img src="http://infokukac.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://infokukac.com/2010/08/webexpo-konferencia-praga-2010-szeptember-23-25/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
