Sejarah Perkembangan Extreme Programming

dokumen-dokumen yang mirip
Extreme Programming Melakukan Pengembangan Perangkat Lunak dengan Lebih Sederhana

Software Development Life Cycle (SDLC)

Extreme Programming Melakukan Pengembangan Perangkat Lunak dengan Lebih Sederhana

REQUIREMENTS MANAGEMENT PADA EXTREME PROGRAMMING

BAB 1 PENDAHULUAN. 1.2 Ruang Lingkup Penelitian Batasan-batasan masalah pada penelitian ini adalah :

Pengembangan Sistem Informasi

SOFTWARE PROCESS MODEL

STMIK AMIKOM YOGYAKARTA

Pengembangan Sistem Informasi

Metodologi Pengembangan Sistem Informasi

SDLC Concepts. Muhammad Yusuf D3 Manajemen Informatika Universitas Trunojoyo

SIKLUS REKAYASA PERANGKAT LUNAK (SDLC)

Teknik Informatika S1

STMIK AMIKOM YOGYAKARTA

Jenis Metode Pengembangan Perangkat Lunak

MODUL 4 Unified Software Development Process (USDP)

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

Bahan Ajar Rekayasa Perangkat Lunak Agile Software Development Disiapkan oleh Umi Proboyekti

Pertemuan 3 Metodologi Pengembangan Sistem Informasi

Sistem Pakar. Tahap-tahap Pengembangan Sistem Pakar. Kelas A & B. Jonh Fredrik Ulysses

BAB 1 PENDAHULUAN 1.1 Latar Belakang 1.2 Identifikasi Masalah

Teknik Informatika S1


BAB II TINJAUAN PUSTAKA. konsep, fakta, termasuk simbol-simbol serta aturan agar mempunyai makna.

PENGANTAR RUP & UML. Pertemuan 2

SDLC SYSTEM DEVELOPMENT LIFE CYCLE. Materi ke-2. Pengembangan Sistem Informasi 5KA28 // 4KA14

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Genap Tahun 2009/2010

PROSES DESAIN. 1. Metodologi Pengembangan Sistem

Apakah yang dimaksud Tangguh?

BAB III METODE PENELITIAN

BAB 1 PENDAHULUAN 1.1 Latar Belakang

MANAJEMEN PROYEK DALAM PRAKTEK

BAB 1 PENDAHULUAN. yang bermanfaat guna mendukung pengambilan keputusan secara tepat dan

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

Rational Unified Process (RUP)

LANGKAH-LANGKAH MEMBUAT SOFTWARE MENURUT RUP

The Process. A Layered Technology. Software Engineering. By: U. Abd. Rohim, MT. U. Abd. Rohim Rekayasa Perangkat Lunak The Process RPL

2. RUANG LINGKUP Semua produk perangkat lunak dan hasil-hasil pemutakhiran yang dikeluarkan oleh tiap unit di IPB.

BAB III OBJEK DAN METODE PENELITIAN. domain & Web Hosting. Untuk lebih jelas mengenai gambaran umum perusahaan,

Rapid Application Development

PENDAHULUAN PENGEMBANGAN SISTEM INFORMASI

BAB I PENDAHULUAN. hal proses pengolahan data, baik itu data siswa, guru, administrasi sekolah maupun data

ANALISA & PERANCANGAN SISTEM

Systems Development Life Cycle (SDLC)

System Development Life Cycle (SDLC)

REKAYASA PERANGKAT LUNAK I

TUGAS KLIPING SISTEM INFORMASI MANAJEMEN V-MODEL

Tugas Softskill. Universitas Gundarma. : Sistem Informasi Manajemen. : Waldhi Supriono NPM : Kelas : 2 DB 12

Manajemen Proyek Sistem Informasi DAY-1. Wiratmoko Yuwono, ST

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Rancang Bangun Sistem Informasi Praktik Kerja Lapangan Pada Program Studi Teknik Informatika Universitas Mataram Menggunakan Extreme Programming

BAB III METODOLOGI PENELITIAN

