Sunday, 30 September 2018

MODEL ATAU PARADIGMA PERANGKAT LUNAK


Ø  Model Sekuensial Linier atau Waterfall Development Model
Model Sekuensial Linier atau sering disebut Model Pengembangan Air Terjun, merupakan paradigma model pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh tahapan analisis, desain , kode, pengujian, dan pemeliharaan.
·         Karakteristik
Dalam model ini terdapat beberapa sifat-sifat yang menojol dan cenderung menjadi permasalahan pada model waterfall.
1)   Ketika problem muncul, maka proses berhenti karena tidak dapat menuju ke tahapan selanjutnya. Apabila terdapat kemungkinan problem tersebut muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul.
2)   Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya.
·         Berikut Merupakan Tahapan – tahapan Pengembangan  Model Sekuensial Linear / Waterfall Development Model :
o   Rekayasa dan pemodelan sistem/informasi
Langkah pertama dimulai dengan membangun keseluruhan elemen sistem dan memilah bagian-bagian mana yang akan dijadikan bahan pengembangan perangkat lunak, dengan memperhatikan hubungannya dengan Hardware, User, dan Database.

o   Analisis kebutuhan perangkat lunak
Pada proses ini, dilakukan penganalisaan dan pengumpulan kebutuhan sistem yang meliputi Domain informasi, fungsi yang dibutuhkan unjuk kerja/performansi dan antarmuka.  Hasil penganalisaan dan pengumpulan tersebut didokumentasikan dan diperlihatkan kembali kepada pelanggan.
o   Desain
Pada proses Desain, dilakukan penerjemahan syarat kebutuhan sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuatnya proses pengkodean (coding). Proses ini berfokus pada  struktur data, arsitektur perangkat lunak, representasi interface, dan detail algoritma prosedural.
o   Pengkodean
Pengkodean merupakan proses menterjemahkan perancangan desain ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman.
o   Pengujian
Setelah Proses Pengkodean selesai, dilanjutkan dengan proses pengujian pada program perangkat lunak, baik Pengujian logika internal, maupun Pengujian eksternal fungsional untuk memeriksa segala kemungkinan terjadinya kesalahan dan memeriksa apakah hasil dari pengembangan tersebut sesuai dengan hasil yang diinginkan.
o   Pemeliharaan
Proses Pemeliharaan erupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan. Kegiatan yang dilakukan pada proses pemeliharaan antara lain :
·         Corrective Maintenance : yaitu mengoreksi apabila terdapat kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan.
·         Adaptive Maintenance : yaitu dilakukannya penyesuaian/perubahan sesuai dengan lingkungan yang baru, misalnya hardware, periperal, sistem operasi baru, atau sebagai tuntutan atas perkembangan sistem komputer, misalnya penambahan driver, dll.
·         Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.
·         Contoh Penerapan dari Pengembangan Model Sekuensial Linear / Waterfall Development Model
Contoh dari penerapan model pengembangan ini adalah pembuatan program pendaftaran online ke suatu Instansi Pendidikan. Program ini akan sangat membantu dalam proses pendaftaran, karena dapat meng-efektifkan waktu serta pendaftar tidak perlu repot-repot langsung mendatangi Instansi Pendidikan. Teknisnya adalah sebagai berikut :
  • Sistem program untuk pendaftaran dibuat menggunakan bahasa pemrograman PHP, dengan Sistem Database yang dibuat menggunakan MySQL, dan diterapkan (diaplikasikan) pada PC (personal computer) dengan sistem operasi berbasis Microsoft Windows, Linux, dan sebagainya.
  • Setelah program selesai dibuat dan kemudian dipergunakan oleh user, programmer akan memelihara serta menambah atau menyesuaikan program dengan kebutuhan serta kondisi user.

·         Kelebihan Model Sekuensial Linear / Waterfall Development Model :
§  Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur.
§  Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
§  Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
§  Documen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.

·         Kekurangan Model Sekuensial Linear / Waterfall Development Model :
§  Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru.
§  Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
§  Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
§  Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap, dan proses pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar selesai.
§  Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang membuat produk.
§  Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.

Ø  Model Prototype
Metode Prototype merupakan suatu paradigma baru dalam metode pengembangan perangkat lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia pengembangan perangkat lunak, tetapi juga merevolusi metode pengembangan perangkat lunak yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC atau waterfall development model.
Dalam Model Prototype, prototype dari perangkat lunak yang dihasilkan kemudian dipresentasikan kepada pelanggan, dan pelanggan tersebut diberikan kesempatan untuk memberikan masukan sehingga perangkat lunak yang dihasilkan nantinya betul-betul sesuai dengan keinginan dan kebutuhan pelanggan. Perubahan dan presentasi prototype dapat dilakukan berkali-kali sampai dicapai kesepakatan bentuk dari perangkat lunak yang akan dikembangkan.
·      Teknik – teknik Prototyping Meliputi :
§  Perancangan Model
§  Perancangan Dialog
§  Simulasi

