Minggu, 30 September 2018

INCREMENTAL MODEL


KELOMPOK 4
INCREMENTAL MODEL
1.      Pengertian Incremental Model 
Model incremental adalah menggabungkan elemen-elemen model sekuensial linier (diimplementasikan secara berulang) dengan filosofi prototype interatif. Model ini memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu kalender. Setiap urutan linier menghasilkan pertambahan perangkat lunak yang kemudian dapat disampaikan kepada pengguna.

2.      Tahapan Incremental Model
Pada awal tahapan dilakukan penentuan kebutuhan dan spesifikasi,Kemudian dilakukan perancangan arsitektur software yang terbuka, agar dapat diterapkan pembangunan per-bagian pada tahapan selanjutnya.

a. Requirement adalah proses tahapan awal yang dilakukan pada incremental model adalah penentuan kebutuhan atau analisis kebutuhan.

b. Specification adalah proses spesifikasi dimana menggunakan analisis kebutuhan sebagai acuannya.

c. Architecture Design adalah tahap selanjutnya, perancangan software yang terbuka agar dapat diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.

d. Code setelah melakukan proses desain selanjutnya ada pengkodean.

e.  Test merupakan tahap pengujian dalam model ini.

f.  Pada saat model incremental (pertambahan) ini digunakan, pertambahan pertama sering merupakan produk inti (core product), yaitu sebuah model pertambahan yang dipergunakan, tetapi beberapa muka tambahan (beberapa diketahui dan beberapa tidak) tetap tidak disampaikan.

g.  Model proses incremental tersebut, seperti model prototype dan pendekatan-pendekatan evolusioner yang lain, bersifat iterative. Tetapi tidak seperti model prototype, model pertambahan berfokus pada penyampaian produk operasional dalam setiap pertambahannya.

h. Perkembangan pertambahan, khususnya berguna pada saat staffing, tidak bisa dilakukan dengan menggunakan implementasi lengkap oleh batasan waktu bisnis yang sudah disepakati untuk proyek tersebut.

3.      Karakteristik incremental
  •   kombinasikan element-element dari waterfall dengan sifat iterasi/perulangan.

  • element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya. Demikian seterusnya hingga semua spesifikasi memenuhi kebutuhan yang ditetapkan oleh pengguna.

  • produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani review/pengecekan detil. Hasil review tersebut menjadi bekal untuk   pembangunan pada increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.

  • model ini cocok jika jumlah anggota tim pengembang/pembangun PL tidak cukup

  • Mampu mengakomodasi perubahan secara fleksibel

  • Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar

  • Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment

  • Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani review/pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.




4.      Kelebihan Penggunaan Incremental Model
Merupakan model dengan manajemen yang sederhana.
  • ·         Bersifat interatif atau perulangan.
  •  
  • ·         mampu mengakomodasi perubahan secara fleksibel.
  •  
  • ·         prioritas tinggi pada pelayanan system adalah yang paling diuji.
  •  
  • ·         Produk yang dihasilkan semakin lama semakin lengkap, hingga versi akhir dari sebuah produk akan dianggap paling lengkap dan sempurna karena mengalami perbaikan yang berkesinambungan.
  •  
  • ·         Model ini cocok jika jumlah anggota tim pengembangan/pembangunan software terbatas
  •  
  • ·         Pelanggan dapat memakai inkremen yang pertama sebagai bentuk prototype dan mendapatkan pengalaman yang dapat menginformasikan persyaratan untuk inkremen system berikutny
  •  
  • ·         Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah dapat ditemukan pada beberapa inkremen, bias saja beberapa inkremen diserahkan dengan sukses kepada pelanggan.



5.      Kekurangan Penggunaan Incremental Model

  • ·         Inkremen harus relative lebih kecil (tidak lebih dari 20.000 baris kode) dan setiap inkremen harus menyediakan sebagian dari fungsional system
  •  
  • ·         Adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang benar
  •  
  • ·         Butuh waktu yang relatif lebih lama untuk menghasilkan produk yang lengkap.


