<?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>Agilinius &#187; Agile</title>
	<atom:link href="http://agilini.us/category/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://agilini.us</link>
	<description>Sebuah Seni Rekayasa Perangkat Lunak Agile</description>
	<lastBuildDate>Fri, 20 Jan 2012 06:37:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Generative Programming</title>
		<link>http://agilini.us/2012/01/20/generative-programming/</link>
		<comments>http://agilini.us/2012/01/20/generative-programming/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 06:37:53 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Domain Specific Language]]></category>
		<category><![CDATA[Pemrograman]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=290</guid>
		<description><![CDATA[Pertama kali mengenal istilah ini adalah pada saat membaca tentang Model Driven Engineering (MDE), dimana istilah &#8211; istilah seperti Domain Specific Language (DSL) dan Code Generator sering dijumpai. Saat ini cukup banyak penelitian mengenai teknologi Model-Driven, termasuk yang telah terstandarisasi seperti Model-Driven Architecture (MDA) oleh OMG.
Dalam generative programming, kita juga akan menemukan konsep Aspect-Oriented Programming [...]]]></description>
			<content:encoded><![CDATA[<p>Pertama kali mengenal istilah ini adalah pada saat membaca tentang Model Driven Engineering (MDE), dimana istilah &#8211; istilah seperti Domain Specific Language (DSL) dan Code Generator sering dijumpai. Saat ini cukup banyak penelitian mengenai teknologi Model-Driven, termasuk yang telah terstandarisasi seperti Model-Driven Architecture (MDA) oleh OMG.</p>
<p>Dalam generative programming, kita juga akan menemukan konsep Aspect-Oriented Programming serta Generic Programming. Dapat dikatakan bahwa dengan mempelajari generative programming, kita akan mempelajari berbagai konsep/paradigma sekaligus. Ini dapat menjadi nilai tambah tersendiri.</p>
<p>Bagi yang berminat mempelajari Generative Programming dapat membaca tesis <a href="http://www.issi.uned.es/doctorado/generative/Bibliografia/TesisCzarnecki.pdf">Generative Programming &#8211; Principles and Techniques of Software Engineering Based on Automated Configuration and Fragment-Based Component Models</a></p>
<p><a href="http://www.issi.uned.es/doctorado/generative/Bibliografia/TesisCzarnecki.pdf"></a>Berbagai paper/jurnal tersedia secara online, maupun buku Generative Programming edisi cetak.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2012/01/20/generative-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lean Software Development</title>
		<link>http://agilini.us/2010/10/23/lean-software-development/</link>
		<comments>http://agilini.us/2010/10/23/lean-software-development/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 04:14:30 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Lean]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=182</guid>
		<description><![CDATA[Lean development pertama-tama dicontohkan pada tahun 1980-an oleh dua raksasa otomotif Jepang, yaitu Toyota dan Honda. Kemudian teknik tersebut ditiru untuk diterapkan dalam pengembangan perangkat lunak, maka lahirlah istilah Lean Software Development yang merupakan bagian dari Agile. 
Pada dasarnya, Lean memiliki 7 prinsip, yaitu:

Eliminate waste.
Buang apapun yang tidak memberi nilai tambah bagi produk yang dapat [...]]]></description>
			<content:encoded><![CDATA[<p>Lean development pertama-tama dicontohkan pada tahun 1980-an oleh dua raksasa otomotif Jepang, yaitu Toyota dan Honda. Kemudian teknik tersebut ditiru untuk diterapkan dalam pengembangan perangkat lunak, maka lahirlah istilah Lean Software Development yang merupakan bagian dari Agile. </p>
<p>Pada dasarnya, Lean memiliki <strong>7 prinsip</strong>, yaitu:</p>
<ol>
<li><strong>Eliminate waste.</strong></li>
<p>Buang apapun yang tidak memberi nilai tambah bagi produk yang dapat dirasakan oleh konsumen.</p>
<li><strong>Amplify learning.</strong></li>
<p>Dalam software development, kita berbicara Lean Development bukan Lean Production. Development berbeda dengan production. Development mirip dengan membuat resep masakan, sedangkan production mirip dengan memasak masakan. Jadi dalam proses development dibutuhkan pemikiran, inovasi, percobaan, dsb yang proses tersebut merupakan proses pembelajaran. Belajar, belajar, dan terus belajar.</p>
<li><strong>Decide as late as posible.</strong></li>
<p>Dunia terus berubah, maka sepatutnya bila keputusan tidak diambil secara tergesa-gesa, maka keputusan tersebut diharapkan semaksimal mungkin supaya sesuai dengan fakta yang ada, bukan keputusan yang berbau spekulasi.</p>
<li><strong>Deliver as fast as posible.</strong></li>
<p>Dulu saat era web 2.0 sedang booming, ada mantra yang cukup terkenal, yaitu &#8216;realase early release often&#8217;. Dengan pengembangan yang cepat, kita bisa menunda keputusan (sejalan dengan prinsip ke-3) dan kita bisa memperoleh feedback yang reliabel. Pada umumnya siklus yang terjadi adalah: <strong>Design, implement, feedback, improve</strong>.</p>
<li><strong>Empower the team.</strong></li>
<p>Karena pengambilan keputusan ada di akhir dan proses eksekusi sangat cepat, tidak mungkin dilakukan pengaturan secara terpusat. Lean menggunakan &#8216;pull techniques&#8217; untuk penjadwalan pekerjaan dan memiliki mekanisme pensinyalan lokal yang memungkinkan masing-masing pekerja memberitahu apa yang harus dikerjakan berikutnya. Mekanisme &#8216;Pull&#8217; dalam lean development merupakan perjanjian untuk membuat perangkat lunak yang lebih baik secara bertahap dalam interval tertentu. Pensinyalan lokal terjadi melalui chart, pertemuan harian, integrasi berkala, dan pengujian (testing) yang komprehensif.</p>
<li><strong>Build integrity in.</strong></li>
<p>Perangkat lunak dengan integritas, maka dia memiliki arsitektur yang koheren, usability yang baik, sesuai dengan tujuan, dan dapat beradaptasi dengan perkembangan jaman.</p>
<li><strong>See the whole.</strong></li>
<p>Integritas pada suatu sistem yang kompleks membutuhkan pengetahuan dari berbagai bidang yang beragam. Tidak bisa berpikir untuk mengembangkan suatu bagian tertentu dari sistem tanpa memperhatikan dampaknya yang terjadi pada bagian lain.
</ul>
<p>Sumber:<br />
<strong>&#8220;Lean Software Development: An Agile Toolkit&#8221; (Mary Poppendieck, Tom Poppendieck), Addison Wesley &#8211; 2003</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2010/10/23/lean-software-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DSL Dengan Interpreter Pattern</title>
		<link>http://agilini.us/2010/10/20/dsl-dengan-interpreter-pattern/</link>
		<comments>http://agilini.us/2010/10/20/dsl-dengan-interpreter-pattern/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 08:10:44 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Domain Specific Language]]></category>
		<category><![CDATA[Pemrograman]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=178</guid>
		<description><![CDATA[Beberapa waktu yang lalu saya sempat menulis tentang Membuat DSL Tanggal Dengan Scala. Kali ini sebenarnya hampir sama, hanya saja implementasinya dengan bahasa Java dan memiliki grammar yang sedikit berbeda. Kebetulan sedang membaca-baca tentang behavioral design pattern, salah satunya adalah interpreter pattern, maka DSL yang ini dibuat menggunakan interpreter pattern. Karena saya sendiri masih belum [...]]]></description>
			<content:encoded><![CDATA[<p>Beberapa waktu yang lalu saya sempat menulis tentang <a href="http://agilini.us/2010/08/15/membuat-dsl-tanggal-dengan-scala/">Membuat DSL Tanggal Dengan Scala</a>. Kali ini sebenarnya hampir sama, hanya saja implementasinya dengan bahasa Java dan memiliki grammar yang sedikit berbeda. Kebetulan sedang membaca-baca tentang behavioral design pattern, salah satunya adalah <a href="http://en.wikipedia.org/wiki/Interpreter_pattern">interpreter pattern</a>, maka DSL yang ini dibuat menggunakan interpreter pattern. Karena saya sendiri masih belum begitu paham dengan konsep interpreter pattern, maka<strong> tidak ada jaminan bahwa code yang saya tulis telah memenuhi kriteria interpreter patter</strong>.<br />
Berikut ini grammar-nya:</p>
<div id="attachment_179" class="wp-caption aligncenter" style="width: 558px"><img class="size-full wp-image-179" title="Grammar DSL Tanggal" src="http://agilini.us/wp-content/uploads/2010/10/Untitled-1.png" alt="Grammar DSL Tanggal" width="548" height="165" /><p class="wp-caption-text">Grammar DSL Tanggal</p></div>
<p>Contoh implementasi DSL-nya:</p>
<blockquote><p>Kemarin dikurangi 3 tahun ditambah 7 bulan</p></blockquote>
<p>Hampir mirip dengan versi Scala di tulisan terdahulu, hanya saja DSL kali ini tidak menggunakan Conjunction (kalau yang versi Scala ada Conjunction &#8220;dan&#8221; nya).<br />
Dalam interpreter pattern, semua expression dijadikan class, baik non-terminal expression maupun terminal expression.<br />
Beruikut ini source code-nya:<br />
<script src="http://gist.github.com/635996.js?file=Interpreter.java"></script><br />
Code di atas bukanlah code untuk produksi, mungkin lebih cocok sebagai prototype saja, hanya sebagai contoh bagaimana kita membuat DSL dengan interpreter pattern. Code di atas sangat tidak efisien dan harus di-refactor ulang, jadi jangan coba-coba memasukannya ke dalam production code, karena secara coding tidak elegan dan performanya juga payah. Silahkan dicoba sendiri dan Anda akan mengetahui bahwa waktu eksekusi code tersebut tergolong lambat.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2010/10/20/dsl-dengan-interpreter-pattern/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Pomodoro Technique</title>
		<link>http://agilini.us/2009/10/11/the-pomodoro-technique/</link>
		<comments>http://agilini.us/2009/10/11/the-pomodoro-technique/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 11:27:42 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=96</guid>
		<description><![CDATA[Remember, Time is a greedy player who wins without cheating, every round! &#8211;Baudelaire
Inti dari teknik pomodoro adalah bagaimana kita memanage waktu sehingga dapat meningkatkan fokus dan konsentrasi, meningkatkan dan mempertahankan motivasi, meningkatkan kinerja maupun proses belajar.
Konsep yang digunakan sangat sederhana sekali. Pomodoro sejatinya adalah sebuah timer untuk memasak dengan interval 25 menit. Nama pomodoro sendiri [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Remember, Time is a greedy player who wins without cheating, every round! &#8211;Baudelaire</p></blockquote>
<p>Inti dari teknik <a href="http://www.pomodorotechnique.com/">pomodoro</a> adalah bagaimana kita memanage waktu sehingga dapat meningkatkan fokus dan konsentrasi, meningkatkan dan mempertahankan motivasi, meningkatkan kinerja maupun proses belajar.</p>
<p>Konsep yang digunakan sangat sederhana sekali. Pomodoro sejatinya adalah sebuah timer untuk memasak dengan interval 25 menit. Nama pomodoro sendiri diambil dari timer yang berbentuk buah tomat (dalam bahasa italia, tomat = pomodoro).</p>
<div id="attachment_97" class="wp-caption alignleft" style="width: 210px"><img class="size-full wp-image-97" title="The Pomodoro Technique" src="http://agilini.us/wp-content/uploads/2009/10/pomodoro_technique.gif" alt="The Pomodoro Technique" width="200" height="160" /><p class="wp-caption-text">The Pomodoro Technique</p></div>
<p>Pomodoro tradisional berdurasi 30 menit (25 menit kerja + 5 menit istirahat). Satu pekerjaan dapat membutuhkan waktu lebih dari 25 menit, sehingga membutuhkan lebih dari satu pomodoro. Misal, Anda membutuhkan waktu 60 menit untuk menyelesaikan suatu pekerjaan, maka Anda memerlukan 3 pomodoro. Supaya lebih efektif, karena keterbatasan fisik dan psikologis manusia, sebaiknya Anda melakukan istirahat yang lebih panjang untuk setiap 4 pomodoro, misal 15-30menit.</p>
<p>Ada berbagai teknik atau aturan untuk mengoptimalkan teknik pomodoro, misalnya untuk pekerjaan yang membutuhkan lebih dari 5-7 pomodoro, sebaiknya pekerjaan tersebut dipecah-pecah menjadi sub-sub yang lebih kecil supaya lebih mudah dimanage. Untuk penjelasan yang lebih lengkap tentang pomodoro, Anda dapat membaca buku pomodoro berjudul <a href="http://pomodorotechnique.com/resources/cirillo/ThePomodoroTechnique_v1-3.pdf">The Pomodoro Technique</a> [PDF].</p>
<p>Bila Anda bekerja dengan komputer, Anda dapat memanfaatkan beberapa perangkat lunak yang dirancang untuk mempraktekan teknik pomodoro. Pengguna Mac OS dapat menggunakan <a href="http://pomodoro.ugolandini.com/">Pomodoro Desktop</a>, sedangkan pengguna sistem operasi lainnya (termasuk Mac), Windows maupun Linux dapat menggunakan <a href="http://www.focusboosterapp.com/">focus booster</a> (butuh Adobe AIR).</p>
<p><img style="visibility: hidden; width: 0px; height: 0px;" src="http://counters.gigya.com/wildfire/IMP/CXNID=2000002.0NXC/bT*xJmx*PTEyNTUyNjAzNDUxNzkmcHQ9MTI1NTI2MDM*OTg1OCZwPTEwMTkxJmQ9c3NfZW1iZWQmZz*yJm89ZDkyZWY*NDdjOTI*NDE*ZWI4NzhlODM4NTNhN2RlNjAmb2Y9MA==.gif" border="0" alt="" width="0" height="0" /></p>
<div id="__ss_506213" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Pomodoro Technique in 5 minutes" href="http://www.slideshare.net/snoteberg/pomodoro-technique-in-5-minutes">Pomodoro Technique in 5 minutes</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pomodoro-technique-in-5-minutes-1215620765717622-9&amp;stripped_title=pomodoro-technique-in-5-minutes" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=pomodoro-technique-in-5-minutes-1215620765717622-9&amp;stripped_title=pomodoro-technique-in-5-minutes" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/snoteberg">Staffan Nöteberg</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/10/11/the-pomodoro-technique/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Berbagai Framework Untuk Behaviour-Driven Development</title>
		<link>http://agilini.us/2009/10/05/berbagai-framework-untuk-behaviour-driven-development/</link>
		<comments>http://agilini.us/2009/10/05/berbagai-framework-untuk-behaviour-driven-development/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 15:52:29 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Behaviour-Driven Development]]></category>
		<category><![CDATA[Pemrograman]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=81</guid>
		<description><![CDATA[Behaviour-Driven development (BDD) secara prinsip kurang lebih sama dengan test-driven development (TDD), hanya saja (bila Anda mengembangkan perangkat lunak secara object-oriented) BDD lebih fokus pada pengujian terhadap perilaku suatu objek, bukan mengenai perihal seperti apa objek itu (misal: struktur objek). Ada cukup banyak framework yang dapat kita gunakan untuk mempermudah pengembangan perangkat lunak secara BDD. [...]]]></description>
			<content:encoded><![CDATA[<p>Behaviour-Driven development (BDD) secara prinsip kurang lebih sama dengan test-driven development (TDD), hanya saja (bila Anda mengembangkan perangkat lunak secara object-oriented) BDD lebih fokus pada pengujian terhadap perilaku suatu objek, bukan mengenai perihal seperti apa objek itu (misal: struktur objek). Ada cukup banyak framework yang dapat kita gunakan untuk mempermudah pengembangan perangkat lunak secara BDD. Bagi yang masih asing terhadap BDD namun sudah pernah mengenal tentang teori BDD, atau siapapun Anda yang merasa tertarik tentang topik ini, ada baiknya untuk mencoba mengimplementasikannya secara langsung dengan bantuan framework yang Anda sukai.</p>
<ul>
<li>Cucumber (Ruby) <a href="http://cukes.info">http://cukes.info</a></li>
<li>Rspec (Ruby) <a href="http://rspec.info">http://rspec.info</a></li>
<li>JBehave (Java) <a href="http://jbehave.org">http://jbehave.org</a></li>
<li>easyb (Java) <a href="http://www.easyb.org">http://www.easyb.org</a></li>
<li>specs (Scala) <a href="http://code.google.com/p/specs">http://code.google.com/p/specs</a></li>
<li>ScalaTest (Scala) <a href="http://www.scalatest.org">http://www.scalatest.org</a></li>
<li>conducta (Clojure) <a href="http://code.google.com/p/conducta">http://code.google.com/p/conducta</a></li>
</ul>
<p>Selamat mencoba BDD. Red &#8211; Green &#8211; Refactor &#8211; Red &#8211; Green &#8211; Refactor &#8211; &#8230;</p>
<p>O ya, kalau ada yang tahu framework BDD lainnya, silahkan berbagi melalui komentar di posting ini.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/10/05/berbagai-framework-untuk-behaviour-driven-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Generalizing Specialist</title>
		<link>http://agilini.us/2009/09/27/generalizing-specialist/</link>
		<comments>http://agilini.us/2009/09/27/generalizing-specialist/#comments</comments>
		<pubDate>Sun, 27 Sep 2009 13:33:08 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=76</guid>
		<description><![CDATA[Salah satu masalah besar dalam industri IT adalah spesialisasi skill yang kebablasan. Dalam suatu organisasi, bisa jadi terdapat departemen-departemen yang beranggotakan spesialis basis data, spesialis analisis bisnis, spesialis manajemen projek, spesialis Java/pemrograman, dsb. Pendekatan seperti ini didasarkan pada paradigma bernama Taylorism (Frederick Taylor). Idenya adalah memecah-mecah proses pabrikasi menjadi tahap-tahap yang terpisah, karena hal ini [...]]]></description>
			<content:encoded><![CDATA[<p>Salah satu masalah besar dalam industri IT adalah spesialisasi skill yang kebablasan. Dalam suatu organisasi, bisa jadi terdapat departemen-departemen yang beranggotakan spesialis basis data, spesialis analisis bisnis, spesialis manajemen projek, spesialis Java/pemrograman, dsb. Pendekatan seperti ini didasarkan pada paradigma bernama Taylorism (Frederick Taylor). Idenya adalah memecah-mecah proses pabrikasi menjadi tahap-tahap yang terpisah, karena hal ini dianggap lebih baik daripada menyerahkan kepada individu yang memiliki banyak kemampuan sekaligus. Taylorism terbukti sukses pada proses manufaktur, tapi tidak demikian untuk pengembangan perangkat lunak.</p>
<p>Masalah yang terjadi dalam pengembangan perangkat lunak, seringkali para spesialis kesulitan dalam bekerjasama dengan spesialis lainnya atau bahkan dengan spesialis yang sebidang. Mengapa demikian? Karena spesialis tersebut tidak memiliki latar belakang pengetahuan yang memadai untuk dapat mengerti masalah yang sedang dihadapi oleh spesialis lainnya, mereka cenderung terlalu fokus dengan bidang yang digelutinya namun celakanya dia mengabaikan hal-hal mendasar lain yang juga penting. Alhasil, hal tersebut menjadi hambatan mereka dalam berkolaborasi.</p>
<p>Apa solusinya? Generalizing specialist (GS). GS adalah seseorang yang memiliki pengetahuan tentang bagaimana suatu sistem secara keseluruhan dapat bekerja. Dia memiliki pengetahuan tentang apa yang sedang dikerjakan oleh rekan kerjanya. Dengan pengetahuan itu, dia akan memberikan apresiasi lebih terhadap pekerjaan rekannya tersebut. Sehingga terbentuk tim dengan kinerja yang baik.</p>
<p>Adalah hal yang hampir mustahil untuk tahu banyak hal dan menguasai semuanya, sedangkan sangat mungkin bila seseorang mengetahui banyak hal dan menguasai secara mendalam beberapa diantaranya.</p>
<p>GS bukan sekedar generalis. Generalis adalah orang yang tahu segala hal tapi tidak satupun yang dia dalami, cuma kulit luarnya saja. Sedangkan GS adalah orang yang tahu banyak hal namun tetap memiliki keahlian khusus yang mendalam pada beberapa hal.</p>
<p>Dalam dunia rekayasa perangkat lunak dengan metodologi agile, semakin sedikit spesialis yang dapat bertahan, mau tidak mau mereka harus melebarkan ilmu mereka.</p>
<p>Kesimpulannya, kita kitak bisa serta merta menyamakan antara industri manufaktur dengan industri IT (pengembangan perangkat lunak), sehingga sistem yang berjalan baik pada industri manufaktur, seperti Taylorism, tidak dapat diadopsi begitu saja ke dalam industri IT. Hal lain yang masih menarik perhatian saya saat ini adalah bagaimana kita mengimplementasikan Lean Software Development, karena Lean berangkat dari industri manufaktur, yaitu pabrik mobil Toyota, namun kini IBM sepertinya telah sukses menerapkan Lean.</p>
<p>Untuk lebih jelas tentang GS, Anda dapat membaca buku &#8220;The Object Primer: Agile Model-Driven Development with UML 2.0 Third Edition&#8221; yang ditulis oleh Scott W. Ambler.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/09/27/generalizing-specialist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile dan Extreme Programming Dalam Kartun Dilbert</title>
		<link>http://agilini.us/2009/08/21/agile-dan-extreme-programming-dalam-kartun-dilbert/</link>
		<comments>http://agilini.us/2009/08/21/agile-dan-extreme-programming-dalam-kartun-dilbert/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 07:16:27 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Extreme Programming]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=35</guid>
		<description><![CDATA[Sumber: “Dilbert” on Extreme and Agile Programming
]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_36" class="wp-caption aligncenter" style="width: 610px"><img class="size-full wp-image-36" title="Dilbert - Agile Programming" src="http://agilini.us/wp-content/uploads/2009/08/dilbert-agile_programming.gif" alt="Dilbert - Agile Programming" width="600" height="208" /><p class="wp-caption-text">Dilbert - Agile Programming</p></div><br />
<div id="attachment_37" class="wp-caption aligncenter" style="width: 610px"><img class="size-full wp-image-37" title="Dilbert - Extreme Programming (1)" src="http://agilini.us/wp-content/uploads/2009/08/dilbert-xp01.gif" alt="Dilbert - Extreme Programming (1)" width="600" height="215" /><p class="wp-caption-text">Dilbert - Extreme Programming (1)</p></div><br />
<div id="attachment_38" class="wp-caption aligncenter" style="width: 610px"><img class="size-full wp-image-38" title="Dilbert - Extreme Programming (2)" src="http://agilini.us/wp-content/uploads/2009/08/dilbert-xp02.gif" alt="Dilbert - Extreme Programming (2)" width="600" height="212" /><p class="wp-caption-text">Dilbert - Extreme Programming (2)</p></div><br />
<div id="attachment_39" class="wp-caption aligncenter" style="width: 610px"><img class="size-full wp-image-39" title="Dilbert - Extreme Programming (3)" src="http://agilini.us/wp-content/uploads/2009/08/dilbert-xp03.gif" alt="Dilbert - Extreme Programming (3)" width="600" height="213" /><p class="wp-caption-text">Dilbert - Extreme Programming (3)</p></div><br />
Sumber: <a href="http://www.globalnerdy.com/2007/11/28/dilbert-on-extreme-and-agile-programming/">“Dilbert” on Extreme and Agile Programming</a></p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/08/21/agile-dan-extreme-programming-dalam-kartun-dilbert/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Beberapa Mitos Seputar Agile</title>
		<link>http://agilini.us/2009/08/21/beberapa-mitos-seputar-agile/</link>
		<comments>http://agilini.us/2009/08/21/beberapa-mitos-seputar-agile/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 05:47:20 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=28</guid>
		<description><![CDATA[
Silver bullet, dapat digunakan untuk menyelesaikan semua permasalahan.
Tidak semua permasalahan dapat diselesaikan dengan agile. Kondisi dan kultur tim juga berpengaruh terhadap keberhasilan penerapan agile.
Dengan agile, kita dapat melakukan apapun sesuka hati, tanpa aturan yang jelas.
Agile membutuhkan kedisiplinan yang sangat ketat dan aturan yang jelas, karena agile didesain untuk menghadapi lingkungan yang sangat dinamis. Tanpa ini [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>Silver bullet, dapat digunakan untuk menyelesaikan semua permasalahan.</li>
<blockquote><p>Tidak semua permasalahan dapat diselesaikan dengan agile. Kondisi dan kultur tim juga berpengaruh terhadap keberhasilan penerapan agile.</p></blockquote>
<li>Dengan agile, kita dapat melakukan apapun sesuka hati, tanpa aturan yang jelas.</li>
<blockquote><p>Agile membutuhkan kedisiplinan yang sangat ketat dan aturan yang jelas, karena agile didesain untuk menghadapi lingkungan yang sangat dinamis. Tanpa ini semua, agile tidak akan pernah berhasil.</p></blockquote>
<li>Tidak memiliki perancangan, dokumentasi, arsitektur, dsb.</li>
<blockquote><p>Seperti metodologi lain pada umumnya, agile juga membuat perancangan, dokumentasi, arsitektur, dsb. Justru semua ini dilakukan secara transparan dan menitik beratkan pada kebutuhan, kecepatan dan kualitas. Memang kadang kala agile menghasilkan dokumentasi yang minimalis, tapi bukan berarti dokumentasi tersebut dibuat minimalis dengan cara mengabaikan banyak hal esensial sehingga tidak dapat merepresentasikan sistem yang dibangun secara komprehensif. Hal ini karena agile selalu berusaha meminimalisir pemborosan tenaga dan waktu, sehingga menghasilkan iklim kerja yang efektif dan efisien.</p></blockquote>
<li>Menghasilkan produk yang tidak terjamin kualitasnya.</li>
<blockquote><p>Pengujian (testing) adalah bagian yang krusial pada agile. Salah satu parameter perangkat lunak yang berkualitas adalah perangkat lunak yang telah lolos uji. Pada metode tradisional, pengujian kadang kala malah dianggap remeh dan hanya untuk seremonial semata.</p></blockquote>
<li>Tidak digunakan oleh perusahaan-perusahaan besar.</li>
<blockquote><p>Berdasarkan Forrester Research, 14% enterprise di Amerika Utara dan Eropa telah menggunakan agile, dan 19% lainnya tertarik dan berencana untuk menggunakan agile di masa mendatang. Google dan Yahoo adalah dua dari sekian perusahaan ternama yang telah menggunakan agile.</p></blockquote>
</ol>
<p>Dan masih banyak lagi mitos seputar agile&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/08/21/beberapa-mitos-seputar-agile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pengantar</title>
		<link>http://agilini.us/2009/08/19/pengantar/</link>
		<comments>http://agilini.us/2009/08/19/pengantar/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 00:30:19 +0000</pubDate>
		<dc:creator>Agi Putra Kharisma</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Agile Modeling]]></category>
		<category><![CDATA[Agile Unified Process (AUP)]]></category>
		<category><![CDATA[Crystal]]></category>
		<category><![CDATA[Dynamic System Development Method (DSDM)]]></category>
		<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[Feature-Driven Development]]></category>
		<category><![CDATA[Iterative and Incremental]]></category>
		<category><![CDATA[Lean Development]]></category>
		<category><![CDATA[OpenUP]]></category>
		<category><![CDATA[Scrum]]></category>
		<category><![CDATA[Waterfall]]></category>

		<guid isPermaLink="false">http://agilini.us/?p=11</guid>
		<description><![CDATA[Fakta: sebagian proyek perangkat lunak terlambat, melebihi anggaran, dan tidak dapat memenuhi kebutuhan pasar ketika diluncurkan. Sepertinya ini telah menjadi masalah klasik rekayasa perangkat lunak sejak dahulu kala. Apa yang menyebabkan ini? Banyak faktor, salah satunya adalah kesalahan dalam memilih metodologi.
Ada berbagai jenis metodologi yang digunakan dalam rekayasa perangkat lunak, salah satunya adalah agile. Agile [...]]]></description>
			<content:encoded><![CDATA[<p>Fakta: sebagian proyek perangkat lunak terlambat, melebihi anggaran, dan tidak dapat memenuhi kebutuhan pasar ketika diluncurkan. Sepertinya ini telah menjadi masalah klasik rekayasa perangkat lunak sejak dahulu kala. Apa yang menyebabkan ini? Banyak faktor, salah satunya adalah kesalahan dalam memilih metodologi.</p>
<p>Ada berbagai jenis metodologi yang digunakan dalam rekayasa perangkat lunak, salah satunya adalah agile. Agile development sendiri masih mencakup berbagai metodologi, antara lain <a href="http://www.scrumalliance.org/">Scrum</a>, <a href="http://www.extremeprogramming.org/">Extreme Programming</a>, <a href="http://www.ambysoft.com/unifiedprocess/agileUP.html">Agile Unified Process (AUP)</a>, <a href="http://www.featuredrivendevelopment.com/">Feature-Driven Development</a>, <a href="http://en.wikipedia.org/wiki/Lean_software_development">Lean Development</a>, <a href="http://www.dsdm.org/">Dynamic System Development Method (DSDM)</a>, <a href="http://epf.eclipse.org/wikis/openup/">OpenUP</a>, <a href="http://www.agilemodeling.com/">Agile Modeling</a>, <a href="http://www.projectconnections.com/templates/detail/agile-techniques-crystal.html">Crystal</a>, dsb. Ciri khas dari semua metodologi agile ini adalah sifat <a href="http://en.wikipedia.org/wiki/Iterative_and_incremental_development">iterative dan incremental</a>, hal ini sangat berbeda dengan metodologi tradisional (baca: <a href="http://en.wikipedia.org/wiki/Waterfall_model">waterfall</a>). Sebagai catatan, Scrum adalah metodologi (atau lebih tepatnya framework) yang paling banyak digunakan dan paling berkembang hingga saat ini.</p>
<p>Perubahan yang cepat, kebutuhan pasar yang terus meningkat, menuntut untuk menggunakan suatu metodologi yang fleksibel, responsif, adaptif terhadap perubahan, dan terjamin kualitasnya. Agile memberikan solusi terhadap masalah ini, perusahaan besar seperti Google, Yahoo, Microsoft, Cisco, Siemens, Motorola telah mengembangkan agile untuk meningkatkan bisnis dan menjaga supaya perusahannya tetap kompetitif di pasar.</p>
<p>Secara cepat, kini agile mulai beranjak menjadi de-facto standard untuk proses pengembangan perangkat lunak.</p>
]]></content:encoded>
			<wfw:commentRss>http://agilini.us/2009/08/19/pengantar/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

