Kamis, 09 Maret 2017

Metode SDLC Extreme Programming (Agile)

Extreme Programming merupakan salah satu dari sekian banyak metodologi pengembangan sistem. Extreme Programming ditujukan kepada mereka yang melakukan pengembangan sistem secara cepat. Extreme Programming merupakan salah satu cara untuk mengatasi perubahan situasi dan kondisi yang cepat. Extreme Programming merupakan salah satu model proses dari Agile Software Development yang merupakan salah satu metodologi dalam pengembangan sistem berbasis Software Development Life Cycle (SDLC). Extreme Programming atau yang dikenal sebagai XP adalah sebuah model pengembangan sistem yang menyederhanakan berbagai tahapan proses pengembangan tersebut agar tercapainya peningkatan efisiensi dan fleksibelitas sebuah proyek pengembangan perangkat lunak. Extreme Programming tidak hanya berfokus pada source code atau coding, tetapi meliputi seluruh area pengembangan.



About

Extreme Programming
       Perkembangan teknologi informasi yang pesat membawa pengaruh yang sangat berarti pada kehidupan manusia dewasa ini. Teknologi informasi memiliki berbagai unsur yang membangunnya menjadi kesatuan yang kokoh. Salah satu unsur teknologi informasi adalah perangkat lunak. Perangkat lunak merupakan kumpulan objek yang membentuk kon gurasi yang dapat berupa program, dokumen, atau data. Perangkat lunak adalah sesuatu yang dikembangkan, bukan dibuat secara pabrikan seperti perangkat keras. Pengembangan perangkat lunak memerlukan langkah-langkah yang tepat, efektif dan e sien untuk menjamin terpenuhinya kebutuhan user. Untuk itulah berkembang berbagai metodologi pengembangan perangkat lunak. Sebelum era 2000-an kita mengenal metodologi waterfall, spiral model, Rapid Application Development, dan masih banyak beberapa lainnya. Semua metodologi tersebut merupakan metodologi yang formal, dalam arti seluruhnya berjalan mengikuti aturan-aturan baku yang telah ditetapkan. Pada era 2000-an mulai berkembang metodologi baru yang sangat eksibel, yaitu Agile Methods. Agile methods merupakan salah satu dari beberapa metode yang digunakan dalam pengembangan sooftware. Agile method adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun. Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana. Agile Method juga dapat diartikan sekelompok metodologi pengembangan software yang didasarkan pada prinsip-prinsip yang sama atau pengembangan system jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun. Agile Software Development juga melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis dan businessmen, antara developer dan managernya. Ciri lain adalah klien menjadi bagian dari tim pembangun software. Ciri-ciri ini didukung oleh 12 prinsip yang ditetapkan oleh Agile Alliance. Menurut Agile Alliance, 12 prinsip ini adalah bagi mereka yang ingin berhasil dalam penerapan Agile Software Development:
  • Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan terus menerus.
  • Menerima perubahan kebutuhan, sekalipun diakhir pengembangan.
  • Penyerahan hasil/software dalam hitungan waktu beberapa minggu sampai beberapa bulan.
  • Pihak bisnis dan pengembang harus bekerja sama setiap hari selama pengembangan berjalan.
  • Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja dalam lingkungan yang mendukun dan yang dipercaya untuk dapat menyelesaikan proyek.
  • Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan e fisien
  • Software yang berfungsi adalah ukuran utama dari kemajuan proyek
  • Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk menjaga perkembangan yang berkesinambungan
  • Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile
  • Kesederhanaan penting
  • Arsitektur, kebutuhan dan desain yang bagus muncuk dari tim yang mengatur dirinya sendiri
  • Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya.