·      Karakteristik dalam proses pengembangan pada metode prototype, yaitu :
§  Pemilihan fungsi
§  Penyusunan Sistem Informasi
§  Evaluasi
§  Penggunaan Selanjutnya
Metode ini menyajikan gambaran yang lengkap dari suatu sistem perangkat lunak, terdiri atas model kertas, model kerja dan program. Pihak pengembang akan melakukan identifikasi kebutuhan pemakai, menganalisa sistem dan melakukan studi kelayakan serta studi terhadap kebutuhan pemakai, meliputi model interface, teknik prosedural dan teknologi yang akan dimanfaatkan.
·      Berikut adalah Tahapan – tahapan Proses Pengembangan dalam Model Prototype, yaitu :
o   Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
o   Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output).
o   Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan, apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan atau belum. Jika sudah sesuai, maka langkah selanjutnya akan diambil. Namun jika tidak, prototyping direvisi dengan mengulang langkah-langkah sebelumnya.
o   Mengkodekan system
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
o   Menguji system
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, kemudian dilakukan proses Pengujian. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur, dll.

o   Evaluasi Sistem
Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, maka proses akan dilanjutkan ke tahap selanjutnya, namun jika perangkat lunak yang sudah jadi tidak/belum sesuai dengan apa yang diharapkan, maka tahapan sebelumnya akan diulang.
o   Menggunakan system
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
Model Prototyping ini sangat sesuai diterapkan untuk kondisi yang beresiko tinggi di mana masalah-masalah tidak terstruktur dengan baik, terdapat fluktuasi kebutuhan pemakai yang berubah dari waktu ke waktu atau yang tidak terduga, bila interaksi dengan pemakai menjadi syarat mutlak dan waktu yang tersedia sangat terbatas sehingga butuh penyelesaian yang segera. Model ini juga dapat berjalan dengan maksimal pada situasi di mana sistem yang diharapkan adalah yang inovatif dan mutakhir sementara tahap penggunaan sistemnya relatif singkat.
·      Berikut merupakan Jenis – jenis dari Prototyping :
o   Feasibility prototyping
Digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk system informasi yang akan disusun.
o   Requirement prototyping
Digunakan untuk mengetahui kebutuhan aktivitas bisnis user.
o   Desain Prototyping
Digunakan untuk mendorong perancangan sistem informasi yang akan digunakan.
o   Implementation prototyping
Merupakan lanjutan dari rancangan prototype, prototype ini langsung disusun sebagai suatu sistem informasi yang akan digunakan.
·       Contoh Penerapan Metode Prototype.
Sebuah rumah sakit ingin membuat aplikasi sistem database untuk pendataan pasiennya. Seorang atau sekelompok programmer akan melakukan identifikasi mengenai apa saja yang dibutuhkan oleh pelanggan, dan bagaimana model kerja program tersebut. Kemudian dilakukan rancangan program yang diujikan kepada pelanggan. Hasil/penilaian dari pelanggan dievaluasi, dan analisis kebutuhan pemakai kembali di lakukan.
·       Kelebihan Model Prototype :
§  Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan pelanggan.
§  Penentuan kebutuhan lebih mudah diwujudkan.
§  Mempersingkat waktu pengembangan produk perangkat lunak.
§  Adanya komunikasi yang baik antara pengembang dan pelanggan.
§  Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
§  Lebih menghemat waktu dalam pengembangan sistem.
§  Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.

·       Kekurangan Model Prototype :
§  Proses analisis dan perancangan terlalu singkat.
§  Biasanya kurang fleksibel dalam mengahadapi perubahan.
§  Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
§  Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.