IMPLEMENTASI METODE FUNCTION POINT UNTUK PREDIKSI BIAYA DEVELOPMENT PERANGKAT LUNAK

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar belakang

BAB 1 PENDAHULUAN 1.1 Latar Belakang

Rekayasa Perangkat Lunak

Pengelolaan Proyek PPSI. Part 1 Part 2 Part 3

BABI PENDAHULUAN. Perkembangan teknologi informasi dan sistem informasi (TI/SI) memberikan

BAB 1 PENDAHULUAN. satunya adalah dalam dunia pendidikan. Dalam dunia pendidikan, game banyak

BAB 1 PENDAHULUAN 1.1 Latar Belakang

APLIKASI HUMAN RESOURCE MANAGEMENT SYSTEM BERBASIS WEB PADA IT DIVISION BINA NUSANTARA

1. BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PERANAN TEAM SOFTWARE PROCESS PADA REKAYASA PERANGKAT LUNAK

BAB 1 PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN. Saat ini penggunaan teknologi dan informasi sangat diperlukan bagi setiap

PERTEMUAN 2 METODE PENGEMBANGAN SISTEM

SISTEM INFORMASI MONITORING BARANG LAUNDRY MENGGUNAKAN ALGORITMA NAÏVE BAYES UNTUK MEMPREDIKSI WAKTU PENGERJAAN BARANG LAUNDRY DI CV BENAYA

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. karya tulis. Berbagai aplikasi seperti Ms. Word, Notepad, maupun Open Office

BAB 1 PENDAHULUAN Latar Belakang

Manajemen Proyek Perangkat Lunak Minggu 1

BAB 1 PENDAHULUAN 1.1 Latar Belakang

Manajemen Proyek. Bima Cahya Putra, M.Kom

PERTEMUAN 2 METODE PENGEMBANGAN SISTEM

Metodologi pengembangan sistem METODOLOGI PENGEMBANGAN SISTEM INFORMASI DIAN PALUPI RINI, M.KOM 1

STRATEGI. KONTEKS ORGANISASI STRATEGI, STRUKTUR, dan BUDAYA STRATEGIC MANAGEMENT. Konsep dan Proses Manajemen Proyek Sistem Informasi

DASAR-DASAR PERANCANGAN PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK I ALIF FINANDHITA, M.T. - TEKNIK INFORMATIKA UNIKOM 1

BAB 1 PENDAHULUAN. semakin meningkat. Hal ini menyebabkan para pengembang smartphone. memenuhi kebutuhan dan meningkatkan produktivitas masyarakat.

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Proses Pengembangan 1

REKAYASA PERANGKAT LUNAK MATERI TM 12

BAB 1 PENDAHULUAN. tersebut adalah metode pemodelan (notation), proses (process) dan tool yang

Unified Process Model & Agile Development Process Model

BAB I PENDAHULUAN. Dari tahun ke tahun sudah tidak dapat dipungkiri bahwa teknologi informasi

PERANGKAT LUNAK PENGOLAHAN NILAI SISWA PADA SEKOLAH MENENGAH ATAS (STUDI KASUS DI SMA YADIKA SUMEDANG)

Nilai Partisipasi Rata-rata (NPR) adalah rata-rata dari NPI dalam satu kelompok. Rumusan NIPK adalah sebagai berikut:

SOFTWARE PROCESS & METHOD

Rekayasa Perangkat Lunak (Software Engineering)

BAB III DASAR TEORI 3.1 Manajemen Risiko

BAB II LANDASAN TEORI. Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling

Kegagalan dalam Pengembangan maupun Penerapan Sistem Informasi di Organisasi (Merujuk Pendapat Rosemary Cafasso)

PERTEMUAN 5. Pengujian (testing) aplikasi website

BAB 1 PENDAHULUAN. Excel dalam mencatat aliran data transaksi perusahaan. Penggunaan program

UNIVERSITAS MERCU BUANA. Modul Perkuliahan Pertemuan ke 2

BUANA FAKULTAS PROGRAM STUDI

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

THE SOFTWARE PROCESS

BUSINESS CASE. Pembuatan Sistem Informasi SAU2 ( Simple Aplikasi Untuk User )

Transkripsi:

BAB I OVERVIEW Extreme Programming atau dikenal XP adalah suatu metode dalam membangun software yang dikembangkan oleh Agile Software Development. Pada metode pengembangan perangkat lunak Extreme Programming atau XP ini didasari oleh empat nilai, yaitu bagaimana pengembangan perangkat lunak dilakukan yang didasarkan pada : 1. komunikasi 2. kesederhanaan 3. umpan balik 4. keberanian XP yang merupakan singkatan dari Extreme Programming ialah merupakan suatu teknologi baru dari software development, yang telah digunakan sejak 8 tahun yang lalu. Tidak seperti metode-metode software development yang lain seperti contoh Rational Unified Process (RUP), metodologi yang baru ini lebih menekankan pada perubahan dinamis dari user requirements. Metode ini hanya memerlukan waktu dan programmer yang relatif sedikit dalam pelaksanaannya. Extreme Programming atau XP, adalah suatu aturan dari pengembangan yang didasarkan pada prinsip kesederhanaan, komunikasi, feedback, dan keberanian. XP didesain untuk digunakan oleh sekelompok tim kecil yang membutuhkan pengembangan perangkat lunak secara cepat di dalam lingkungan dimana requirement-pun berubah secara cepat pula. Extreme Programming (XP) merupakan suatu metodologi yang memungkinkan kita untuk membangun dan melakukan pengujian secara cepat terhadap sistem tanpa mengorbankan kualitas. Dalam beberapa tahun ini, para pengembang telah membuat atau mengembangkan Java XP tools, dari XDoclet, Maven, AntHill, dan Eclipse untuk Ant, JUnit, and Cactus. Yang menarik untuk diperhatikan adalah bahwa Extreme Programming muncul sebagai pemimpin metodologi pemrograman. Hal ini akan terlihat jika pemrograman dilakukan berdasarkan trial and error programming! 1

Sejarah Perkembangan Extreme Programming XP dikembangkan oleh Kent Beck, yang menulis buku yang berjudul extreme Programming explained. Dua buku yang barunya akan dipasarkan pada bulan Oktober ini. Proses instalasi Extreme Programming dilakukan oleh Ron Jeffries, Ann Anderson, dan Chet Hendrickson. Sedangkan Planning Extreme Programming dilakukan oleh Kent Beck dan Martin Fowler. Buku yang ditulis oleh Kent Beck yang berjudul extreme Programming explained ini memberikan gambaran high-level dari metode pengembangan perangkat lunak Extreme Programming (XP). Dibuat untuk IS managers, project leaders, atau programmers, buku pedoman ini memberikan gambaran singkat mengenai prinsip-prinsip XP dan keuntungan-keuntungan XP yang dapat digunakan mulai dari tim pengembang yang berskala kecil, menengah, sampai besar. 2

BAB II EMPAT VALUE XP Penggunaan XP berdasarkan atas empat nilai (value) yaitu : (1) Communication (Komunikasi), (2) Simplicity (Kesederhanaan), (3) Feedback, dan (4) Courage. Adapun penjelasan dari empat nilai (value)diatas adalah sebagai berikut : 1. Communication (Komunikasi) Komunikasi menekankan pada pendekatan yang lebih menekankan pada pembicaraan orang per orang secara langsung, dimana hal tersebut akan lebih baik daripada hanya berdasarkan pada dokumen yang menjelaskan tentang software yang dibangun. Dan juga, kemungkinan penggunaan dari beberapa parktis XP sehingga dibutuhkan alokasi waktu yang banyak untuk berkomunikasi dengan costomer. 2. Simplicity (Kesederhanaan) Simplicity adalah sebuah nilai (value) dari XP yang digunakan untuk memberikan solusi dari problem atau permasalahan yang dihadapi oleh customer sehingga problem atau masalah tersebut bisa disederhanakan. Kedua pihak yaitu pengembang (developer) dan pemesan (customer) bisa mengerti solusi software jika itu tidak nyata, dimana solusi tersebut merupakan kandidat untuk praktis yang lain yang disebut dengan Refactoring (salah satu inti dari praktis XP). Yang pasti, Simple Design (salah satu inti dari praktis XP) merupakan sebuah paktis yang memberikan kontribusi bagi nilai Simplicity. 3. Feedback Feedback berarti bahwa segala sesuatu yang telah dilakukan atau dicapai dievaluasi dengan respect/reaksi untuk mengetahui bagaimana agar pekerjaan tersebut berjalan dengan baik dan menghasilkan software yang sesuai dengan kebutuhan customer. Pernyataan Bagaimana agar pekerjaan tersebut berjalan dengan baik mengindikasikan bahwa feedback diperoleh dari evaluasi setiap bagian pekerjaan dari solusi. Feedback, yang merupakan hasil kerja dari Nyquist di Laboratorium Bell pada awal tahun 1930, digunakan untuk 3