Dua belas prinsip tersebut menjadi suatu dasar bagi model-model proses yang punya sifat agile. Dengan prinsip prinsip tersebur Agile Process Model berusaha untuk menyiasati 3 asumsi penting tentang proyek software pada umumnya:
  • Kebutuhan software sulit diprediksi dari awal dan selalu akan berubah. Selain itu, prioritas klien juga sering berubah seiring berjalannya proyek.
  • Desain dan pembangunan sering tumpang tindih. Sulit diperkirakan seberapa jauh desain yang diperlukan sebelum pembangunan.
  • Analisis, desain, pembangunan dan testing tidak dapat diperkirakan seperti yang diinginkan.
Kelebohan Agile Methods:
  • Meningkatkan kepuasan kepada klien
  • Pembangunan system dibuat lebih cepat
  • Mengurangi resiko kegagalan implementasi software dari segi non-teknis
  • Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.
Agile Methods dikembangkan karena pada metodologi tradisional terdapat banyak hal yang membuat proses pengembangan tidak dapat berhasil dengan baik sesuai tuntutan user. Saat ini metodologi ini sudah cukup banyak berkembang, di antaranya adalah :
  • eXtreme Programming (XP)
  • Scrum Methodology
  • Crystal Family
  • Dynamic Systems Development Method (DSDM)
  • Adaptive Software Development (ASD)
  • Feature Driven Development (FDD)
Pada penulisan buku ini hanya extreme programming yang akan dibahas, karena extreme programming merupakan metodologi yang paling kecil tingkat keformalannya.
  • Sejarah Extreme Programming
Extrem programming dimunculkan untuk menangani perubahan-perubahan yang biasanya sering terjadi pada saat pengembangan berlangsung bahkan pada saat proses pengembangan sudah hampir berakhir. Selainitu XP juga dimunculkan untuk mengatasi berbagai requirements yang tidak jelasdari user. Sebagai sebuahmetodologi untuk mengembangkan peragkat lunak XP tentu memiliki siklus hidup. Siklus hidup pada XP inierdapat lima fase yaitu : Extreme Programming diciptakan oleh Kent Beck selama bekerja di Chrysler MenyeluruhbSistem Kompensasi (C3) proyek penggajian. Beck C3 menjadi pemimpin proyek Maret 1996 dan mulai untuk memperbaiki metode pengembangan yang digunakan dalam proyek dan menulis sebuah buku tentang   metode (pada Oktober 1999, Extreme Programming Explained diterbitkan). Chrysler membatalkan proyek C3 pada Februari 2000, setelah perusahaan diakuisisi oleh Daimler-Benz. Meskipun Extreme Programming itu sendiri adalah relatif baru, banyak dari praktik sudah ada selama beberapa waktu, metodologi, setelah semua, diperlukan praktek terbaik untuk tingkat ekstrem. Sebagai contoh, tes-praktek pembangunan pertama, perencanaan dan tes tertulis sebelum setiap mikro-increment digunakan sebagai awal NASA Project Mercury, pada awal 1960-an (Larman 2003). Refactoring, modularitas, bottom-up dan desain inkremental digambarkan oleh Leo Brodie dalam bukunya yang diterbitkan pada tahun 1984
  • Asal Extreme Programming