Component Assembly Model



KELOMPOK 6
(Component Assembly Model) 
A. Pengertian CAM
Component Assembly Model (CAM) adalah suatu model Metodologi Penelitian RPL yang merupakan gabungan dari berbagai model lain karena terdapat beberapa kesamaan dari Model RPL PrototypeSpiral Boehm dan RAD.

    Sifat karakteristik dari CAM yaitu yang seperti saya sebutkan tadi Model Spiral Boehm dan sangat erat keterikatannya dengan model RAD (Rapid Application Development), model karena model CAM ini menggunakan peralatan-peralatan dan GUI (Graphic User Interface) untuk membangun software.

    Dengan kata lain pembuatan aplikasinya dibuat dari paket perangkat lunak yang berisi serangkaian komponen yang telah ada sebelumnya. Namun, waktu yang dibutuhkan dapat disesuaikan atau lebih efektif daripada harus mengerjakan program dari awal.

   Seperti yang sudah saya sebutkan tadi CAM ini mirip dengan prototype model karena dalam pengembangannya di haruskan membuat prototype sesuai dengan kebutuhan customer agar lebih pasti perancangannya dan sesuai keinginan, dengan langkah ini artinya dapat menghemat dari segi efesiensi waktu dalam pengerjaanya.

B. Tahapan-tahapan CAM yaitu sebagai berikut :

  1. Tahap identifikasi calon-calon komponen (Kelas Objek)
  2. Tahap melihat komponen-komponen dalam pustaka
  3. Tahap mengekstrak komponen
  4. Tahap membangun komponen
  5. Tahap menyimpan komponen baru pada pustaka
  6. Tahap mengkonstruksi iterasi ke-N dari sistem.
C. Kelebihan CAM adalah tinggal mencaplok atau menggunakan program atau komponen yang sudah ada dan menyusunnya menjadi sebuah program yang lebih kompleks dan berkembang sesuai dengan kebutuhan user/pengguna sehingga dapat mengefisienkan penggunaan waktu dan tenaga.  Selain itu, model ini juga menyediakan kemampuan untuk memvisualisasikan hasil rakitan dengan kesanggupan untuk mengukur, menganalisa, merancang dan merancang ulang program.

D. Kekurangan CAM adalah seringnya program atau komponen-komponen terdahulu tidak kompatibel atau sejalan dengan model perakitan komponen ini sehingga untuk perusahaan berskala kecil akan kesulitan menemukan komponen yang sesuai untuk dirakit.

MODEL SPIRAL

KELOMPOK 5
MODEL SPIRAL
A.    Pengertian model spiral
                Model Spiral (spiral model) adalah salah satu bentuk dari Metode Pengembangan Perangkat Lunak atau yang disebut SDLC (Software Development Life Cycle), yang sangat populer digunakan dalam bidang teknologi informasi. Model Spiral adalah gabungan dari Model Prototyping dan Model Waterfall dengan penekanan yang tinggi pada analisis risiko tiap tahapannyaBentuk ini bersifat iteratif atau berulang dengan mengontrol aspek yang teratur dari sekuensial linier.Fungsi Model Spiral ini adalah untuk melakukan perubahan, penambahan dan pengembangan suatu software dengan deretan pertambahan menjadi lebih baik secara cepat dan tepat berdasarkan keinginan dan kebutuhan penggunanya. 

Model iniditemukan, yaitu pada sekitar tahun 1988 oleh Barry Boehm padaartikelA Spiral Model of Software Development and Enhancement. Spiral model adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping dan digabungkan dengan aspek sistimatis yang dikembangkan dengan model waterfall.Tahap desain umumnya digunakan pada model Waterfall, sedangkan tahap prototyping adalah suatu model dimana software dibuat prototype (incomplete model), “blue-print”-nya, ataucontohnyadanditunjukkanke user / customer untuk mendapatkan feedback-nya. Jika prototype-nya sudah sesuai dengan keinginan user / customer, maka proses SE dilanjutkan dengan membuat produk sesungguhnya dengan menambah dan memperbaiki kekurangan dari prototype tadi.