menjamin bahwa solusi tersebut adalah benar. Pada saat engineers(insinyur) mulai mempelajari feedback, hal tersebut telah menjadi salah satu jalan dalam mencari solusi dari suatu masalah. 4. Courage Courage berarti bahwa pihak pengembang mempersiapkan segala sesuatunya untuk membuat keputusan yang sangat penting yang mendukung praktis XP pada saat membangun dan merelis(meluncurkan) software kepada customer untuk masing-masing iterasi. Hal ini sangat menentukan untuk melihat apakah hasil dari suatu iterasi tersebut sudah sesuai dengan requirement (permintaan), bila ternyata hal tersebut belum sesuai maka pihak developer akan meminta waktu untuk meninjau kembali modul-modul yang telah dibuat guna melakukan penyesuaian. Ada 2 jalan penting yang bisa ditempuh oleh tim developer dalam meluncurkan small releases, yaitu : Pertama, tim akan menjalankan releases tersebut, melakukan pengujian terhadap perangkat lunak, dan mengirimkan nilai bisnis yang telah dipilih oleh customer, untuk setiap iterasinya. Customer bisa menggunakan perangkat lunak ini untuk tujuan lain, apakah akan dievaluasi atau akan dilepas kepada end user. Aspect yang paling penting adalah bahwa perangkat lunak tersebut ada, dan diberikan kepada customer, pada akhir setiap iterasi. Kedua, Tim developer XP melepaskan release ke end user. Web project XP diluncurkan setiap hari, di dalam software house setiap bulan atau lebih sering lagi. Empat inti dari nilai tersebut diimplementasikan dengan 12 inti dari praktis yaitu : (1) Planning Game, (2) Pair Programming, (3) System Metaphor, (4) Simple Design, (5) Coding Standards, (6) Collective Code Ownership, (7) Refactoring, (8) On-Site Customer, (9) Test-Driven Development, (10) Continuous Integration, (11) Small Releases, and (12) Sustainable Pace. Laporan ini difokuskan pada penyatuan metode architecture-centric ke dalam proses-proses seperti XP. Disini tidak ada definisi dari sebuah siklus hidup pembangunan architecture-centic di dalam kamus XP, jadi kita menggunakan list dari aktivitas architecture-centric yang dibangun oleh Bass Clements, dan Kazman yang ditunjukkan oleh gambar dibawah. 4

Architecture-centric development involves iteratively : Menyusun kasus bisnis dari system Mempelajari requirement (permintaan) Membuat atau menyeleksi arsitektur dari perangkat lunak Mendokumentasikan dan berkomunikasi dengan arsitektur perangkat lunak Menganalisa dan mengevaluasi arsitektur perangkat lunak Mengimplementasikan dasar sistem ke dalam arsitektur perangkat lunak Menjamin bahwa implementasi bisa menyesuaikan diri dengan arsitektur perangkat lunak Gambar: Aktivitas siklus hidup dari pembangunan architecture-centric 5

BAB III 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: 1. Aliran umpan balik (Rapid Feedback). 2. Asumsi kesederhanaan (Asume Simplicity). 3. Penambahan perubahan (Incremental Change). 4. Pemelukan pekerjaan (Embrace Work). 5. 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: 1. Teach Learning. 2. Small initial investment. 3. Play to win. 4. Cncrete experiments 5. Open, honest communication. 6. Work with people s instinct not against them. 6

