Tahukah kamu ?
Menjadi seorang software engineer tidak hanya menjadi orang yang pintar akan hal algoritma, code, dan desain interface (GUI). Akan tetapi seorang software engineer juga harus mempertimbangkan model pengembangan apa yang cocok diterapkan untuk project pengembangan perangkat lunak yang sedang dijalankan. Dikarenakan, model yang digunakan akan berpengaruh pada kinerja dari tim dan juga dapat menunjang keberhasilan suatu project pembuatan perangkat lunak. Terdapat bermacam-macam model pengembangan perangkat lunak, contohnya adalah Rational Unified Process (RUP), Extreme Programming (XP), Agile Modeling, dan Scrum.
1. Rational Unified Process (RUP)
Rational Unified Process (RUP) merupakan suatu model pengembangan sistem secara objek oriented yang dikembangkan oleh Rational Rose, bagian dari IBM. Secara luas, RUP telah diakui sebagai standar metodologi pengembangan sistem berorientasi objek. Vesri asli dari RUP didefinisikan sangat rumit untuk setiap kegiatan, namun versi terbaru dari RUP yakni metodologinya lebih sederhana. Ciri utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif untuk siklus pengembangan perangkat lunak.
>> RUP tepat digunakan saat kondisi :
a. Pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified Modeling Language).
b. Mempunyai waktu pengembangan yang panjang.
c. Dikembangkan pada perangkat lunak sebagai sarana interaksi antara pengguna dan perangkat keras.
d. Mempunyai tim programmer yang cukup banyak.
e. Pengembangan dan perubahan perangkat lunak berdasarkan kebutuhan user.
>> Keuntungan Pengembangan Perangkat Lunak RUP :
a. Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
b. Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
c. Mendukung proses pengulangan dalam pengembangan software.
d. Memungkinkan adanya penambahan-penambahan pada proses.
e. Memungkinkan untuk secara sistematis mengontrol perubahan-perubahan yang terjadi pada software selama proses pengembangannya.
f. Memungkinkan untuk menjalankan test case dengan menggunakan Rational Test Manager Tool
>> Kekurangan Pengembangan Perangkat Lunak RUP :
a. Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML (Unified Modeling Language).
b. Membutuhkan waktu yang cukup lama dibandingkan XP dan Scrum
2. Extreme Programming (XP)
XP merupakan suatu model yang tergolong dalam pendekatan agile yang diusulkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop software”. Model ini cenderung menggunakan pendekatan Object-Oriented serta tahapan-tahapan yang harus dilalui antara lain: Planning, Design, Coding, dan Testing. 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 merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal.
>> XP tepat digunakan saat kondisi:
a. Keperluan berubah dengan cepat
b. Resiko tinggi dan ada proyek dengan tantangan yang baru
c. Tim programmer sedikit, yaitu 2-10 orang
d. Mampu mengotomatiskan tes
e. Ada campur tangan klien secara langsung
>> Kelemahan XP:
a. Cerita-cerita yang menunjukkan requirements kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
b. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
c. XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
3. Agile Modeling
Agile Modeling merupakan filosofi tentang bagaimana membangun model dengan beberapa diantaranya dilakukan dengan format yang terperinci sedangkan model lain beberapa ada yang dilakukan secara samar dan minimalis. Agile Software Development juga melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis dan businessman, serta antara developer dan managernya. Ciri lain dari Agile Software Development adalah klien menjadi bagian dari tim pembangun software.
>> Kelebihan dari Agile Modeling:
a. Meningkatkan kepuasan kepada klien
b. Pembangunan sistem dibuat lebih cepat
c. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
d. Jika pada saat pembangunan system terjadi kegagalan,kerugian dari segi materi relative kecil.
>> Kelemahan dari Agile Modeling:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
4. Scrum
Scrum bermula ketika anak buah Jeff Sutherland yang bekerja di Easel Corporation membaca tulisan dari Professor Takeuchi Tanaka yang dimuat di Harvard Business Review mengenai manajemen proyek pada tahun 1993. Tulisan tersebut memuat bagaimana Professor Takeuchi Tanaka kagum dengan tim olahraga Rugby yang bekerja bersama menyingkirkan semua hambatan yang ada di depannya. Professor Takeuchi Tanaka lalu membawa konsep ini ke manajemen proyek dan menamakan metode kerja ini Scrum.
Scrum merupakan suatu kerangka kerja yang berupa deskripsi rinci tentang bagaimana segala sesuatu yang harus dilakukan pada proyek. Hal ini dilakukan dikarenakan tim akan tahu bagaimana cara terbaik untuk memecahkan masalah yang disajikan untuk mereka. Ada 3 elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan Scrum team. Scrum Master dapat dianggap sebagai pelatih / guru bagi tim yang mengajarkan cara kerja lebih kolaboratif dan menyenangkan dalam mengembangkan software. Product Owner mewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pengembangan produk yang tepat. Sedangkan Scrum Team merupakan grup pengembang kecil biasanya terdiri dari 5-9 orang. Untuk project yang sangat besar, biasanya pekerjaan akan dibagi dan didelegasikan ke grup-grup kecil. Jika sangat dibutuhkan scrum master juga dapat ikut membantu dalam koordinasi team.
>> Scrum tepat digunakan saat kondisi:
a. Keperluan berubah dengan cepat
b. Tim programmer sedikit, yaitu 5-9 orang
c. Pelanggan tidak terlalu paham dengan apa yang diinginkan
>> Scrum memiliki prinsip yaitu:
a. Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain
b. Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
c. Proses menghasilkan beberapa software increment
d. Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
e. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
f. Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
>> Kelebihan Scrum antara lain:
a. Keperluan berubah dengan cepat
b. Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain
c. Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
d. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
e. Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
>> Kelemahan Scrum antara lain:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
AYO LANJUTKAN minat, potensi, cita-cita dan passion mu di bidang rekayasa perangkat lunak (software engineering) dengan bergabung bersama kami di S1 Rekayasa Perangkat Lunak (S1 RPL) ST3 Telkom Purwokerto. S1 Rekayasa Perangkat Lunak ST3 Telkom berkomitmen untuk mencetak software engineer yang akan memenuhi kebutuhan dunia industri.
Pendaftaran mahasiswa baru dibuka sampai 8 September 2017. Khusus kalian lulusan SMK jurusan RPL mendapatkan FREE 50% Dana Pembangunan.
Untuk pendaftaran silahkan menghubungi Customer Service Center ST3 Telkom di Jl. DI. Panjaitan No. 128 Purwokerto (0281) 641629.
Website: www.st3telkom.ac.id
Atau di: http://pmb.st3telkom.ac.id
Fan Page: ST3 TELKOM
Instagram: pmbst3telkom
Line: st3telkom
WA: 081228319222 (Prima) atau 085101624154 (Ira)