Sebagian besar pengembangan perangkat lunak pada 1990-an dibentuk oleh dua pengaruh utama: internal, pemrograman berorientasi objek pemrograman prosedural digantikan sebagai paradigma pemrograman yang disukai oleh beberapa orang dalam industri; eksternal, munculnya internet dan booming dot-com-untuk menekankan kecepatan pasar dan perusahaan-pertumbuhan sebagai faktor bisnis kompetitif. Persyaratan berubah dengan cepat menuntut lebih pendek siklus hidup produk, dan sering tidak sesuai dengan metode tradisional pengembangan perangkat lunak. Chrysler Menyeluruh Sistem Kompensasi dimulai dalam rangka untuk menentukan cara terbaik untuk menggunakan teknologi obyek, dengan menggunakan sistem penggajian di Chrysler sebagai objek penelitian, dengan sebagai bahasa Smalltalk dan batu permata sebagai lapisan akses data. Mereka dibawa di Kent Beck, Smalltalk praktisi terkemuka, untuk melakukan kinerja tuning pada sistem, tetapi perannya diperluas ketika ia melihat adanya beberapa persoalan yang mereka hadapi dengan proses pembangunan mereka. Dia mengambil kesempatan ini untuk mengusulkan dan mengimplementasikan beberapa perubahan dalam praktik mereka didasarkan pada sering bekerja dengan kolaborator, Ward Cunningham. Pertama kali saya diminta untuk memimpin sebuah tim, saya meminta mereka untuk melakukan sedikit hal yang saya pikir itu masuk akal, seperti pengujian dan ulasan. Kedua kali ada lebih banyak di telepon. Saya pikir, Sialan torpedo, setidaknya ini akan membuat artikel yang baik, dan meminta tim untuk mendongkrak semua tombol-tombol untuk 10 pada hal-hal yang saya pikir sangat penting dan meninggalkan segala sesuatu yang lain. -Kent Beck Ron Je ries Beck diundang ke proyek untuk membantu mengembangkan dan memperbaiki metode ini. Je ries kemudian bertindak sebagai pelatih untuk menanamkan praktek-praktek sebagai kebiasaan dalam tim C3. Informasi tentang prinsip-prinsip dan praktek-praktek di belakang XP ini disebarluaskan ke dunia yang lebih uas melalui diskusi di Wiki asli, WikiWikiWeb Cunningham. Berbagai kontributor dibahas dan dikembangkan atas ide-ide, dan beberapa spin-o metodologi yang mengakibatkan (lihat gesit pengembangan perangkat unak). Selain itu, konsep XP telah dijelaskan, selama beberapa tahun, menggunakan sistem teks hiper-peta di website XP di http://www.extremeprogramming.org sekitar tahun 1999 (website XPorg). Beck edited serangkaian buku on XP, mulai dengan dirinya sendiri Extreme Programming Explained (1999, ISBN 0-201-61641-6) , menyebarkan ide-idenya ke yang lebih besar, namun sangat reseptif, penonton. Penulis dalam seri melewati berbagai aspek menghadiri XP dan praktik, bahkan sebuah buku kritis terhadap praktek-praktek. XP cukup menciptakan buzz di akhir 1990-an dan awal 2000-an, melihat adopsi dalam sejumlah lingkungan yang sangat berbeda dari asal-usulnya. Disiplin tinggi yang diperlukan oleh praktek-praktek asli sering pergi di pinggir jalan, menyebabkan beberapa praktik yang dianggap terlalu kaku untuk menjadi usang atau kiri dibatalkan di setiap situs. Praktek-praktek pembangunan tangkas tidak berdiri diam, dan XP masih berkembang, asimilasi lebih banyak pelajaran dari pengalaman di lapangan. Dalam edisi kedua Extreme Programming Dijelaskan, Beck menambahkan lebih banyak nilai-nilai dan praktik-praktik dan dibedakan antara primer dan praktek wajar.
  • Latar Belakang Extreme Programming
Requirement yang berubah dengan cepat menuntut lifecycles yang lebih pendek, dan tidak selaras dengan metoda pengembangan tradisional, yang pada umumnya memerlukan disain luas di awal dan mengakibatkan perubahan desain yang terjadi kemudian memerlukan biaya yang lebih tinggi atau kehilangan milestones. Berdasarkan hal ini kemudian dilahirkan konsep XP yang digagas oleh Kent Beck dan Ward Cunningham pada Maret 1996. Metode XP merupakan yang terpopuler dari beberapa metodologi pengembangan software yang dipakai untuk mengimplementasikan proyek pengembangan perangkat lunak.
  • Pengertian Extreme Programing