B.    Sejarah model spiral
     Tahun 1986, model ini dikenalkan pertama kali oleh Barry Boehm pada makalahnya yang berjudul “A Spiral Model of Software Development and Enhancement”. Makalah tersebut menjelaskan tentang sebuah diagram yang dihasilkan dari berbagai publikasi yang mendiskusikan tentang Model Spiral ini. Model ini merupakan model yang sudah lama, tetapi sangat berguna untuk melakukan pembangunan proyek-proyekbesar.

        Pada makalah awal yang dibuatnya, Barry Boehm menganggap bahwa Model Spiral adalah suatu model proses yang berhubungan dengan inkrementasi, Model Waterfall dan Model Prototyping.

          Namun dalam publikasi selanjutnya, Boehm menjelaskan bahwa Model Spiral sebagai model proses generator yang mana pilihan berdasarkan risiko proyek untuk menghasilkan suatu model proses yang tepat untuk proyek tersebut. Dengan demikian, inkrementasi, Model Waterfall dan Model Prototyping adalah kasus khusus dengan pola risiko proyek tertentu dari Model Spiral.

C. Tahap-tahap Spiral Model
Dalam Model Spiral terdapat lima tahap untuk merealisasikan penggunaannya sebagai berikut :

1. Tahap Liason
Tahap ini berhubungan dengan komunikasi antara orang yang akan mengembangkan software (system analyst) dengan pelanggan. Tujuannya adalah agar dapat memuaskan pelanggan dengan memperbaiki dan mengembangkan software sesuai dengan kebutuhan, kepentingan dan keinginannya.

2. Tahap Planning
Tahap perencanaan meliputi estimasi biaya yang digunakan, batas waktu, pengaturan jadwal, identifikasi lingkungan kerja, sumber-sumber infomasi untuk melakukan iterasi. Hasilnya adalah dokumen spesifikasi kebutuhan sistem dan bisnis.

3. Tahap Analisis Risiko
Tahap ini berfungsi untuk mengidentifikasi risiko yang berpotensial untuk terjadi dan menghasilkan suatu solusi alternatif secara teknis dan manajemen saat strategi mitigasi risiko direncanakan dan diselesaikan.

4. Tahap Rekayasa (engineering)
Pada tahap ini, yang dilakukan adalah sebagai berikut :
·      Menguji, coding dan mengembangkan software
·      Menginstal software
·      Membuat prototipe
·      Mendesain dokumen
·      Meringkas suatu pengujian software
·      Membuat laporan atas kekurangan dari software agar segera diperbaiki

5. Tahap Evaluasi
Peran pelanggan sangat diperlukan pada tahap ini. Mereka dapat memberikan masukan dan tanggapan, mengevaluasi produk kerja dan memastikan bahwa produk yang dibutuhkan sesuai dengan semua ketentuan. Jika terdapat perubahan, semua tahapan akan diperbaiki sesuai dengan kepuasan pelanggan. Namun, mengidentifkasi dan memantau risiko yang terjadi juga diperlukan, seperti cost overrun.

D.    Sektor-sektor pada Spiral Model
a.       Mengidentifikasi tujuan, alternatif, dan kendala setiap tahap secara spesifik 2.
b.      Mengevaluasi alternatif, menilai resiko dan pengurangannya, aktifitas ditempatkan untuk mengurangi resiko kunci3.
c.       Pengembangan dan validasi
d.      Proyek ditinjau ulang dan tahap spiral berikutnya direncanakan