7. Accepted responsibility. 8. Local adaptation. 9. Travel light 10. Honest measurement. 7

BAB IV EMPAT AKTIVITAS DALAM XP Empat aktivitas yang dilakukan dalam XP adalah sebagai berikut : 1. ExtremeListening Pada aktivitas ini kostumer berpartisipasi dalam sebuah Planning Game (salah satu praktis dalam XP). Kemudian tim pembangun (development team) mewawancarai kostumer untuk menentukan User Story (kebutuhan-kebutuhan kostumer terhadap software) mengenai bagaimana sistem bekerja.user stories yang telah didapat kemudian digabungkan atau dibagi-bagi menjadi sebuah story yang dapat digambarkan dalam bentuk kartu Crc, dan dilengkapi oleh programmer yang berpasangan selama satu siklus (biasianya sekitas tiga minggu). Kemudian kostumer memprioritaskan dari story tersebut yang telah dibuat dalam sesuai dengan nilai bisnis dari User Story, kemudian hasil dari prioritas tersebut disimpan dalam jadwal yang didasarkan pada sumber development yang tersedia. Hal ini menandakan kostumer mempunyai sebuah rencana yang telah tepat. Setelah setiap release, sejauh ini kostumer mempunyai sebuah sistem yang bekerja berdasarikan story yang telah lengkap, mereka tidak harus menunggu untuk sesuatu yang besar dilakukan seluruhnya untuk memulai penggunaan fungsionalitas awal. Kelompok pembangun mengidentifikasi story-story mana yang yang beresiko untuk melengkapinya pada waktunya (terutama karena kurangnya pengalaman dalam pengkodingan) dan melakukan berdasarkan kepada sebuah Spike Solution. Catatan khusus dalam Listening : kita melakukan listening dalam dua cara : 1. UserStories. (sama dengan "use cases".) di dalam kartu-kartu, kostumer menuliskna stories (kebutuhan-kebutuhan) yang menggambarkan bagaimana segala sesuatu bekerja. Kita mempunyai beratus-ratus kartu yang menggambarkan produk. 2. AcceptanceTests. Ini adalah uses case tungga yang khusus dengan mengharapkan jawaban-jawaban yang diberikan oleh kostumer. 8

2. Extreme Design XP menyandarkan pada tes pengendalian pembangunan untuk pengulangan dalamnya. Ini memompa kepada pengulangan luar, dan membuat politik akhir dari kemungkinan XP. Perjanjian secara otomatis dipelihara. Programmer tes yang ditulis yang mana sebuah software yang berhasil akan dapat dikeluarkan. Pertama, test yang gagal karena software belum ditulis. Sebuah rancangan yang sederhana yang dibangun dengan melukan simple st Thing (penyederhanaan sesuatu) yang mana memungkinkan untuk dites. Perancangan yang besar dihindari karena kostumer tidak membutukkannya. Bagaimanapun juga, sekali simplest thing (penyederhanaan sesuatu) dilakukan para programmer merefakto Mercilessly, karena diakhir sesuatu harus diekspresikan sekali dan hanya sekali. 3. Extreme Coding XP melibatkan programmer yang berpasangan yang bekerja bersama-sama dalam memprogram, jadi seluruh development team menerima layanan pengkodean. Mereka menggunana tes pengendali development untuk test kode pertama 4. ExtremeTesting Setelah pengkodean melewati test programmer, praktis pengintegrasian bersambung, dari release dan melakukan acceptance test untuk memeriksa bahwa software telah memenuhi kebutuhan kostumernya. BAB V 12 PRAKTIS XP 9