Proyek Pemrograman Extreme pertama dimulai 6 Maret 1996. Extreme Programming adalah salah satu dari beberapa Proses Agile populer. Sudah terbukti sangat sukses di banyak perusahaan dari berbagai ukuran dan industri di seluruh dunia.Extreme Pemrograman berhasil karena menekankan kepuasan pelanggan. Alih-alih memberikan semua yang anda mungkin inginkan pada tanggal beberapa jauh di masa depan proses ini memberikan perangkat lunak yang Anda butuhkan saat Anda membutuhkannya. Extreme Pemrograman memberdayakan pengembang Anda untuk percaya diri menanggapi perubahan kebutuhan pelanggan, bahkan terlambat dalam siklus hidup.Extreme Pemrograman menekankan kerja sama tim. Pengelola, pelanggan, dan pengembang semua mitra setara dalam sebuah tim kolaboratif. Extreme Pemrograman menerapkan, sederhana namun efektif yang memungkinkan tim lingkungan menjadi sangat produktif. Tim mengorganisir diri mengatasi masalah untuk menyelesaikannya see sien mungkin.Extreme Pemrograman meningkatkan proyek perangkat lunak dalam lima cara penting; komunikasi, kesederhanaan, umpan balik, rasa hormat, dan keberanian. Extreme Programmer selalu berkomunikasi dengan pelanggan mereka dan programer sesama. Mereka terus desain mereka yang sederhana dan bersih. Mereka mendapatkan umpan balik dengan menguji perangkat lunak mereka dimulai pada hari pertama. Mereka memberikan sistem ke pelanggan sebagai perubahan sedini mungkin dan melaksanakan seperti yang disarankan. Setiap keberhasilan kecil memperdalam rasa hormat mereka atas kontribusi yang unik dari masing-masing dan setiap anggota tim. Dengan dasar Extreme pemrogram dapat berani merespon perubahan kebutuhan dan teknologi.Aspek yang paling mengejutkan dari Extreme Programming adalah aturan sederhana. Extreme Pemrograman sangat mirip jig gergaji teka-teki. Ada banyak potongan-potongan kecil. Individual potongan Extreme Programming adalah metode pengembangan perangkat lunak yang ringan dan termasuk salah satu agile methods yang dipelopori oleh Kent Beck, Ron Je ries, dan Ward Cunningham. Extreme Programming merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal. Sasaran Extreme Programming adalah tim yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan requirements yang sangat cepat.Extreme Programming sebagai sebuah metode yang dinamis diperlihatkan dalam empat values yang dimilikinya dan keempatnya merupakan dasar-dasar yang diperlukan dalam Extreme Programming. Kent Beck menyatakan bahwa tujuan jangka pendek individu sering berbenturan dengan tujuan sosial jangka panjang. Dalam Extreme Programming ada penekanan kuat pada komunikasi informal dan langsung , tes otomatis dan pasangan pemrograman , yang memantau kemajuan pengembangan perangkat lunak , yang memungkinkan umpan balik terus menerus pada skala waktu yang berbeda .Akar XP terletak pada masyarakat Smalltalk dan khususnya, dalam kolaborasi dekat Kent Beck dan Ward Cunningham dimulai padaakhir 1980-an . Keduanya menyempurnakan praktik ini pada berbagai proyek selama awal 1990-an , memperluas ide-ide mereka dari pengembangan perangkat lunak Pendekatan yang kedua adaptif dan berorientasi pada orang langkah dari praktek informal metodologi terjadi pada tahun 1997 ketika Kent Beck berhasil menggunakan XP untuk melaksanakan proyek penggajian untuk Daimler Chrysler. Sejak itu , XP telah berhasil digunakan di banyak perusahaan , seperti Bayerische Landesbank , Kredit Swiss Life, Pertama Union National Bank , Ford Motor Company dan UBS. XP didasarkan pada Beck dan Cunningham pengamatan dari apa yang membuat pengembangan program lebih cepat dan apa yang membuatnya lebih lambat . XP merupakan metodologi penting karena merupakan salah satu dari beberapa metodologi perangkat lunak baru yang diciptakan untuk menghasilkan perangkat lunak berkualitas tinggi dan mengurangi biaya perangkat lunak. Pengalaman ini kemudian diformalkan dan diterbitkan pada tahun 1999 oleh Kent Beck yang mende nisikan satu praktik dapat mewujudkan empat nilai-nilai fundamental yaitu komunikasi, umpan balik, keberanian , kesederhanaan. Extreme programming memiliki lima nilai yaitu :
  • Komunikasi: Nilai ini berfokus pada membangun orang-ke – orang,saling pengertian dari lingkungan

  • masalah melalui minimal resmi dokumentasi dan melalui interaksi tatap muka maksimal . Praktek XP

  • dirancang untuk mendorong interaksi , pengembang – to- developer dan pengembang – ke-pelanggan .