E.  Penggunaan Spiral Model
Model Spiral tepat digunakan dalam hal sebagai berikut :
1.  Ketika memiliki sebuah proyek dengan risiko sedang hingga tinggi
2.  Komitmen proyek jangka panjang karena potensi perubahan pada prioritas ekonomi dalam perubahan waktu
3.  Lini produk baru yang harus dirilis secara bertahap untuk mendapatkan feedback pelanggan dengan cukup
4.  Ketika penciptaan prototipe berlaku
5.  Perubahan signifikan yang diharapkan dalam produk selama siklus pengembangan
6.  Persyaratan yang kompleks dan memerlukan suatu evaluasi
F.   kelebihan dan Kekurangan Spiral Model

1. Kelebihan dalam menggunakan Model Spiral, yaitu :
·       Perubahan-perubahan yang terjadi dapat diselesaikan secara sistematis
·       Estimasi biaya menjadi mudah karena pembuatan prototipe telah selesai dalam fragmen yang kecil
·       Manajemen dan analisis risiko yang lebih baik
·       Pembangunan yang cepat dan mudah secara sistematis
·       Manajemen waktu yang lebih baik
·       Mudah dalam melakukan perubahan kebutuhan dan dokumentasi jika perubahan terjadi di tengah-tengah perubahan
·       Produksi software terjadi lebih cepat 

2. Kekurangan dalam menggunakan Model Spiral, yaitu :
·       Tidak cocok ketika digunakan dalam proyek-proyek kecil
·       Tidak terlalu berguna dalam proyek-proyek kecil
·       Sulit dalam mengikuti strategi proyek kecil
·       Kurang efisien dalam penerapan model spiral karena waktu yang digunakan
·       Membutuhkan sumber pengalaman sebagai proses sehingga sangat kompleks
·       Dalam melakukan proyek kecil, estimasi biaya akan sangat tinggi
·       Risiko dalam tahap planning, jika terjadi perbedaan dalam jadwal pengembangan atau dalam anggaran belanja

Senin, 24 September 2018

FOUR GENERATION TECHNIQ / 4GT


KELOMPOK 7
FOUR GENERATION TECHNIQ / 4GT
A.  Pengertian four generation techniq / 4GT
Istilah Fourth Generation Techniques (4GT) mencakup seperangkat peralatan perangkat lunak yang berfungsi sebagai perangkat bantu yang memudahkan seorang pengembang software mengaplikasi beberapa karakteristik software pada tingkat yang tinggi, yang akan menghasilkan source code dan object code secara otomatis sesuai dengan spesifikasi (persyaratan khusus) yang dibuat oleh sang pengembang perangkat lunak.
Cakupan aktivitas 4GT meliputi:
1.      Pengumpulan kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan ditranslasikan ke prototype operasional.
2.      Translasi kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi secara langsung dengan menggunakan bahasa generasi keempat (4GL) jika aplikasi relatif kecil.
3.      Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan digunakan.
4.      Pengujian.
5.      Membuat dokumentasi
B.  Tahapan-tahapan model 4GT antara lain sebagai berikut :
1.      Tahap pengumpulan kebutuhan
Tahap ini merupakan tahap pengumpulan serangkaian kebutuhan. Customer menjelaskan kebutuhan-kebutuhan kemudian  akan diterjemahkan ke dalam prototype. Tetapi jika customer merasa tidak yakin dengan apa yang diperlukan, maka prototype tidak akan dikerjakan oleh 4GT
2.      Tahap Merancang Strategi
tahap ini dibutuhkan untuk proyek besar yakni dengan menterjemahkan kebutuhan menjadi prototipe operasional  agar tidak timbul masalah yang sama jika dibuat dengan model konvensional. Namun, untuk proyek skala kecil tahap ini dapat dihilangkan dengan  langsung melakukan implementasi dengan menggunakan bahasa generasi keempat (4GT).
3.      Tahap Implementasi
untuk skala kecil tahap ini dapat langsung dilakukan ketika kebutuhan telah jelas, dan untuk proyek besar tahapan ini dijalankan setelah dirancang prototipe operasional. Implementasi yang menggunakan 4GT memudahkan pengembang software untuk menjelaskan hasil yang diharapkan yang nantinya akan diterjemahkan ke dalam bentuk kode sumber dan kode objek.
4.      Tahap produksi
Tahap ini merupakan langkah terakhir yakni mengubah implementasi  4GT ke dalam hasil akhir berupa produk.