1. The Planning Process The Planning Process, kadang-kadang disebut dengan Planning Game. The XP Planning Process mengijinkan XP " pelanggan" untuk menggambarkan nilai bisnis itu dari corak yang diinginkan, dan perkiraan biaya penggunaan yang disajikan oleh para programmer, untuk memilih apa yang perlu untuk dilaksanakan dan apa yang perlu untuk ditunda. Efek dari proses perencanaan XP's adalah bahwa mudah untuk mengemudi proyek [itu] ke arah sukses. XP perencanaan menunjuk dua pertanyaan kunci di dalam pengembangan software: penggambaran kesimpulan apa yang akan terpenuhi oleh tanggal jatuh tempo, dan menentukan harus berbuat apa berikutnya. Penekanan adalah pada Pengendalian proyek yang mana adalah secara langsung dibanding pada perencanaan yang tepat dari apa yang akan diperlukan dan berapa lama itu akan diperlukan yang dalam hal ini cukup sulit. Ada dua langkah-langkah perencanaan kunci di (dalam) XP, menujukan dua pertanyaan berikut: A. Release Planning adalah suatu praktek di mana Pelanggan memberikan corak yang diinginkan kepada para programmer, dan para programmer menaksir kesukaran mereka. Dengan biaya-biaya yang telah ditaksir, dan dengan pengetahuan pentingnya corak, Denah Pelanggan suatu rencana untuk proyek itu]. Release Planning Awal perlu jelas: bukan prioritas maupun perkiraan sungguh-sungguh padat, dan sampai regu mulai untuk bekerja, kita tidak akan mengetahui sekedar bagaimana cepat mereka akan melakukannya. Bahkan Release Planning yang pertama adalah yang cukup akurat untuk pengambilan keputusan, bagaimanapun, dan XP regu meninjau kembali Release Planning itu secara teratur. B. Iteration Planning adalah praktis dengan mana regu diberi arahan tiap pasang dalam mingguan. XP regu membangun perangkat lunak di dalam dua mingguan " Iteration Planning", pengiriman menjalankan perangkat lunak bermanfaat pada akhir Iteration Planning masing-masing. Selama Perencanaan Iteration Planning, Pelanggan memberikan corak itu yang diinginkan untuk dua minggu yang berikutnya. Para programmer masuk ke dalam tugas, dan menaksir biaya mereka ( pada suatu pendenda tingkat detil dibanding iteration Planning). yang didasarkan pada Jumlah pekerjaan memenuhi Iteration 10

Planning yang sebelumnya, regu menandatangani kontrak untuk yang akan dikerjakan yang iteration Planning yang sekarang. 2. Small Releases XP regu menaruh suatu sistem sederhana ke dalam produksi awal, dan membaharuinya dengan frekuensi suatu siklus yang sangat pendek. XP regu praktis small releases di dalam dua jalur yang penting yaitu : Pertama, regu releases yang menjalankan,pengujian perangkat lunak, nilai bisnis pengiriman yang terpilih oleh Pelanggan, tiap-tiap iteration. Pelanggan dapat menggunakan perangkat lunak ini untuk hal-hal lain, apakah evaluasi atau melepaskan ke pemakai akhir ( yang sangat direkomendasikan). Aspek yang paling utama adalah bahwa perangkat lunak adalah visible, dan diberikan kepada pelanggan, pada akhir tiap iteration. Segalanya dijaga terbuka dan terukur. Ke dua, XP regu melepaskan kepada pemakai akhir mereka yang sering juga. XP Web merancang release setiap kali sehari-hari, di dalam house projects bulanan atau lebih. Bahkan produk shrink-wrapped dikirimkan setiap kali triwulanan. 3. Metaphor XP regu menggunakan suatu yang]umum " system of names " dan suatu uraian sistem umum yang memandu pengembangan dan komunikasi. Regu Extreme Programming kembangkan suatu visi yang umum bagaimana program bekerja, yang kita sebut " metaphor". Paling baik nya, metaphor adalah suatu uraian yang membangkitkan ingatan sederhana bagaimana program bekerja, seperti " program ini bekerja seperti suatu sarang lebah, perjalanan tepung sari berusaha untuk dan mengembalikan kepada sarang" sebagai uraian untuk suatu sistem pengembalian informasi agent-based. Kadang-Kadang suatu metaphor yang puitis tidak muncul. Setidak-Tidaknya, dengan atau tanpa perumpamaan hidup, XP regu menggunakan suatu sistem yang umum menyebut untuk menjadi yakin bahwa semua orang memahami bagaimana pekerjaan sistem dan di mana untuk menantikan temukan kemampuan itu kamu sedang mencari, atau untuk temukan sasaran yang tepat itu untuk menaruh kemampuan itu kamu mulai menambahkan. 11