Ø Model Rapid Application Development (RAD)
Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek (kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen.
·      Berikut adalah Tahapan – tahapan Proses Pengembangan dalam Model Rapid
     Application Development (RAD), yaitu :
o   Bussiness Modeling
Fase ini untuk mencari aliran informasi yang dapat menjawab pertanyaan berikut:
·         Informasi apa yang menegndalikan proses bisnis?
·         Informasi apa yang dimunculkan?
·         Di mana informasi digunakan ?
·         Siapa yang memprosenya ?

o   Data Modeling
Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness modeling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik (atribut) masing-masing objek diidentifikasi dan hubungan antar objek-objek tersebut didefinisikan.
o    Proses Modeling
Aliran informasi yang didefinisikan di dalam fase data modeling ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.
o    Aplication Generation
Selain menggunakan bahasa pemrograman generasi ketiga, RAD juga memakai komponen program yang telah ada atau menciptakan komponen yang bisa dipakai lagi. Ala-alat bantu bisa dipakai untuk memfasilitasi konstruksi perangkat lunak.
o    Testing dan Turnover
Karena proses RAD menekankan pada pemakaian kembali, banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus diuji dan semua interface harus dilatih secara penuh.
·       Kelebihan Model RAD :
·       Lebih efektif dari Pengembangan Model waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
·       Cocok untuk proyek yang memerlukan waktu yang singkat.
·       Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan efisien.

·         Kekurangan Model RAD :
·       Model RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.
·       Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.
·       RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
·       Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
·       Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan pelanggan.

Ø Iterative Development

      Merupakan model pengembangan sistem yang bersifat dinamis dalam artian setiap tahapan proses pengembangan sistem dapat diulang jika terdapat kekurangan atau kesalahan. Setiap tahapan pengembangan system dapat dikerjakan berupa ringkasan dan tidak lengkap, namun pada akhir pengembangan akan didapatkan sistem yang lengkap pada pengembangan system.
     
Iterative Development berarti menciptakan versi yang lebih fungsional dari sebuah system dalam siklus pembangunan pendek. Setiap versi ditinjau dengan klien untuk menghasilkan persyaratan untuk membuat versi berikutnya. Proses ini diulang sampai semua fungsionalitas telah dikembangkan. Panjang ideal iterasi adalah antara satu hari (yang lebih dekat dengan Metodologi Agile) dan tiga minggu. Setiap siklus pengembangan memberikan pengguna kesempatan untuk memberikan umpan balik,memperbaiki persyaratan, dan kemajuan melihat (dalam pertemuan sesi fokus grup). Hal ini akhirnya pembangunan berulang yang memecahkan masalah yang melekat dalam metodologi fleksibel dibuat pada 1970an.
·      Spesifikasi Iterative Model
Seperti model SDLC lainya, Iterative model memiliki spesifikasi khusus di dalan industri software. Model ini paling sering digunakan dalam kondisi seperti:

§  Requirement sistem dan design harus jelas dan mudah di pahami.
§  Persyaratan Utama harus didefinisikan, namun nantinya akan ada request baru untuk penambahan fungsi pada saat sistem sedang berjalan.
§  Teknologi yang sedang digunakan dalam pengembangan software bisa diganti apabila ada teknologi baru yang lebih bagus.
§  Ada beberapa fitur berisiko tinggi dan tujuan yang mungkin berubah di masa depan.

·      Keuntungan dari Iterative model :
§ Beberapa fungsi dapat di kembangkan dengan cepat di awal pembuatan versi baru.
§ hasil yang di peroleh secara berkala
§ Kemajuan sebuah sistem dapat di ukur
§ Development software mudah di rencanakan
§ Biaya yang dikeluarkan kecil apabila ingin merubah requirement
§ Testing dan debugging selama proses iterasi lebih mudah.
§ Analisis resiko yang lebih baik
§ Mendukung perubahan requirement
§ Waktu operasional yang lebih singkat
§ Cocok untuk project besar

·      Kelemahan dari Iterative model :
§  Membutuhkan resource yang cukup banyak
§  Meski biaya perubahan rendah, tetapi sangat tidak cocok untuk mengubah persayaratan
§  Memerlukan Perhatian manajemen
§  Permasalahan sistem arsitektur dan desain mungkin akan timbul, karena tidak semua persyaratan di tentukan di awal pengambangan sistem.
§  tidak cocok untuk project kecil
§  Kompleksitas manajemen
§  Membutuhkan tenaga ahli untuk analisis resiko yang timbul

Ø Model Spiral / Model Boehm
Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping dengan pengulangannya dan model waterfall dengan pengendalian dan sistematikanya.  Model ini dikenal dengan sebutan Spiral Boehm. Pengembang dalam model ini memadupadankan beberapa model umum tersebut untuk menghasilkan produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses pengerjaan proyek.

·      Tahap-tahap model ini dapat dijelaskan secara ringkas sebagai berikut :
·       Tahap Liason
pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai.

·       Tahap Planning (perencanaan)
pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek.

·       Tahap Analisis Resiko
mendefinisikan resiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen.

·       Tahap Rekayasa (engineering)
pembuatan prototipe.

·       Tahap Konstruksi dan Pelepasan (release)
pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan proyek.

·       Tahap Evaluasi
Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi.

·       Kelebihan model spiral
§  Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak
komputer.
§  Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
§  Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap
resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses .
§  Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
§  Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya
 ke dalam kerangka kerja iteratif .
§  Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi
resiko sebelum menjadi permaslahan yang serius.

·       Kekurangan model spiral
§  Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
§  Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
§  Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolut


Ø METODOLOGI PENGEMBANGAN SISTEM “SCRUM METHODOLOGY”


·      PENGERTIAN METODOLOGI SCRUM
       Scrum adalah suatu metodologi yang mengatur (manage) proses pembuatan software. Scrum merupakan suatu kerangka kerja. Jadi, bukannya menyediakan deskripsi rinci tentang bagaimana segala sesuatu yang harus dilakukan pada proyek seperti diserahkan kepada tim pengembangan perangkat lunak pada umumnya. Hal ini dilakukan supaya tim akan tahu bagaimana cara terbaik untuk memecahkan masalah yang mereka disajikan. Ada 3 elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan the Scrum team. Scrum Master dapat dianggap sebagai pelatih bagi tim, membantu anggota tim menggunakan kerangka Scrum untuk tampil di tingkat tertinggi. Product Owner mewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pegembangan produk yang tepat. Sedangkan The Scrum Team merupakan grup pengembang kecil biasanya terdiri dari 5-9 orang. Untuk projek yang sangat besar, pekerjaan biasanya dibagi dan didelegasikan ke grup-grup kecil. Jika sangat dibutuhkan the scrum master juga dapat ikut membantu dalam koordinasi team.
Selain itu Scrum juga menarik karena scrum lebih condong pada cara me-manage proyek secara praktikal (practical process model). Lebih menuntun tim untuk melakukan hal-hal yang perlu dan menyarankan hal-hal yang tidak perlu dalam menginspeksi proses dan melakukan adaptasi terus meneus untuk menyetir arah dari proses. Tidak seperti metodologi manajemen proyek lain yang cenderung deskriptif dan heavyweight. Scrum juga dikategorikan pada agile software development methodology.

·      PRINSIP METODOLOGI SCRUM
§  Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lainProses dapat beradaptasi terhadap perubahan teknis dan bisnis
§  Proses menghasilkan beberapa software increment
§  Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
§  Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
§  Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan

·      Kelebihan Metodologi Scrum antara lain:
§  Keperluan berubah dengan cepat
§  Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain
§  Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
§  Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
§  Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
§  agile scrum membantu perusahaan dalam menghemat waktu dan uang.
§  metode scrum membolehkan perusahaan dimana persyaratan bisnis sulit untuk diukur menjadi mudah dikembangkan.
§  pergerakan pengembangan cutting edge dapat dengan cepat dikodekan dan diuji menggunakan metode ini. bagaikan kesalahan yang mudah untuk diperbaiki.
§  scrum merupakan sebuah metode yang mudah dikontrol yang mana peningkatan pekerjaan dapat terjadi setiap periode waktu yang ditentukan
§  seperti metodologi agile lainnya, scrum juga merupakan metode iteratif yang membutuhkan feedback secara kontinu dari user.
§  karena short sprint dan constant feedback, scrum dapat dengan mudah mengatasi setiap perubahan
§  daily scrum meeting memungkinan untuk mengukur produktfitas individu. ini mengarah pada peningkatan produktifitas dari setiap anggota tim.
§  setiap isu diidentifikasi dengan baik pada setiap pertemuan harian dan oleh karena itu dapat diselesaikan dengan cepat.
§  mudah untuk mengirim produk berkualitas sesuai waktunya.
§  agile scrum dapat bekerja dengan berbagai teknologi dan bahasa pemrograman namun secara khusus berguna untuk peningkatan web 2.0 maupun media proyek baru.
§  biaya overhead dari proses dan manajemen sangat minim sehingga mengarah ke hasil lebih cepat dan lebih murah.

·      Kekurangan Metodologi Scrum antara lain :
     Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
§  Agile Scrum adalah salah satu penyebab utama scope creep karena kecuali ada tanggal akhir tertentu, stakeholder proyek manajemen akan tergoda untuk terus menuntut fungsi baru disampaikan.
§  Jika tugas tidak didefinisikan dengan baik, perkirakan biaya proyek dan waktu tidak akan akurat. Dalam kasus seperti itu, tugas dapat tersebar di beberapa sprint.
§  jika anggota tim tidak berkomitmen, maka proyek tidak akan selesai atau bahkan gagal
§  proyek yang kecil dapat bergerak dengan sangat baik karena hanya diselesaikan oleh tim yang kecil 
§  metode ini hanya membutuhkan anggota tim yang berpengalaman, jika tim berisi orang - orang yang masih pemula maka proyek tidak dapat selesai sesuai waktunya
§  scrum dapat bekerja dengan baik jika scrum master mempercayai tim yang mereka kelola, jika scrum master terlalu mengontrol secara ketat setiap anggota tim ini dapat menyebabkan tim menjadi stress yang mengakibatkan demoralisasi dan kegagalan dari proyek tersebut.
§  jika setiap anggota tim meninggalkan tim selama pengembangan proyek dapat menyebabkan efek yang kurang baik bagi perkembangan proyek tersebut
§  project quality management sangat sulit untuk diimplementasikan dan diukur kecuali team dapat melakukan pengujian regresi setelah beberapa sprint.


No comments:

Post a Comment