C.  Kelebihan Four Generation Techniq / 4GT
·         Pengurangan waktu dan peningkatan produktivitas secara besar
·         Karena 4GT menggunakan 4GL yang merupakan bahasa pemrograman yang  khusus dirancang dengan tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat tepat menggunakan 4GT.
·         Tool yang menggunakan metode pengembangan perangkat lunak 4GL bisa meng-generate sistem dari output yang dihasilkan oleh CASE tools.
D.  Kekurangan Four Generation Techniq / 4GT
·         Penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien.
·         Untuk usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan bahasa 4GL.
·         Penggunaan 4GT tanpa perencanaan matang (untuk proyek besar) akan menyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode konvensional.
·         4GL tidak selalu berhasil menghasilkan sistem yang diinginkan

MODEL PENGEMBANGAN PROTOTYPING


KELOMPOK 2
MODEL PENGEMBANGAN PROTOTYPING
A.     Pengertian Prototyping Model
Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan konstruksi aktual dilakukan (Howard, 1997).
1.      Reusable prototypePrototype yang akan ditransformasikan menjadi produk final.
2.      Throwaway prototypePrototype yang akan dibuang begitu selesai menjalankan maksudnya.
3.      Input/output prototypePrototype yang terbatas pada antar muka pengguna (user interface).
4.      Processing prototypePrototype yang meliputi perawatan file dasar dan proses-proses transaksi.
5.      System prototype: Prototype yang berupa model lengkap dari perangkat lunak.

Harris (2003) membagi prototyping dalam enam tahapan, tahapan-tahapan secara ringkas dapat dijelaskan sebagai berikut:

1.    Identifikasi kandidat prototyping. Kandidat dalam kasus ini meliputi user interface (menu, dialog, input dan output), file-file transaksi utama, dan fungsi-fungsi pemrosesan sederhana.
2.    Rancang bangun prototype dengan bantuan software seperti word processorspreadsheetdatabase, pengolah grafik, dan software CASE (Computer-Aided System Engineering).
3.    Uji prototype untuk memastikan prototype dapat dengan mudah dijalankan untuk tujuan demonstrasi.
4.    Siapkan prototype USD (User’s System Diagram) untuk mengidentifikasi bagian-   bagian dari perangkat lunak yang di-prototype-kan.
5.    Evaluasi dengan pengguna untuk mengevaluasi prototype dan melakukan perubahan jika diperlukan.
6.    Transformasikan prototype menjadi perangkat lunak yang beroperasi penuh dengan melakukan penghilangan kode-kode yang tidak dibutuhkan, penambahan program-program yang memang dibutuhkan dan perbaikan dan pengujian perangkat lunak secara berulang.