4. Simple Design Suatu program membangun dengan XP harus merupakan program yang paling sederhana yang menyesuaikan dengan kebutuhan yang sekarang itu. Adalah tidak banyak bangunan " untuk masa depan". Sebagai gantinya, fokus adalah untuk menyediakan nilai bisnis. Tentu saja itu adalah diperlukan untuk memastikan bahwa kamu mempunyai suatu disain baik, dan di dalam XP ini adalah disempurnakan melalui " refactoring". Disain XP bukanlah hal yang dilakukan suatu waktu saja, atau suatu hal yang dibuat sekali saja, itu adalah suatu all-the-time hal. Ada langkah-langkah disain di dalam release planning dan iteration planning, regu lebih terlibat dalam sesi disain cepat dan revisi disain melalui refactoring, melalui keadaan itu keseluruhan proyek. Di dalam suatu incremental, iterative memproses seperti Extreme Programming, disain baik adalah penting. itu adalah mengapa banyak fokus pada disain sepanjang seluruh keadaan itu adalah keseluruhan pengembangan. 5. Testing XP regu memusatkan pada pengesahan perangkat lunak terus menerus. Para programmer mengembangkan perangkat lunak dengan penulisan test dulu, kemudian perangkat lunak yang memenuhi kebutuhan itu mencerminkan test itu. Pelanggan menyediakan test penerimaan yang memungkinkan mereka pastinya bahwa corak yang mereka kebutuhan disajikan. Extreme Programming dipengaruhi dengan umpan balik, dan di dalam pengembangan software, umpan balik baik memerlukan pengujian baik. Top Xp Regu praktis " test-driven development", bekerja siklus yang sangat pendek dengan menambahkan suatu test, kemudian pembuatan itu bekerja. Hampir sebagian kecil, regu menghasilkan kode dengan pemenuhan hampir 100 persen menguji, yang mana adalah suatu langkah maju dalam pembuatan perangkat lunak. ( Jika para programmer mu telah melakukan lebih pengujian canggih lagi, lebih kuat kepada kamu. Lanjutkan atau jaga, itu hanya dapat membantu!) Itu bukan cukup untuk menulis test: kamu harus menjalankannya. Di sini, juga, Extreme Programming adalah ekstrim. Ini " test programmer", atau " test unit" adalah semua dikumpulkan bersama-sama, dan setiap kali manapun programmer melepaskan manapun kode kepada tempat penyimpanan ( dan memasangkan secara khas melepaskan dua kali suatu hari atau lebih ), tiap-tiap tunggal salah satu dari programmer test harus menjalankan dengan 12

tepat. Seratus persen, sejak semula! makna ini yang para programmer mendapatkan umpan balik segera pada bagaimana mereka adalah yang melakukan. Apalagi, test ini menyediakan pendukungan tidak ternilai sebagai disain perangkat lunak ditingkatkan. 6. Refactoring XP regu meningkatkan perancangan sistem sepanjang keseluruhan pengembangan. Ini adalah dilaksanakan dengan pemeliharaan perangkat lunak dan membersihkannya: tanpa duplikasi, dengan komunikasi tinggi, sederhana, namun lengkap. The refactoring process memusat pada kepindahan duplikasi ( suatu tanda dari disain lemah atau kurang), dan pada meningkatkan " kohesi" tentang kode, selagi menurunkan " penggabungan". Kohesi tinggi dan penggabungan rendah telah dikenali ketika tanda dari kode dirancang dengan baik untuk sedikitnya tiga puluh tahun. Hasilnya adalah bahwa XP regu mulai dengan suatu disain sederhana yang baik, dan selalu mempunyai suatu disain yang sederhana tetapi baik untuk perangkat lunak itu. Ini mendukung kecepatan pengembangan mereka, dan sesungguhnya biasanya meningkatkan kecepatan sebagai proyek kedepannya. 7. Pair Programming Programmer XP menulis semua kode produksi berdua, dua programmer bekerja bersama dalam satu mesin. Pasangan Programming telah ditunjukkan oleh banyak eksperimen untuk menghasilkan perangkat lunak lebih baik yang serupa atau menurunkan biaya dibanding para programmer bekerja sendiri. Semua perangkat lunak produksi di dalam XP dibangun oleh dua para programmer, duduk berdampingan, di mesin yang sama. Praktis ini memastikan bahwa semua kode produksi ditinjau oleh sedikitnya satu programmer yang lain, dan mengakibatkan disain lebih baik, lebih baik pengujiannya, dan kode lebih baik. Beberapa programmer menolak untuk memasangkan programming tanpa pernah berusaha. Itu mengambil beberapa keuntungan dengan baik, dan kamu memerlukan melakukan itu baik bagi beberapa minggu untuk lihat hasilnya. Sembilan puluh persen para programmer yang belajar berpasangan yang memprogram menyukai itu, maka kita sangat merekomendasikannya kepada semua regu. 13