– Kesederhanaan : Nilai ini menantang setiap anggota tim untuk terus bertanya, Apa hal paling sederhana yang mungkin bisa bekerja ? XP berpendapat bahwa lebih baik untuk melakukan hal yang sederhana dan membayar sedikit lebih besok untuk perubahan daripada melakukan lebih rumit,hal hari ini yang mungkin tidak akan pernah digunakan .
– Tanggapan : Dalam extreme programming team mendapatkan umpan balik dengan menguji perangkat lunak mereka,memberikan sistem ke pelanggan sedini mungkin dan mengimplementasikan perubahan dan prioritas seperti yang disarankan oleh umpan balik dari pelanggan .
Keberanian : Pengembang sering mengutip tekanan untuk kapal produk buggy. Itu Dibutuhkan keberanian untuk menolak tekanan ini. Beck juga menyatakan bahwa tim harus berani dan bersedia untuk membuat perubahan di akhir proyek atau bahkan membuang kode dan mulai dari awal lagi.
Menghormati : Jika anggota tim tidak peduli satu sama lain dan pekerjaan mereka , ada metodologi dapat bekerja . Anda harus menghormati kepada rekan-rekan Anda dan kontribusi mereka , untuk organisasi Anda , untuk orang-orang yang hidupnya tersentuh oleh sistem. Beck mengatakan Praktek adalah bukti dari nilai-nilai Tugas yang dapat dijatuhkan jika kita mendapatkan kendala . Dengan cara ini akan tetap margin keamanan dan memecahkan kasus masalah.
Seluruh : Tim tim harus terdiri dari anggota dengan semua keterampilan dan perspektif yang dibutuhkan untuk proyek untuk berhasil . Mereka harusmemiliki rasa yang kuat milik , dan harus membantu satu sama lain . Informatif Workspace : ruang kerja harus dilengkapi dengan poster informatif dan hal-hal lain , memberikan informasi tentang status proyek dan pada tugas-tugas yang akan dilakukan.
Kerja : Berenergi pengembang harus di-refresh , sehingga dapat fokus pada pekerjaan mereka dan menjadi produktif . Akibatnya setiap orang bisa menghabiskan waktu untuk nya atau kehidupan pribadinya sendiri . praktek ini dalam versi lama XP disebut “kecepatan berkelanjutan ” .
Pair : Programming : kode selalu ditulis oleh dua programmer di salah satu mesin . Praktek ini keluar pada extrme programming asli .
Tambahan : Desain extreme programming menentang menghasilkan desain yang lengkap di depan .Tim pengembangan menghasilkan kode sesegera mungkin dalam rangka untuk mendapatkan umpan balik dan memperbaiki sistem terus menerus. Desain diperlukan untuk mendapatkan kode yang baik Pertanyaannya adalah ketika merancang XP menyarankan untuk melakukannya secara bertahap selama coding . Cara membantu memperoleh ini adalah untuk menghilangkan duplikasi dalam kode.
Pemrograman Test- Pertama : sebelum memperbarui dan menambahkan kode perlu untuk menulis tes untuk memveri kasi kode. Hal ini memecahkan empat masalah :
  • Cowboy coding yaitu sangat mudah untuk mendapatkan,dapat dibawa pergi dengan program cepat dan menempatkan semuanya dalam pikiran serta dalam kode. Tes membantu kita fokus pada masalah yang dihadapi dan dapat membuktikan bahwa desain kami adalah benar.
  • Coupling dan kohesi yaitu jika tidak mudah untuk menulis tes , ini berarti bahwa anda memiliki masalah desain , bukan dari pengujian atau coding
  • Kepercayaan yaitu jika Anda menulis kode dokumen dengan tes otomatis , rekan kerja Anda akan mempercayai Anda .
  • Rhythm yaitu mudah untuk tersesat dan mengembara selama berjam-jam ketika kita coding . Jika kita membiasakan diri dengan: tes, kode ,refactor , tes, kode , refactor , itu tidak akan terjadi .
  • Tujuan Extreme Programming