B.    Sejarah Prototyping
Sejarah prototipe cepat dapat ditelusuri sampai akhir tahun enam puluhan, ketika seorang profesor teknik, Herbert Voelcker, mempertanyakan dirinyasendiri tentang kemungkinan melakukan hal-hal menarik dengan alat komputer dikontroldan otomatis mesin. Alat-alat mesin baru saja mulai muncul di lantai pabrik itu. Voelcker  berusaha mencari jalan di mana alat-alat mesin otomatis dapat diprogram dengan menggunakan output dari program desain komputer.Kemudian 1970: Voelcker mengembangkan alat dasar matematika yang dengan jelas menggambarkan tiga aspek dimensi dan menghasilkan teori-teori awal teori algoritma dan matematika untuk pemodelan solid. Teori-teori ini membentuk dasar  program komputer modern yang digunakan untuk merancang hampir segala hal mekanis,mulai dari mobil mainan terkecil ke gedung pencakar langit tertinggi.
Teori Volecker  berubah metode perancangan pada tahun tujuh puluhan, namun, metode lama untuk merancang masih sangat banyak digunakan. Metode lama terlibat baik alat masinis ataumesin dikendalikan oleh komputer. Para cowok logam dipotong dan bagian yangdibutuhkan tetap sesuai kebutuhan. Namun, pada tahun 1987, Carl Deckard, bentuk peneliti dari University of Texas,datang dengan ide yang revolusioner yang baik.
Dia memelopori manufaktur yang berbasis lapisan, dimana ia memikirkan membangun lapisan model dengan lapisan. Diadicetak model 3D dengan menggunakan sinar laser untuk bedak sekering logam dalam prototipe solid, single layer pada suatu waktu. Deckard mengembangkan ide ini menjadisebuah teknik yang disebut "Selective Laser Sintering".
C.    Tahapan Metode Prototyping
1.      Requirement Gathering
tahapan prototyping adalah menjelaskan bahwasanya user dan analis melakukan pertemuan lalu kemudian melakukan conversation antara keduanya, user mendeskripsikan mengenai spesifikasi kebutuhan dari aktivitas yang user lakukan seperti dalam pekerjaannya atau aktivitas lainnya, kemudian analis harus berusaha memahami apa maksud dari deskripsi user yang diajukannya tersebut. Dan kedua belah pihak yaitu tentunya antara user dan analis (pengembang) berusaha untuk setuju pada tahap ini.
2.      Formal Language Representation
Hasil dari tahap atau phase pertama tersebut dijadikan analis sebagai dasar idea (konsep) pembuatan program atau sistem, kemudian pada tahapan ini juga analis menjadikan spesifikasi yang telah diperoleh menjadi konsep yang mudah di  mengerti oleh analis dan tentunya dalam tahapan ini analis sudah mengetahui apa maksud spesifikasi dari deskirpsi user tersebut.
3.      Quick Design Prototype
Pada tahapan atau phase ini analis akan dilakukan perencanaan dan pemodelan secara cepat berupa rancangan cepat (quick design) dan kemudian akan memulai konstruksi pembuatan prototype.
4.      Optimization and Tuning
Selanjutnya pada tahapan atau phase ini program dibuat berdasarkan prototype yang telah diajukan dan disetujui bersama (Team analis), kemudian pada tahap ini juga sebuag program di uji coba oleh analis dan tentunya user, kemudia user menilai apakah program tersebut dapat di terima atau tidak.
Jika sebuah program tersebut user menolak maka analis harus kembali pada phase atau tahapan sebelumnya untuk memperbaiki kesalahan, kekurangan dan ketidak sesuaian program tersebut dengan spesifikasi user.

5.      Complete Software 
Pada tahapan ini program telah disetujui (berhasil memenuhi spesifikasi yang diajukan) oleh user dan selanjutnya user dapat menggunakan program pesanan-nya dengan sukses, tentunya pada tahapan ini program telah diserahkan kepada user.
D.  Kelebihan Metode Prototyping
1.    Adanya komunikasi yang baik antara pengembang dan pelanggan.
2.    Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
3.    Pelanggan berperan aktif dalam pengembangan sistem.
4.    Lebih menghemat waktu dalam pengembangan sistem.
5.    Penerapan menjadi lebih  mudah karena pemakai mengetahui apa yang diharapkannya.
E.  Kekuarangan Metode Prototyping
1.    Pelanggan yang melihat working version dari model yang dimintanya tidak menyadari, bahwa mungkin saja prototype dibuat terburu-buru dan rancangan tidak tersusun dengan baik.
2.    Pengembang biasanya ingin cepat menyelesaikan proyek sehingga menggunakan algoritma dan bahasa pemrograman sederhana.
3.    Pengembang kadang-kadang membuat implementasi sembarang, karena ingin working version bekerja dengan cepat.