Memasangkan, sebagai tambahan terhadap menyediakan kode lebih baik dan test, juga melayani untuk komunikasi pengetahuan terhadap seluruh regu. Seperti memasangkan tombol, semua orang mendapat keuntungan-keuntungan dari orang yang memiliki pengetahuan khusus. Para programmer belajar, ketrampilan mereka meningkat, mereka menjadi bergerak ke arah yang lebih baik kepada regu dan kepada perusahaan itu. Memasangkan, bahkan pada di luar sendiri XP, adalah suatu kemenangan besar untuk semua orang. 8. Collective Ownership Semua kode kepunyaan semua para programmer itu. Ini menyebabkan regu itu bergerak secepat-cepatnya, sebab ketika sesuatu yang dibutuhankan berubah, itu dapat diubah dengan segera. Pada suatu proyek Extreme Programming, pasangan dari programmer dapat meningkatkan kode apapun pada setiap waktu. makna ini bahwa semua kode mendapatkan manfaat dari banyak perhatian dari semua orang, yang meningkatkan kode yang berkwalitas dan mengurangi cacat. Ada manfaat penting yang lain juga: kapan kode dimiliki oleh individu, corak yang diperlukan adalah sering disalahkan tempat, ketika satu programmer menemukan bahwa ia memerlukan suatu corak di suatu tempat di dalam kode yang ia tidak memiliki. Pemilik adalah terlalu sibuk untuk melakukannya, sehingga programmer menaruh corak itu di dalam kode miliknya, dimana itu bukan dari bagiannya. Ini mengarahkan ke arah yang buruk, hard-to-maintain kode, penuh dengan duplikasi dan dengan rendah ( tidak baik) kohesi. 9. Continuous Integration XP regu mengintegrasikan dan membangun sistem perangkat lunak itu berulang kali per hari. Ini menampung para programmer itu pada halaman yang sama, dan memungkinkan kemajuan yang sangat cepat. Mungkin permasalahannya, mengintegrasikan lebih sering cenderung untuk menghapuskan permasalahan pengintegrasian.hal itu mempengaruhi regu yang mengintegrasikan lebih sedikit. 14

10. 40-hour Week Kelelahan dari Para programmer dikhawatirkan membuat banyak kesalahan. XP regu tidak bekerja lembur berlebihan, untuk menjaga diri mereka agar tetap konsentrasi, sehat, dan efektif. 11. On-site Customer Suatu XP proyek yang dijalankan oleh suatu individu dilakukan untuk menentukan kebutuhan, menetapkan prioritas, dan pertanyaan jawaban ketika para programmer mempunyai hal itu. Efeknya menjadi ada komunikasi yang meningkatkan, dengan lebih sedikit hard-copy dokumentasi-sering salah satu dari yang paling mahal bagian-bagian dari suatu proyek perangkat lunak. 12. Coding Standard Karena suatu regu untuk bekerja secara efektif secara berdua, dan untuk berbagi kepemilikan dari semua kode, semua para programmer harus tulis kode itu dengan cara yang sama, dengan aturan yang meyakinkan kode itu dapat dikomunikasikan dengan jelas. 15