Tujuan utama dalam extreme programming adalah menurunkan biaya dari adanya perubahan software .Dalam metodologi pengembangan sistem tradisional, kebutuhan sistem ditentukan padatahap awal pengembangan proyek dan bersifat xed. Hal ini berarti biaya terhadap adanya perubahan kebutuhan yang terjadi pada tahap selanjutnya akan menjadi mahal. XP diarahkan untuk menurunkan biaya dari adanya perubahan dengan memperkenalkan nilai-nilai basis dasar, prinsip dan praktis. Dengan menerapkan XP, pengembangan suatu sistem haruslah lebih eksibel terhadap perubahan. Sasaran XP adalah tim yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan requirements yang sangat cepat. XP dimunculkan untuk menangani perubahan-perubahan yang biasanya sering terjadi pada saat pengembangan berlangsung bahkan pada saat proses pengembangan sudah hampir berakhir.
  • Kelebihan dan Kelemahan Extreme Programing
Keunggulan :
  •  Menjalin komunikasi yang baik dengan klien. (Planning Phase)
  •  Menurunkan biaya pengembangan (Implementation Phase)
  •  Meningkatkan komunikasi dan sifat saling menghargai antar developer. (Implementation Phase)
  • XP merupkan metodologi yangsemi formal. (Planning Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima, atau dengan
  • kata lain eksibel. (Maintenance Phase)
Kelemahan :
  • Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan
apa yang diperlukan hari itu juga). Selain dari keunggulan dan kelemahan XP yang telah disebutkan diatas, XP juga memiliki keunggulan yang sekaligus menjadi kelemahannya, yaitu XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
  • Prinsip Dasar Extreme Programming
Terdapat lima prinsip dasar yang sangat fundamental dalam Extreme Programming, dimana prinsip -prinsip ini digunakan untuk menentukan apakah semua tindakan/pekerjaan yang telah dilakukan akan sukses atau sebaliknya (dalam konteks Extreme Programming). Kelima prinsip tersebut adalah:
  • Aliran umpan balik (Rapid Feedback)
  • Asumsi kesederhanaan (Asume Simplicity)
  • Penambahan perubahan (Incremental Change)
  • Pemelukan pekerjaan (Embrace Work)
  • Kualitas kerja (Quality Work)
Extreme programming merupakan suatu disiplin ilmu dari software development yang didasarkan pada nilai dari kelima aspek di atas. Dalam extreme programming seluruh team bekerja sebagai satu kesatuan dalam bekerja, dengan feedback yang cukup maka mereka akan mengetahui sudah sampai mana mereka bekerja, dan apabila terdapat sesuatu hal mereka ingin melihat ke belakang tentang apa yang telah dikerjakan mereka dapat menggunakan feedback tersebut. Jadi feedback menyimpan informasi tentang apa apa saja yang telah dilakukan oleh team.Disamping kelima prinsip tersebut terdapat sepuluh prinsip lainnya yang bersifat opsional,namun sebaiknya perlu diperhatikan agar hasil yang dihasilkan memuaskan. kesepuluh prinsip tersebut adalah
  • Teach Learning
  • Small initial investment
  • Play to win
  • Cncrete experiments
  • Open, honest communication
  • Work with people’s instinct not against them
  • Accepted responsibility
  • Local adaptation
  • Travel light
  • Honest measurement
Kegiatan Exreme Programming
Dalam extreme programming menggambarkan empat kegiatan dasar yang dilakukan dalam proses pengembanganperangkat lunak yaitu :
 

– Coding : Pendukung XP berpendapat bahwa satu-satunya benar-benar produk yang penting dari proses pengembangan sistem kode instruksi perangkat lunak komputer dapat menafsirkan. Tanpa kode, tidak ada produk kerja.Coding juga dapat digunakan untuk mengetahui solusi yang paling cocok. Sebagai contoh, XP akan menganjurkan bahwa dihadapkan dengan beberapa alternatif untuk masalah pemrograman, satu kode hanya perlu semua solusi dan menentukan dengan tes yang otomatis solusi yang paling sesuai. Coding juga dapat membantu untuk mengkomunikasikan pikiran tentang masalah pemrograman. Seorang pemrogram berurusan dengan masalah pemrograman yang kompleks dan sulit untuk menjelaskan solusi untuk sesama programer mungkin kode ini dan gunakan kode untuk menunjukkan apa yang dia berarti. Kode, mengatakan para pendukung posisi ini, selalu jelas dan ringkas dan tidak dapat ditafsirkan dengan lebih dari satu cara. Pemrogram lain dapat memberikan umpan balik kode ini oleh juga pengkodean pikiran mereka.

Pengujian : Satu tidak bisa memastikan bahwa fungsi bekerja kecuali satu tes itu. Desain bug dan masalah kesalahan yang meresap dalam pengembangan software. Extreme Programming Pendekatan adalah bahwa jika sedikit pengujian dapat menghilangkan beberapa kekurangan, banyak pengujian dapat menghilangkan banyak kelemahan. Unit tes menentukan apakah tur yang diberikan bekerja sebagaimana dimaksud. Seorang pemrogram menulis sebagai banyak tes otomatis mereka bisa memikirkan yang dapat memecahkan kode; jika semua tes berjalan dengan sukses, maka pengkodean selesai. Setiap potongan kode yang tertulis diuji sebelum pindah ke tur berikutnya. * Tes Penerimaan memveri kasi bahwa persyaratan sebagaimana yang dipahami oleh para programer memenuhi persyaratan pelanggan yang sebenarnya. Ini terjadi pada tahap eksplorasi perencanaan rilisSebuah testathon adalah sebuah peristiwa ketika programmer bertemu untuk melakukan tes kolaboratif menulis, semacam brainstorming relatif terhadap pengujian perangkat lunak.

– Mendengarkan : Programmer harus mendengarkan apa yang pelanggan membutuhkan sistem untuk melakukan, apa yang logika bisnis diperlukan. Mereka harus memahami kebutuhan-kebutuhan ini cukup baik untuk memberikan umpan balik pelanggan tentang aspek teknis bagaimana masalah bisa dipecahkan, atau tidak dapat dipecahkan. Pemahaman masalah nya. Komunikasi antara pelanggan dan pemrogram adalah dibahas lebih lanjut dalam The Perencanaan Game.

– Merancang : Dari sudut pandang kesederhanaan, orang bisa mengatakan bahwa pengembangan sistem tidak membutuhkan lebih dari coding, pengujian dan mendengarkan. Jika kegiatan tersebut dilakukan dengan baik, hasilnya harus selalu menjadi sistem yang bekerja. Dalam prakteknya, ini tidak akan bekerja. Satu dapat datang jauh tanpa merancang tetapi pada waktu tertentu seorang pun akan terjebak. Sistem menjadi terlalu kompleks dan dependensinya di dalam sistem berhenti menjadi jelas. Satu dapat menghindari hal ini dengan menciptakan sebuah desain struktur yang mengatur logika dalam sistem. Desain yang baik akan menghindari banyak dependensi dalam sistem ini berarti bahwa mengubah salah satu bagian dari sistem tidak akan mempengaruhi bagian lain dari sistem.



Tidak ada komentar:

Posting Komentar